diff --git a/apps/staged/src/lib/features/diff/DiffModal.svelte b/apps/staged/src/lib/features/diff/DiffModal.svelte index 38fa9101..37106880 100644 --- a/apps/staged/src/lib/features/diff/DiffModal.svelte +++ b/apps/staged/src/lib/features/diff/DiffModal.svelte @@ -447,7 +447,11 @@ } // Hold A to reveal AI annotations if (event.key === 'a' || event.key === 'A') { - if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) + if ( + event.target instanceof HTMLInputElement || + event.target instanceof HTMLTextAreaElement || + (event.target instanceof HTMLElement && event.target.isContentEditable) + ) return; if (!event.repeat) { annotationsRevealed = true; @@ -457,7 +461,11 @@ function handleKeyup(event: KeyboardEvent) { if (event.key === 'a' || event.key === 'A') { - if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) + if ( + event.target instanceof HTMLInputElement || + event.target instanceof HTMLTextAreaElement || + (event.target instanceof HTMLElement && event.target.isContentEditable) + ) return; annotationsRevealed = false; } diff --git a/packages/diff-viewer/src/lib/utils/diffKeyboard.ts b/packages/diff-viewer/src/lib/utils/diffKeyboard.ts index df5eed3c..b256b699 100644 --- a/packages/diff-viewer/src/lib/utils/diffKeyboard.ts +++ b/packages/diff-viewer/src/lib/utils/diffKeyboard.ts @@ -161,7 +161,8 @@ export function setupDiffKeyboardNav(config: Partial = {}): () => function handleKeydown(event: KeyboardEvent): void { const target = event.target as HTMLElement; - const inInput = target.tagName === 'INPUT' || target.tagName === 'TEXTAREA'; + const inInput = + target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable; const key = event.key.toLowerCase(); const ctrl = event.ctrlKey;