From e6f6f304437203d5ee6770092ac79063448b821f Mon Sep 17 00:00:00 2001 From: Chen Hui Jing Date: Tue, 25 Jul 2023 17:52:00 +0800 Subject: Fix: Prevent keypress from firing on inputs (#386) Co-authored-by: Chris Swithinbank --- .changeset/quick-peas-deny.md | 5 +++++ packages/starlight/components/Search.astro | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/quick-peas-deny.md diff --git a/.changeset/quick-peas-deny.md b/.changeset/quick-peas-deny.md new file mode 100644 index 00000000..0f244660 --- /dev/null +++ b/.changeset/quick-peas-deny.md @@ -0,0 +1,5 @@ +--- +"@astrojs/starlight": patch +--- + +Prevent search keyboard shortcuts from triggering when input elements are focused diff --git a/packages/starlight/components/Search.astro b/packages/starlight/components/Search.astro index fbea5dd2..2ff7dd50 100644 --- a/packages/starlight/components/Search.astro +++ b/packages/starlight/components/Search.astro @@ -96,10 +96,13 @@ const pagefindTranslations = { // Listen for `/` and `cmd + k` keyboard shortcuts. window.addEventListener('keydown', (e) => { + const isInput = + document.activeElement && + ['input', 'select', 'textarea'].includes(document.activeElement.tagName.toLowerCase()); if (e.metaKey === true && e.key === 'k') { dialog.open ? closeModal() : openModal(); e.preventDefault(); - } else if (e.key === '/' && !dialog.open) { + } else if (e.key === '/' && !dialog.open && !isInput) { openModal(); e.preventDefault(); } -- cgit