From 438f1db0d6100cd25b714ec079d4290a39f9be3a Mon Sep 17 00:00:00 2001 From: Ruslan Lekhman Date: Fri, 28 Nov 2025 13:59:26 -0700 Subject: [PATCH] fix(aria/menu): emit selection values for menu trigger close #32435 --- src/aria/private/menu/menu.ts | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/aria/private/menu/menu.ts b/src/aria/private/menu/menu.ts index 9be9bec6fdb8..d7668610488f 100644 --- a/src/aria/private/menu/menu.ts +++ b/src/aria/private/menu/menu.ts @@ -357,23 +357,19 @@ export class MenuPattern { submit(item = this.inputs.activeItem()) { const root = this.root(); - if (item && !item.disabled()) { + if (item && !item.disabled() && !item.submenu()) { const isMenu = root instanceof MenuPattern; const isMenuBar = root instanceof MenuBarPattern; const isMenuTrigger = root instanceof MenuTriggerPattern; - - if (!item.submenu() && isMenuTrigger) { + if (isMenuTrigger) { root.close({refocus: true}); - } - - if (!item.submenu() && isMenuBar) { + root.menu()?.inputs.onSelect?.(item.value()); + } else if (isMenuBar) { root.close(); - root?.inputs.onSelect?.(item.value()); - } - - if (!item.submenu() && isMenu) { + root.inputs.onSelect?.(item.value()); + } else if (isMenu) { root.inputs.activeItem()?.close({refocus: true}); - root?.inputs.onSelect?.(item.value()); + root.inputs.onSelect?.(item.value()); } } }