@deephaven/grid 1.4.1-beta.2 → 1.4.1-react19.43

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 (81) hide show
  1. package/dist/CellInputField.d.ts +0 -27
  2. package/dist/CellInputField.d.ts.map +1 -1
  3. package/dist/CellInputField.js +7 -31
  4. package/dist/CellInputField.js.map +1 -1
  5. package/dist/CellRenderer.js.map +1 -1
  6. package/dist/ColumnHeaderGroup.js.map +1 -1
  7. package/dist/DataBarCellRenderer.js +3 -5
  8. package/dist/DataBarCellRenderer.js.map +1 -1
  9. package/dist/DataBarGridModel.js.map +1 -1
  10. package/dist/DeletableGridModel.js.map +1 -1
  11. package/dist/EditableGridModel.js.map +1 -1
  12. package/dist/EventHandlerResult.js.map +1 -1
  13. package/dist/ExpandableGridModel.js.map +1 -1
  14. package/dist/Grid.d.ts +2 -0
  15. package/dist/Grid.d.ts.map +1 -1
  16. package/dist/Grid.js +28 -27
  17. package/dist/Grid.js.map +1 -1
  18. package/dist/GridAxisRange.js.map +1 -1
  19. package/dist/GridColorUtils.js.map +1 -1
  20. package/dist/GridMetricCalculator.js +20 -21
  21. package/dist/GridMetricCalculator.js.map +1 -1
  22. package/dist/GridMetrics.js.map +1 -1
  23. package/dist/GridModel.js.map +1 -1
  24. package/dist/GridMouseHandler.js +1 -3
  25. package/dist/GridMouseHandler.js.map +1 -1
  26. package/dist/GridRange.js +8 -9
  27. package/dist/GridRange.js.map +1 -1
  28. package/dist/GridRenderer.js +11 -12
  29. package/dist/GridRenderer.js.map +1 -1
  30. package/dist/GridRendererTypes.js.map +1 -1
  31. package/dist/GridTestUtils.js.map +1 -1
  32. package/dist/GridTheme.js.map +1 -1
  33. package/dist/GridUtils.d.ts +1 -2
  34. package/dist/GridUtils.d.ts.map +1 -1
  35. package/dist/GridUtils.js +2 -3
  36. package/dist/GridUtils.js.map +1 -1
  37. package/dist/KeyHandler.js +1 -3
  38. package/dist/KeyHandler.js.map +1 -1
  39. package/dist/MockDataBarGridModel.js +1 -2
  40. package/dist/MockDataBarGridModel.js.map +1 -1
  41. package/dist/MockGridData.js.map +1 -1
  42. package/dist/MockGridModel.js.map +1 -1
  43. package/dist/MockTreeGridModel.js +6 -8
  44. package/dist/MockTreeGridModel.js.map +1 -1
  45. package/dist/StaticDataGridModel.js.map +1 -1
  46. package/dist/TextCellRenderer.js +3 -5
  47. package/dist/TextCellRenderer.js.map +1 -1
  48. package/dist/ThemeContext.js.map +1 -1
  49. package/dist/TokenBoxCellRenderer.js.map +1 -1
  50. package/dist/ViewportDataGridModel.js +2 -2
  51. package/dist/ViewportDataGridModel.js.map +1 -1
  52. package/dist/errors/AssertionError.js.map +1 -1
  53. package/dist/errors/PasteError.js.map +1 -1
  54. package/dist/errors/assertIsDefined.js.map +1 -1
  55. package/dist/errors/index.js.map +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  58. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  59. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  60. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  61. package/dist/key-handlers/index.js.map +1 -1
  62. package/dist/memoizeClear.js.map +1 -1
  63. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  64. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  65. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  66. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +1 -3
  67. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  68. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  69. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  70. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  71. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  72. package/dist/mouse-handlers/GridSelectionMouseHandler.js +1 -3
  73. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  74. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +5 -5
  75. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  76. package/dist/mouse-handlers/GridTokenMouseHandler.js +2 -1
  77. package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -1
  78. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +1 -3
  79. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  80. package/dist/mouse-handlers/index.js.map +1 -1
  81. package/package.json +4 -5
package/dist/Grid.js CHANGED
@@ -25,8 +25,7 @@ import { isExpandableGridModel } from "./ExpandableGridModel.js";
25
25
  import { assertIsEditableGridModel, isEditableGridModel } from "./EditableGridModel.js";
26
26
  import { assertIsDefined } from "./errors/index.js";
27
27
  import ThemeContext from "./ThemeContext.js";
28
- import { jsx as _jsx } from "react/jsx-runtime";
29
- import { jsxs as _jsxs } from "react/jsx-runtime";
28
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
29
  /**
31
30
  * High performance, extendible, themeable grid component.
32
31
  * Architectured to be fast and handle billions of rows/columns by default.
@@ -42,8 +41,6 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
42
41
  * Can also add onClick and onContextMenu handlers to add custom functionality and menus.
43
42
  */
44
43
  class Grid extends PureComponent {
45
- // use same constant as chrome source for windows
46
- // https://github.com/chromium/chromium/blob/973af9d461b6b5dc60208c8d3d66adc27e53da78/ui/events/blink/web_input_event_builders_win.cc#L285
47
44
  /**
48
45
  * On some devices there may be different scaling required for high DPI. Get the scale required for the canvas.
49
46
  * @param context The canvas context
@@ -72,14 +69,8 @@ class Grid extends PureComponent {
72
69
  }
73
70
 
74
71
  // Need to disable react/sort-comp so I can put the fields here
75
- /* eslint-disable react/sort-comp */ // The wrapper element for the canvas, used for sizing
76
- // Listen for resizing of the element and update the canvas appropriately
77
- // We draw the canvas on the next animation frame, keep track of the next one
78
- // Keep track of previous metrics and new metrics for comparison
79
- // Track the cursor that is currently added to the document
80
- // Add to document so that when dragging the cursor stays, even if mouse leaves the canvas
81
- // Note: on document, not body so that cursor styling can be combined with
82
- // blocked pointer events that would otherwise prevent cursor styling from showing
72
+ /* eslint-disable react/sort-comp */
73
+
83
74
  /* eslint-enable react/sort-comp */
84
75
 
85
76
  constructor(props) {
@@ -88,12 +79,20 @@ class Grid extends PureComponent {
88
79
  _defineProperty(this, "metricCalculator", void 0);
89
80
  _defineProperty(this, "canvas", void 0);
90
81
  _defineProperty(this, "canvasContext", void 0);
82
+ // The wrapper element for the canvas, used for sizing
91
83
  _defineProperty(this, "canvasWrapper", void 0);
84
+ // Listen for resizing of the element and update the canvas appropriately
92
85
  _defineProperty(this, "resizeObserver", void 0);
86
+ // We draw the canvas on the next animation frame, keep track of the next one
93
87
  _defineProperty(this, "animationFrame", void 0);
88
+ // Keep track of previous metrics and new metrics for comparison
94
89
  _defineProperty(this, "prevMetrics", void 0);
95
90
  _defineProperty(this, "metrics", void 0);
96
91
  _defineProperty(this, "renderState", void 0);
92
+ // Track the cursor that is currently added to the document
93
+ // Add to document so that when dragging the cursor stays, even if mouse leaves the canvas
94
+ // Note: on document, not body so that cursor styling can be combined with
95
+ // blocked pointer events that would otherwise prevent cursor styling from showing
97
96
  _defineProperty(this, "documentCursor", void 0);
98
97
  _defineProperty(this, "dragTimer", void 0);
99
98
  _defineProperty(this, "keyHandlers", void 0);
@@ -202,7 +201,7 @@ class Grid extends PureComponent {
202
201
  // Need to explicitly add wheel event to canvas so we can preventDefault/avoid passive listener issue
203
202
  // Otherwise React attaches listener at doc level and you can't prevent default
204
203
  // https://github.com/facebook/react/issues/14856
205
- (_this$canvas = this.canvas) === null || _this$canvas === void 0 ? void 0 : _this$canvas.addEventListener('wheel', this.handleWheel, {
204
+ (_this$canvas = this.canvas) === null || _this$canvas === void 0 || _this$canvas.addEventListener('wheel', this.handleWheel, {
206
205
  passive: false
207
206
  });
208
207
  if (this.canvasWrapper.current != null) {
@@ -303,7 +302,7 @@ class Grid extends PureComponent {
303
302
  if (this.animationFrame != null) {
304
303
  cancelAnimationFrame(this.animationFrame);
305
304
  }
306
- (_this$canvas2 = this.canvas) === null || _this$canvas2 === void 0 ? void 0 : _this$canvas2.removeEventListener('wheel', this.handleWheel);
305
+ (_this$canvas2 = this.canvas) === null || _this$canvas2 === void 0 || _this$canvas2.removeEventListener('wheel', this.handleWheel);
307
306
  window.removeEventListener('mousemove', this.handleMouseDrag, true);
308
307
  window.removeEventListener('mouseup', this.handleMouseUp, true);
309
308
  this.resizeObserver.disconnect();
@@ -387,8 +386,8 @@ class Grid extends PureComponent {
387
386
  * @returns The model index
388
387
  */
389
388
  getModelColumn(columnIndex) {
390
- var _this$metrics, _this$metrics$modelCo;
391
- var modelIndex = (_this$metrics = this.metrics) === null || _this$metrics === void 0 ? void 0 : (_this$metrics$modelCo = _this$metrics.modelColumns) === null || _this$metrics$modelCo === void 0 ? void 0 : _this$metrics$modelCo.get(columnIndex);
389
+ var _this$metrics;
390
+ var modelIndex = (_this$metrics = this.metrics) === null || _this$metrics === void 0 || (_this$metrics = _this$metrics.modelColumns) === null || _this$metrics === void 0 ? void 0 : _this$metrics.get(columnIndex);
392
391
  if (modelIndex === undefined) {
393
392
  throw new Error("Unable to get ModelIndex for column ".concat(columnIndex));
394
393
  }
@@ -401,8 +400,8 @@ class Grid extends PureComponent {
401
400
  * @returns The model index
402
401
  */
403
402
  getModelRow(rowIndex) {
404
- var _this$metrics2, _this$metrics2$modelR;
405
- var modelIndex = (_this$metrics2 = this.metrics) === null || _this$metrics2 === void 0 ? void 0 : (_this$metrics2$modelR = _this$metrics2.modelRows) === null || _this$metrics2$modelR === void 0 ? void 0 : _this$metrics2$modelR.get(rowIndex);
403
+ var _this$metrics2;
404
+ var modelIndex = (_this$metrics2 = this.metrics) === null || _this$metrics2 === void 0 || (_this$metrics2 = _this$metrics2.modelRows) === null || _this$metrics2 === void 0 ? void 0 : _this$metrics2.get(rowIndex);
406
405
  if (modelIndex === undefined) {
407
406
  throw new Error("Unable to get ModelIndex for row ".concat(rowIndex));
408
407
  }
@@ -859,8 +858,8 @@ class Grid extends PureComponent {
859
858
  // If it's the exact same single selection, then deselect.
860
859
  // For if we click on one cell multiple times.
861
860
  return {
862
- selectedRanges: [],
863
- lastSelectedRanges: [],
861
+ selectedRanges: EMPTY_ARRAY,
862
+ lastSelectedRanges: EMPTY_ARRAY,
864
863
  cursorColumn: null,
865
864
  cursorRow: null
866
865
  };
@@ -1259,22 +1258,22 @@ class Grid extends PureComponent {
1259
1258
  columnCount,
1260
1259
  rowCount
1261
1260
  } = model;
1262
- var _ranges = selectedRanges;
1261
+ var ranges = selectedRanges;
1263
1262
  // If each cell is a single selection, we need to update the selection to map to the newly pasted data
1264
1263
  // Check for
1265
- if (_ranges.every(range => {
1264
+ if (ranges.every(range => {
1266
1265
  var _range$startColumn, _range$startRow;
1267
1266
  return GridRange.cellCount([range]) === 1 && ((_range$startColumn = range.startColumn) !== null && _range$startColumn !== void 0 ? _range$startColumn : 0) + tableWidth <= columnCount && ((_range$startRow = range.startRow) !== null && _range$startRow !== void 0 ? _range$startRow : 0) + tableHeight <= rowCount;
1268
1267
  })) {
1269
1268
  // Remap the selected ranges
1270
- _ranges = _ranges.map(range => {
1269
+ ranges = ranges.map(range => {
1271
1270
  var _range$startColumn2, _range$startRow2;
1272
1271
  return new GridRange(range.startColumn, range.startRow, ((_range$startColumn2 = range.startColumn) !== null && _range$startColumn2 !== void 0 ? _range$startColumn2 : 0) + tableWidth - 1, ((_range$startRow2 = range.startRow) !== null && _range$startRow2 !== void 0 ? _range$startRow2 : 0) + tableHeight - 1);
1273
1272
  });
1274
- _this.setSelectedRanges(_ranges);
1273
+ _this.setSelectedRanges(ranges);
1275
1274
  }
1276
1275
  var edits = [];
1277
- _ranges.forEach(range => {
1276
+ ranges.forEach(range => {
1278
1277
  var _range$startColumn3;
1279
1278
  if (((_range$startColumn3 = range.startColumn) !== null && _range$startColumn3 !== void 0 ? _range$startColumn3 : 0) + tableWidth > columnCount) {
1280
1279
  throw new PasteError('Pasted content would overflow columns.');
@@ -1417,7 +1416,7 @@ class Grid extends PureComponent {
1417
1416
  */
1418
1417
  focus() {
1419
1418
  var _this$canvas3;
1420
- (_this$canvas3 = this.canvas) === null || _this$canvas3 === void 0 ? void 0 : _this$canvas3.focus();
1419
+ (_this$canvas3 = this.canvas) === null || _this$canvas3 === void 0 || _this$canvas3.focus();
1421
1420
  }
1422
1421
 
1423
1422
  /**
@@ -1445,7 +1444,7 @@ class Grid extends PureComponent {
1445
1444
  break;
1446
1445
  }
1447
1446
  }
1448
- (_this$canvas4 = this.canvas) === null || _this$canvas4 === void 0 ? void 0 : _this$canvas4.focus();
1447
+ (_this$canvas4 = this.canvas) === null || _this$canvas4 === void 0 || _this$canvas4.focus();
1449
1448
  }
1450
1449
 
1451
1450
  /**
@@ -2058,6 +2057,8 @@ _defineProperty(Grid, "defaultProps", {
2058
2057
  autoSelectRow: false
2059
2058
  }
2060
2059
  });
2060
+ // use same constant as chrome source for windows
2061
+ // https://github.com/chromium/chromium/blob/973af9d461b6b5dc60208c8d3d66adc27e53da78/ui/events/blink/web_input_event_builders_win.cc#L285
2061
2062
  _defineProperty(Grid, "pixelsPerLine", 100 / 3);
2062
2063
  _defineProperty(Grid, "dragTimeout", 1000);
2063
2064
  _defineProperty(Grid, "getTheme", memoize((contextTheme, userTheme) => _objectSpread(_objectSpread(_objectSpread({}, GridTheme), contextTheme), userTheme)));