diff --git a/packages/ui/src/dropdowns/custom-menu.tsx b/packages/ui/src/dropdowns/custom-menu.tsx index 7066c17709a..ad980342c04 100644 --- a/packages/ui/src/dropdowns/custom-menu.tsx +++ b/packages/ui/src/dropdowns/custom-menu.tsx @@ -189,6 +189,11 @@ function CustomMenu(props: ICustomMenuDropdownProps) { } }, [isOpen, closeDropdown, useCaptureForOutsideClick]); + const menuContextValue = React.useMemo( + () => ({ closeAllSubmenus, registerSubmenu }), + [closeAllSubmenus, registerSubmenu] + ); + let menuItems = (
- {children} + {children}
); @@ -228,7 +233,8 @@ function CustomMenu(props: ICustomMenuDropdownProps) { ref={dropdownRef} tabIndex={tabIndex} className={cn("relative w-min text-left", className)} - onKeyDownCapture={handleKeyDown} + onKeyDown={handleKeyDown} + role="presentation" onClick={(e) => { e.stopPropagation(); e.preventDefault(); @@ -377,6 +383,8 @@ function SubMenu(props: ICustomSubMenuProps) { toggleSubmenu(); }; + const subMenuContextValue = React.useMemo(() => ({ closeSubmenu }), [closeSubmenu]); + // Close submenu when clicking on other menu items React.useEffect(() => { const handleMenuItemClick = (e: Event) => { @@ -398,9 +406,10 @@ function SubMenu(props: ICustomSubMenuProps) { {({ active }) => ( -
{trigger} -
+ )}
@@ -423,7 +433,7 @@ function SubMenu(props: ICustomSubMenuProps) { style={styles.popper} {...attributes.popper} className={cn( - "fixed z-30 min-w-[12rem] overflow-hidden rounded-md border-[0.5px] border-subtle-1 bg-surface-1 p-1 text-11", + "shadow-md fixed z-30 min-w-[12rem] overflow-hidden rounded-md border border-strong-1 bg-surface-1 p-1 text-11 ring-1 ring-strong-1/15", contentClassName )} data-prevent-outside-click="true" @@ -444,7 +454,7 @@ function SubMenu(props: ICustomSubMenuProps) { } }} > - {children} + {children} )} @@ -516,7 +526,7 @@ function SubMenuContent(props: ICustomSubMenuContentProps) { return (