From 9948858707fa007ac3a0aba020815283a9cac210 Mon Sep 17 00:00:00 2001 From: Danila Date: Fri, 11 Nov 2022 03:28:07 +0300 Subject: [PATCH] Fix floating link escape handling (#1981) * Fix floating link escape handling * Create loud-emus-return.md Co-authored-by: Ziad Beyens --- .changeset/loud-emus-return.md | 5 +++++ .../FloatingLink/useFloatingLinkEscape.ts | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 .changeset/loud-emus-return.md diff --git a/.changeset/loud-emus-return.md b/.changeset/loud-emus-return.md new file mode 100644 index 0000000000..cf77a7802e --- /dev/null +++ b/.changeset/loud-emus-return.md @@ -0,0 +1,5 @@ +--- +"@udecode/plate-link": patch +--- + +Fix floating link escape handling diff --git a/packages/nodes/link/src/components/FloatingLink/useFloatingLinkEscape.ts b/packages/nodes/link/src/components/FloatingLink/useFloatingLinkEscape.ts index a475b1e055..b5aede0304 100644 --- a/packages/nodes/link/src/components/FloatingLink/useFloatingLinkEscape.ts +++ b/packages/nodes/link/src/components/FloatingLink/useFloatingLinkEscape.ts @@ -12,15 +12,24 @@ export const useFloatingLinkEscape = () => { useHotkeys( 'escape', - () => { - if (floatingLinkSelectors.mode() !== 'edit') return; + (e) => { + if (!floatingLinkSelectors.mode()) return; - if (floatingLinkSelectors.isEditing()) { + e.preventDefault(); + + if ( + floatingLinkSelectors.mode() === 'edit' && + floatingLinkSelectors.isEditing() + ) { floatingLinkActions.show('edit', editor.id); focusEditor(editor, editor.selection!); return; } + if (floatingLinkSelectors.mode() === 'insert') { + focusEditor(editor, editor.selection!); + } + floatingLinkActions.hide(); }, {