From 2d72ed67c666b26eae44649e70aecef3db815d19 Mon Sep 17 00:00:00 2001 From: HiDeoo Date: Mon, 20 Nov 2023 22:48:49 +0100 Subject: Ignore search keyboard shortcuts for elements with contents that are editable (#1065) --- .changeset/red-camels-beam.md | 5 +++++ packages/starlight/components/Search.astro | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 .changeset/red-camels-beam.md diff --git a/.changeset/red-camels-beam.md b/.changeset/red-camels-beam.md new file mode 100644 index 00000000..194a49a4 --- /dev/null +++ b/.changeset/red-camels-beam.md @@ -0,0 +1,5 @@ +--- +'@astrojs/starlight': patch +--- + +Ignore search keyboard shortcuts for elements with contents that are editable diff --git a/packages/starlight/components/Search.astro b/packages/starlight/components/Search.astro index e88e5986..4162f400 100644 --- a/packages/starlight/components/Search.astro +++ b/packages/starlight/components/Search.astro @@ -89,8 +89,9 @@ 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()); + document.activeElement instanceof HTMLElement && + (['input', 'select', 'textarea'].includes(document.activeElement.tagName.toLowerCase()) || + document.activeElement.isContentEditable); if (e.metaKey === true && e.key === 'k') { dialog.open ? closeModal() : openModal(); e.preventDefault(); -- cgit