summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Hui Jing2023-07-25 17:52:00 +0800
committerGitHub2023-07-25 11:52:00 +0200
commite6f6f304437203d5ee6770092ac79063448b821f (patch)
tree6b4e16211c50a9fd5eddadc10819e37257058706
parent30ce468d26adbe9bcc2635bc11d3e36fdb954fd0 (diff)
downloadIT.starlight-e6f6f304437203d5ee6770092ac79063448b821f.tar.gz
IT.starlight-e6f6f304437203d5ee6770092ac79063448b821f.tar.bz2
IT.starlight-e6f6f304437203d5ee6770092ac79063448b821f.zip
Fix: Prevent keypress from firing on inputs (#386)
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
-rw-r--r--.changeset/quick-peas-deny.md5
-rw-r--r--packages/starlight/components/Search.astro5
2 files changed, 9 insertions, 1 deletions
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();
}