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 (