From 9458904cbb1f19bcb8e61f66a0122ace4b0033e1 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:29:43 +0100 Subject: [PATCH 1/2] fix(react): prevent default scrolling behavior when node is moved with keypress --- packages/react/src/components/NodeWrapper/index.tsx | 3 +++ packages/react/src/components/NodesSelection/index.tsx | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/react/src/components/NodeWrapper/index.tsx b/packages/react/src/components/NodeWrapper/index.tsx index 5f528486..a54a4993 100644 --- a/packages/react/src/components/NodeWrapper/index.tsx +++ b/packages/react/src/components/NodeWrapper/index.tsx @@ -138,6 +138,9 @@ export function NodeWrapper({ nodeRef, }); } else if (isDraggable && node.selected && Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) { + // prevent default scrolling behavior on arrow key press when node is moved + event.preventDefault(); + store.setState({ ariaLiveMessage: `Moved selected node ${event.key .replace('Arrow', '') diff --git a/packages/react/src/components/NodesSelection/index.tsx b/packages/react/src/components/NodesSelection/index.tsx index e2bcd238..ecaef17b 100644 --- a/packages/react/src/components/NodesSelection/index.tsx +++ b/packages/react/src/components/NodesSelection/index.tsx @@ -68,6 +68,8 @@ export function NodesSelection({ const onKeyDown = (event: KeyboardEvent) => { if (Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) { + event.preventDefault(); + moveSelectedNodes({ direction: arrowKeyDiffs[event.key], factor: event.shiftKey ? 4 : 1, From adf4fb4e7bb136cce47ef540e9bcc0f82cf17ff4 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:30:14 +0100 Subject: [PATCH 2/2] chore(changeset): add --- .changeset/silly-beans-remain.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/silly-beans-remain.md diff --git a/.changeset/silly-beans-remain.md b/.changeset/silly-beans-remain.md new file mode 100644 index 00000000..42c8b49e --- /dev/null +++ b/.changeset/silly-beans-remain.md @@ -0,0 +1,5 @@ +--- +'@xyflow/react': patch +--- + +Prevent default scrolling behavior when nodes or a selection is moved with an arrow key press.