diff --git a/packages/core/src/data-editor/data-editor.test.tsx b/packages/core/src/data-editor/data-editor.test.tsx
index 3fd478551..205091144 100644
--- a/packages/core/src/data-editor/data-editor.test.tsx
+++ b/packages/core/src/data-editor/data-editor.test.tsx
@@ -659,6 +659,47 @@ describe("data-editor", () => {
expect(spy).toHaveBeenCalled();
});
+ test("Delete range", async () => {
+ const spy = jest.fn();
+
+ jest.useFakeTimers();
+ render(
+ ,
+ {
+ wrapper: Context,
+ }
+ );
+ prep();
+
+ const canvas = screen.getByTestId("data-grid-canvas");
+ fireEvent.keyDown(canvas, {
+ key: "Delete",
+ });
+
+ expect(spy).toHaveBeenCalledWith({
+ columns: CompactSelection.empty(),
+ rows: CompactSelection.empty(),
+ current: {
+ cell: [2, 2],
+ range: { x: 2, y: 2, width: 4, height: 10 },
+ rangeStack: [],
+ },
+ });
+ });
+
test("Open and close overlay", async () => {
jest.useFakeTimers();
render(, {
diff --git a/packages/core/src/data-editor/data-editor.tsx b/packages/core/src/data-editor/data-editor.tsx
index f7489da8a..65b49d44f 100644
--- a/packages/core/src/data-editor/data-editor.tsx
+++ b/packages/core/src/data-editor/data-editor.tsx
@@ -291,7 +291,7 @@ const DataEditorImpl: React.ForwardRefRenderFunction>(
+ sel => {
+ if (onDeleteIn !== undefined) {
+ return onDeleteIn(shiftSelection(sel, -rowMarkerOffset));
+ }
+ return true;
+ },
+ [onDeleteIn, rowMarkerOffset]
+ );
+
const [setCurrent, setSelectedRows, setSelectedColumns] = useSelectionBehavior(
gridSelection,
setGridSelection,