From 64d219fdc68cc63a8df88f1bc19aa6a08cf1bd4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=BCndel?= Date: Fri, 23 Oct 2026 03:51:21 +0200 Subject: [PATCH] Fix combobox Escape handling inside dialogs (#204) --- CHANGELOG.md | 6 +++++- site/src/docs/components/combobox.mdx | 2 ++ src/js/combobox.js | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dda347..9611b81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -## Unreleased +## [Unreleased] + +### Fixed + +- Prevented Escape from dismissing an enclosing dialog while closing an open Combobox popup. ## [1.0.2] - 2026-07-06 diff --git a/site/src/docs/components/combobox.mdx b/site/src/docs/components/combobox.mdx index 04864be..1611ec0 100644 --- a/site/src/docs/components/combobox.mdx +++ b/site/src/docs/components/combobox.mdx @@ -85,6 +85,8 @@ Combobox is input-first. The visible input filters the list; the hidden input st +Pressing Escape in the input closes an open suggestions popup without dismissing an enclosing dialog. Once the popup is closed, press Escape again to dismiss the dialog. + ### HTML structure
diff --git a/src/js/combobox.js b/src/js/combobox.js index 10f727c..5976b75 100644 --- a/src/js/combobox.js +++ b/src/js/combobox.js @@ -390,7 +390,11 @@ } if (event.key === 'Escape') { - root.close(true); + if (isOpen) { + event.preventDefault(); + event.stopPropagation(); + root.close(true); + } return; }