From 266a5c64084d5129fdd35dc76cb14930c67ee306 Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Thu, 14 Aug 2025 11:23:09 -0700 Subject: [PATCH] CloseablePopup: prevent keystrokes from being intercepted by MenuItems's accelerators --- src/common/components/CloseablePopup.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/common/components/CloseablePopup.tsx b/src/common/components/CloseablePopup.tsx index 1b15c0748..8517a7d45 100644 --- a/src/common/components/CloseablePopup.tsx +++ b/src/common/components/CloseablePopup.tsx @@ -30,6 +30,9 @@ export function CloseablePopup(props: { dense?: boolean, bigIcons?: boolean, + // behavior changes + disableMenuTypeahead?: boolean, // disable alphanumeric typeahead navigation in MenuList + placement?: PopperPlacementType, maxHeightGapPx?: number, noTopPadding?: boolean, @@ -59,8 +62,12 @@ export function CloseablePopup(props: { if (props.anchorEl) props.anchorEl?.focus(); handleClose(event); + } else if (props.disableMenuTypeahead && event.key.length === 1) { + // Prevent MenuList's typeahead navigation when disabled + event.stopPropagation(); + // event.preventDefault(); // this is needed.. e.g. typing on input boxes } - }, [handleClose, props.anchorEl]); + }, [handleClose, props.anchorEl, props.disableMenuTypeahead]); // memos