@deephaven/grid 0.22.2-beta.1 → 0.22.2-beta.6

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.
@@ -1,7 +1,8 @@
1
+ import { EventHandlerResult } from '../EventHandlerResult';
1
2
  import Grid from '../Grid';
2
3
  import KeyHandler, { GridKeyboardEvent } from '../KeyHandler';
3
4
  declare class SelectionKeyHandler extends KeyHandler {
4
- onDown(event: GridKeyboardEvent, grid: Grid): boolean;
5
+ onDown(event: GridKeyboardEvent, grid: Grid): EventHandlerResult;
5
6
  handleArrowMove(deltaColumn: number, deltaRow: number, event: GridKeyboardEvent, grid: Grid): boolean;
6
7
  handlePageUp(e: GridKeyboardEvent, grid: Grid): boolean;
7
8
  handlePageDown(e: GridKeyboardEvent, grid: Grid): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionKeyHandler.d.ts","sourceRoot":"","sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,cAAM,mBAAoB,SAAQ,UAAU;IAC1C,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAqHrD,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,GACT,OAAO;IA2EV,YAAY,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IA2CvD,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CA8C1D;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"SelectionKeyHandler.d.ts","sourceRoot":"","sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,cAAM,mBAAoB,SAAQ,UAAU;IAC1C,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAuHhE,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,GACT,OAAO;IA2EV,YAAY,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IA2CvD,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CA8C1D;AAED,eAAe,mBAAmB,CAAC"}
@@ -107,8 +107,13 @@ class SelectionKeyHandler extends KeyHandler {
107
107
  }
108
108
 
109
109
  case 'Escape':
110
- grid.clearSelectedRanges();
111
- return true;
110
+ grid.clearSelectedRanges(); // Event consumed, but propagation not stopped
111
+ // so the shortcut could be handled by the global handler
112
+
113
+ return {
114
+ preventDefault: false,
115
+ stopPropagation: false
116
+ };
112
117
 
113
118
  case 'Enter':
114
119
  if (grid.state.selectedRanges.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionKeyHandler.js","names":["clamp","GridRange","GridUtils","KeyHandler","SelectionKeyHandler","onDown","event","grid","key","isModifierKeyDown","selectAll","handleArrowMove","handlePageUp","handlePageDown","shiftKey","clearSelectedRanges","moveCursorToPosition","state","cursorRow","model","props","columnCount","cursorColumn","rowCount","selectedRanges","length","moveCursorInDirection","SELECTION_DIRECTION","UP","DOWN","LEFT","RIGHT","deltaColumn","deltaRow","isShiftKey","isModifierKey","trimSelectedRanges","selectionEndColumn","selectionEndRow","column","row","maximizePreviousRange","moveToColumn","moveToRow","metrics","Error","theme","autoSelectRow","autoSelectColumn","lastLeft","left","setViewState","lastTop","top","moveCursor","e","metricState","getMetricState","metricCalculator","bottomVisible","topVisible","hasHorizontalBar","getMetrics","selectRangeEndPosition","Math","max","viewportPosition","lastRowIndex","min"],"sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport clamp from 'lodash.clamp';\nimport Grid from '../Grid';\nimport GridRange from '../GridRange';\nimport GridUtils from '../GridUtils';\nimport KeyHandler, { GridKeyboardEvent } from '../KeyHandler';\n\nclass SelectionKeyHandler extends KeyHandler {\n onDown(event: GridKeyboardEvent, grid: Grid): boolean {\n switch (event.key) {\n case 'a':\n if (GridUtils.isModifierKeyDown(event)) {\n grid.selectAll();\n return true;\n }\n break;\n case 'ArrowUp':\n return this.handleArrowMove(0, -1, event, grid);\n case 'ArrowDown':\n return this.handleArrowMove(0, 1, event, grid);\n case 'ArrowRight':\n return this.handleArrowMove(1, 0, event, grid);\n case 'ArrowLeft':\n return this.handleArrowMove(-1, 0, event, grid);\n /**\n * h/j/k/l keys are grouped together for quick navigation by power users.\n * Bender added these as shortcuts in the original commit of keyboard shortcuts.\n * We have no idea why, or what might have inspired them (not excel, not swing, vim?).\n * Maybe lack of page up keys on a laptop at the time?\n */\n case 'k':\n case 'K':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageUp(event, grid);\n case 'j':\n case 'J':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageDown(event, grid);\n case 'h':\n case 'H':\n if (GridUtils.isModifierKeyDown(event)) return false;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(0, grid.state.cursorRow, event.shiftKey);\n return true;\n case 'l':\n case 'L': {\n if (GridUtils.isModifierKeyDown(event)) return false;\n const { model } = grid.props;\n const { columnCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n columnCount - 1,\n grid.state.cursorRow,\n event.shiftKey\n );\n return true;\n }\n case 'PageDown':\n return this.handlePageDown(event, grid);\n case 'PageUp':\n return this.handlePageUp(event, grid);\n case 'Home':\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event) ? grid.state.cursorColumn : 0,\n GridUtils.isModifierKeyDown(event) ? 0 : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n case 'End': {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event)\n ? grid.state.cursorColumn\n : columnCount - 1,\n GridUtils.isModifierKeyDown(event)\n ? rowCount - 1\n : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n }\n case 'Escape':\n grid.clearSelectedRanges();\n return true;\n case 'Enter':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.UP\n : GridRange.SELECTION_DIRECTION.DOWN\n );\n return true;\n }\n break;\n case 'Tab':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.LEFT\n : GridRange.SELECTION_DIRECTION.RIGHT\n );\n return true;\n }\n break;\n default:\n break;\n }\n return false;\n }\n\n handleArrowMove(\n deltaColumn: number,\n deltaRow: number,\n event: GridKeyboardEvent,\n grid: Grid\n ): boolean {\n const isShiftKey = event.shiftKey;\n const isModifierKey = GridUtils.isModifierKeyDown(event);\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const {\n cursorRow,\n cursorColumn,\n selectionEndColumn,\n selectionEndRow,\n } = grid.state;\n const column = isShiftKey ? selectionEndColumn : cursorColumn;\n const row = isShiftKey ? selectionEndRow : cursorRow;\n if (isModifierKey) {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n const maximizePreviousRange = isModifierKey && isShiftKey;\n let moveToColumn = null;\n let moveToRow = null;\n if (deltaColumn < 0) {\n moveToColumn = 0;\n moveToRow = row;\n } else if (deltaColumn > 0) {\n moveToColumn = columnCount - 1;\n moveToRow = row;\n } else if (deltaRow < 0) {\n moveToColumn = column;\n moveToRow = 0;\n } else if (deltaRow > 0) {\n moveToColumn = column;\n moveToRow = rowCount - 1;\n }\n if (moveToColumn != null && moveToRow != null) {\n grid.moveCursorToPosition(\n moveToColumn,\n moveToRow,\n isShiftKey,\n true,\n maximizePreviousRange\n );\n }\n } else {\n if (!grid.metrics) throw new Error('grid.metrics are not set');\n\n const { theme } = grid.props;\n const { autoSelectRow = false, autoSelectColumn = false } = theme;\n if (autoSelectRow && deltaColumn !== 0) {\n const { lastLeft } = grid.metrics;\n let { left } = grid.state;\n\n left = clamp(left + deltaColumn, 0, lastLeft);\n\n grid.moveCursorToPosition(left, cursorRow, isShiftKey, false);\n\n grid.setViewState({ left });\n } else if (autoSelectColumn && deltaRow !== 0) {\n const { lastTop } = grid.metrics;\n let { top } = grid.state;\n\n top = clamp(top + deltaRow, 0, lastTop);\n\n grid.moveCursorToPosition(top, cursorColumn, isShiftKey, false);\n\n grid.setViewState({ top });\n } else {\n grid.moveCursor(deltaColumn, deltaRow, isShiftKey);\n }\n }\n return true;\n }\n\n handlePageUp(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { cursorColumn, selectionEndRow } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row == null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const {\n bottomVisible,\n topVisible,\n hasHorizontalBar,\n } = metricCalculator.getMetrics(metricState);\n\n let selectRangeEndPosition = row - (bottomVisible - topVisible);\n selectRangeEndPosition -= hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the top table row.\n selectRangeEndPosition = Math.max(selectRangeEndPosition, 0);\n const viewportPosition = Math.max(\n selectRangeEndPosition - (row - topVisible),\n 0\n );\n\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n return true;\n }\n\n handlePageDown(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { selectionEndRow, cursorColumn } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row === null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const {\n bottomVisible,\n topVisible,\n hasHorizontalBar,\n rowCount,\n lastTop,\n } = metricCalculator.getMetrics(metricState);\n const lastRowIndex = rowCount - 1;\n\n let selectRangeEndPosition = bottomVisible - topVisible + row;\n selectRangeEndPosition += hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the bottom table row.\n selectRangeEndPosition = Math.min(selectRangeEndPosition, lastRowIndex);\n\n const viewportPosition = Math.min(\n lastTop,\n selectRangeEndPosition - (row - topVisible)\n );\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n\n return true;\n }\n}\n\nexport default SelectionKeyHandler;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectionKeyHandler.js","names":["clamp","GridRange","GridUtils","KeyHandler","SelectionKeyHandler","onDown","event","grid","key","isModifierKeyDown","selectAll","handleArrowMove","handlePageUp","handlePageDown","shiftKey","clearSelectedRanges","moveCursorToPosition","state","cursorRow","model","props","columnCount","cursorColumn","rowCount","preventDefault","stopPropagation","selectedRanges","length","moveCursorInDirection","SELECTION_DIRECTION","UP","DOWN","LEFT","RIGHT","deltaColumn","deltaRow","isShiftKey","isModifierKey","trimSelectedRanges","selectionEndColumn","selectionEndRow","column","row","maximizePreviousRange","moveToColumn","moveToRow","metrics","Error","theme","autoSelectRow","autoSelectColumn","lastLeft","left","setViewState","lastTop","top","moveCursor","e","metricState","getMetricState","metricCalculator","bottomVisible","topVisible","hasHorizontalBar","getMetrics","selectRangeEndPosition","Math","max","viewportPosition","lastRowIndex","min"],"sources":["../../src/key-handlers/SelectionKeyHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport clamp from 'lodash.clamp';\nimport { EventHandlerResult } from '../EventHandlerResult';\nimport Grid from '../Grid';\nimport GridRange from '../GridRange';\nimport GridUtils from '../GridUtils';\nimport KeyHandler, { GridKeyboardEvent } from '../KeyHandler';\n\nclass SelectionKeyHandler extends KeyHandler {\n onDown(event: GridKeyboardEvent, grid: Grid): EventHandlerResult {\n switch (event.key) {\n case 'a':\n if (GridUtils.isModifierKeyDown(event)) {\n grid.selectAll();\n return true;\n }\n break;\n case 'ArrowUp':\n return this.handleArrowMove(0, -1, event, grid);\n case 'ArrowDown':\n return this.handleArrowMove(0, 1, event, grid);\n case 'ArrowRight':\n return this.handleArrowMove(1, 0, event, grid);\n case 'ArrowLeft':\n return this.handleArrowMove(-1, 0, event, grid);\n /**\n * h/j/k/l keys are grouped together for quick navigation by power users.\n * Bender added these as shortcuts in the original commit of keyboard shortcuts.\n * We have no idea why, or what might have inspired them (not excel, not swing, vim?).\n * Maybe lack of page up keys on a laptop at the time?\n */\n case 'k':\n case 'K':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageUp(event, grid);\n case 'j':\n case 'J':\n if (GridUtils.isModifierKeyDown(event)) return false;\n return this.handlePageDown(event, grid);\n case 'h':\n case 'H':\n if (GridUtils.isModifierKeyDown(event)) return false;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(0, grid.state.cursorRow, event.shiftKey);\n return true;\n case 'l':\n case 'L': {\n if (GridUtils.isModifierKeyDown(event)) return false;\n const { model } = grid.props;\n const { columnCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n columnCount - 1,\n grid.state.cursorRow,\n event.shiftKey\n );\n return true;\n }\n case 'PageDown':\n return this.handlePageDown(event, grid);\n case 'PageUp':\n return this.handlePageUp(event, grid);\n case 'Home':\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event) ? grid.state.cursorColumn : 0,\n GridUtils.isModifierKeyDown(event) ? 0 : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n case 'End': {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n if (!event.shiftKey) {\n grid.clearSelectedRanges();\n }\n grid.moveCursorToPosition(\n GridUtils.isModifierKeyDown(event)\n ? grid.state.cursorColumn\n : columnCount - 1,\n GridUtils.isModifierKeyDown(event)\n ? rowCount - 1\n : grid.state.cursorRow,\n event.shiftKey,\n true,\n true\n );\n return true;\n }\n case 'Escape':\n grid.clearSelectedRanges();\n // Event consumed, but propagation not stopped\n // so the shortcut could be handled by the global handler\n return { preventDefault: false, stopPropagation: false };\n case 'Enter':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.UP\n : GridRange.SELECTION_DIRECTION.DOWN\n );\n return true;\n }\n break;\n case 'Tab':\n if (grid.state.selectedRanges.length > 0) {\n grid.moveCursorInDirection(\n event.shiftKey\n ? GridRange.SELECTION_DIRECTION.LEFT\n : GridRange.SELECTION_DIRECTION.RIGHT\n );\n return true;\n }\n break;\n default:\n break;\n }\n return false;\n }\n\n handleArrowMove(\n deltaColumn: number,\n deltaRow: number,\n event: GridKeyboardEvent,\n grid: Grid\n ): boolean {\n const isShiftKey = event.shiftKey;\n const isModifierKey = GridUtils.isModifierKeyDown(event);\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const {\n cursorRow,\n cursorColumn,\n selectionEndColumn,\n selectionEndRow,\n } = grid.state;\n const column = isShiftKey ? selectionEndColumn : cursorColumn;\n const row = isShiftKey ? selectionEndRow : cursorRow;\n if (isModifierKey) {\n const { model } = grid.props;\n const { columnCount, rowCount } = model;\n const maximizePreviousRange = isModifierKey && isShiftKey;\n let moveToColumn = null;\n let moveToRow = null;\n if (deltaColumn < 0) {\n moveToColumn = 0;\n moveToRow = row;\n } else if (deltaColumn > 0) {\n moveToColumn = columnCount - 1;\n moveToRow = row;\n } else if (deltaRow < 0) {\n moveToColumn = column;\n moveToRow = 0;\n } else if (deltaRow > 0) {\n moveToColumn = column;\n moveToRow = rowCount - 1;\n }\n if (moveToColumn != null && moveToRow != null) {\n grid.moveCursorToPosition(\n moveToColumn,\n moveToRow,\n isShiftKey,\n true,\n maximizePreviousRange\n );\n }\n } else {\n if (!grid.metrics) throw new Error('grid.metrics are not set');\n\n const { theme } = grid.props;\n const { autoSelectRow = false, autoSelectColumn = false } = theme;\n if (autoSelectRow && deltaColumn !== 0) {\n const { lastLeft } = grid.metrics;\n let { left } = grid.state;\n\n left = clamp(left + deltaColumn, 0, lastLeft);\n\n grid.moveCursorToPosition(left, cursorRow, isShiftKey, false);\n\n grid.setViewState({ left });\n } else if (autoSelectColumn && deltaRow !== 0) {\n const { lastTop } = grid.metrics;\n let { top } = grid.state;\n\n top = clamp(top + deltaRow, 0, lastTop);\n\n grid.moveCursorToPosition(top, cursorColumn, isShiftKey, false);\n\n grid.setViewState({ top });\n } else {\n grid.moveCursor(deltaColumn, deltaRow, isShiftKey);\n }\n }\n return true;\n }\n\n handlePageUp(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { cursorColumn, selectionEndRow } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row == null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const {\n bottomVisible,\n topVisible,\n hasHorizontalBar,\n } = metricCalculator.getMetrics(metricState);\n\n let selectRangeEndPosition = row - (bottomVisible - topVisible);\n selectRangeEndPosition -= hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the top table row.\n selectRangeEndPosition = Math.max(selectRangeEndPosition, 0);\n const viewportPosition = Math.max(\n selectRangeEndPosition - (row - topVisible),\n 0\n );\n\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n return true;\n }\n\n handlePageDown(e: GridKeyboardEvent, grid: Grid): boolean {\n const isShiftKey = e.shiftKey;\n\n if (isShiftKey) {\n grid.trimSelectedRanges();\n } else {\n grid.clearSelectedRanges();\n }\n\n const { selectionEndRow, cursorColumn } = grid.state;\n const row: number | null = selectionEndRow;\n const column: number | null = cursorColumn;\n if (row === null) {\n return false;\n }\n const metricState = grid.getMetricState();\n const { metricCalculator } = grid;\n const {\n bottomVisible,\n topVisible,\n hasHorizontalBar,\n rowCount,\n lastTop,\n } = metricCalculator.getMetrics(metricState);\n const lastRowIndex = rowCount - 1;\n\n let selectRangeEndPosition = bottomVisible - topVisible + row;\n selectRangeEndPosition += hasHorizontalBar ? 0 : 1;\n\n // Don't move beyond the bottom table row.\n selectRangeEndPosition = Math.min(selectRangeEndPosition, lastRowIndex);\n\n const viewportPosition = Math.min(\n lastTop,\n selectRangeEndPosition - (row - topVisible)\n );\n grid.moveCursorToPosition(\n column,\n selectRangeEndPosition,\n isShiftKey,\n false\n );\n grid.setViewState({ top: viewportPosition });\n\n return true;\n }\n}\n\nexport default SelectionKeyHandler;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/grid",
3
- "version": "0.22.2-beta.1+0c0142f",
3
+ "version": "0.22.2-beta.6+233d922",
4
4
  "description": "Deephaven React grid component",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -25,13 +25,13 @@
25
25
  "react": "^17.0.0"
26
26
  },
27
27
  "devDependencies": {
28
- "@deephaven/tsconfig": "^0.22.2-beta.1+0c0142f"
28
+ "@deephaven/tsconfig": "^0.22.2-beta.6+233d922"
29
29
  },
30
30
  "files": [
31
31
  "dist"
32
32
  ],
33
33
  "dependencies": {
34
- "@deephaven/utils": "^0.22.2-beta.1+0c0142f",
34
+ "@deephaven/utils": "^0.22.2-beta.6+233d922",
35
35
  "classnames": "^2.3.1",
36
36
  "color-convert": "^2.0.1",
37
37
  "event-target-shim": "^6.0.2",
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "0c0142f618e2f9979c2d09635ea38931cde7d39f"
46
+ "gitHead": "233d9227f1a07837204d7ea2dfe5070c76eb5e8f"
47
47
  }