@@ -189,6 +189,11 @@ function CustomMenu(props: ICustomMenuDropdownProps) {
189189 }
190190 } , [ isOpen , closeDropdown , useCaptureForOutsideClick ] ) ;
191191
192+ const menuContextValue = React . useMemo (
193+ ( ) => ( { closeAllSubmenus, registerSubmenu } ) ,
194+ [ closeAllSubmenus , registerSubmenu ]
195+ ) ;
196+
192197 let menuItems = (
193198 < Menu . Items
194199 data-prevent-outside-click = { ! ! portalElement }
@@ -200,7 +205,7 @@ function CustomMenu(props: ICustomMenuDropdownProps) {
200205 >
201206 < div
202207 className = { cn (
203- "my-1 min-w-[12rem] overflow-y-scroll rounded-md border-[0.5px] border-subtle -1 bg-surface-1 px-2 py-2.5 text-11 whitespace-nowrap focus:outline-none" ,
208+ "shadow-md my-1 min-w-[12rem] overflow-y-scroll rounded-md border border-strong -1 bg-surface-1 px-2 py-2.5 text-11 whitespace-nowrap ring-1 ring-strong-1/15 outline-none focus:outline-none" ,
204209 {
205210 "max-h-60" : maxHeight === "lg" ,
206211 "max-h-48" : maxHeight === "md" ,
@@ -213,7 +218,7 @@ function CustomMenu(props: ICustomMenuDropdownProps) {
213218 style = { styles . popper }
214219 { ...attributes . popper }
215220 >
216- < MenuContext . Provider value = { { closeAllSubmenus , registerSubmenu } } > { children } </ MenuContext . Provider >
221+ < MenuContext . Provider value = { menuContextValue } > { children } </ MenuContext . Provider >
217222 </ div >
218223 </ Menu . Items >
219224 ) ;
@@ -228,7 +233,8 @@ function CustomMenu(props: ICustomMenuDropdownProps) {
228233 ref = { dropdownRef }
229234 tabIndex = { tabIndex }
230235 className = { cn ( "relative w-min text-left" , className ) }
231- onKeyDownCapture = { handleKeyDown }
236+ onKeyDown = { handleKeyDown }
237+ role = "presentation"
232238 onClick = { ( e ) => {
233239 e . stopPropagation ( ) ;
234240 e . preventDefault ( ) ;
@@ -377,6 +383,8 @@ function SubMenu(props: ICustomSubMenuProps) {
377383 toggleSubmenu ( ) ;
378384 } ;
379385
386+ const subMenuContextValue = React . useMemo ( ( ) => ( { closeSubmenu } ) , [ closeSubmenu ] ) ;
387+
380388 // Close submenu when clicking on other menu items
381389 React . useEffect ( ( ) => {
382390 const handleMenuItemClick = ( e : Event ) => {
@@ -398,20 +406,22 @@ function SubMenu(props: ICustomSubMenuProps) {
398406 < span ref = { setReferenceElement } className = "w-full" >
399407 < Menu . Item as = "div" disabled = { disabled } >
400408 { ( { active } ) => (
401- < div
409+ < button
410+ type = "button"
402411 className = { cn (
403- "flex w-full cursor-pointer items-center justify-between rounded-sm px-1 py-1.5 text-left text-secondary select-none" ,
412+ "font-inherit flex w-full cursor-pointer items-center justify-between rounded-sm border-0 bg-transparent px-1 py-1.5 text-left text-secondary outline-none select-none" ,
404413 {
405414 "bg-layer-transparent-hover" : active && ! disabled ,
406415 "text-placeholder" : disabled ,
407416 "cursor-not-allowed" : disabled ,
408417 }
409418 ) }
410419 onClick = { handleClick }
420+ disabled = { disabled }
411421 >
412422 < span className = "flex-1" > { trigger } </ span >
413423 < ChevronRightIcon className = "h-3.5 w-3.5 flex-shrink-0" />
414- </ div >
424+ </ button >
415425 ) }
416426 </ Menu . Item >
417427 </ span >
@@ -423,7 +433,7 @@ function SubMenu(props: ICustomSubMenuProps) {
423433 style = { styles . popper }
424434 { ...attributes . popper }
425435 className = { cn (
426- "fixed z-30 min-w-[12rem] overflow-hidden rounded-md border-[0.5px] border-subtle -1 bg-surface-1 p-1 text-11" ,
436+ "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 " ,
427437 contentClassName
428438 ) }
429439 data-prevent-outside-click = "true"
@@ -444,7 +454,7 @@ function SubMenu(props: ICustomSubMenuProps) {
444454 }
445455 } }
446456 >
447- < SubMenuContext . Provider value = { { closeSubmenu } } > { children } </ SubMenuContext . Provider >
457+ < SubMenuContext . Provider value = { subMenuContextValue } > { children } </ SubMenuContext . Provider >
448458 </ div >
449459 </ Portal >
450460 ) }
@@ -516,7 +526,7 @@ function SubMenuContent(props: ICustomSubMenuContentProps) {
516526 return (
517527 < div
518528 className = { cn (
519- "z-[15] min-w-[12rem] overflow-hidden rounded-md border border-subtle -1 bg-surface-1 p-1 text-11" ,
529+ "shadow-md z-[15] min-w-[12rem] overflow-hidden rounded-md border border-strong -1 bg-surface-1 p-1 text-11 ring-1 ring-strong-1/15 " ,
520530 className
521531 ) }
522532 >
0 commit comments