From 63e748f147fb8d8af16072d931d47f58ed0ee343 Mon Sep 17 00:00:00 2001 From: Andrew Aquino Date: Wed, 3 Apr 2024 16:06:23 -0700 Subject: [PATCH] fix: deselect on escape only if neither dragging nor finalizing an action --- packages/excalidraw/components/App.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 884cf17d8..23f5c6987 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -3748,11 +3748,16 @@ class App extends React.Component { } // remove selections on escape press - if (event.key === KEYS.ESCAPE) { - // Don't deselect text right after editing it - if (isWritableElement(event.target)) { - return; - } + if ( + event.key === KEYS.ESCAPE && + // unless we're dragging or finalizing an action + !( + this.state.draggingElement || + isWritableElement(event.target) || + this.state.editingElement || + ["freedraw", "eraser"].includes(this.state.activeTool.type) + ) + ) { this.setState({ selectedElementIds: {}, selectedGroupIds: {},