@@ -65,11 +65,30 @@ const LinkItemContainerNoBox = React.forwardRef<HTMLAnchorElement, LinkItemConta
6565 hasUserOnClick : ! ! userOnClick ,
6666 event : event . type ,
6767 target : ( event . target as HTMLElement ) ?. tagName ,
68+ defaultPrevented : event . defaultPrevented ,
69+ timestamp : Date . now ( ) ,
6870 } )
69- onClick && onClick ( event )
70- console . log ( '[LinkItemContainerNoBox] After Item onClick' , { defaultPrevented : event . defaultPrevented } )
71- userOnClick && userOnClick ( event as React . MouseEvent < HTMLAnchorElement > )
72- console . log ( '[LinkItemContainerNoBox] After userOnClick' , { defaultPrevented : event . defaultPrevented } )
71+
72+ // Check if click is on a button/svg/path (menu trigger) and prevent navigation immediately
73+ const targetTag = ( event . target as HTMLElement ) ?. tagName ?. toLowerCase ( )
74+ if ( [ 'button' , 'svg' , 'path' ] . includes ( targetTag ) ) {
75+ console . log ( '[LinkItemContainerNoBox] Click on button/svg/path detected, preventing default' )
76+ event . preventDefault ( )
77+ }
78+
79+ // Call Item's onClick first (handles selection logic)
80+ if ( onClick ) {
81+ console . log ( '[LinkItemContainerNoBox] Calling Item onClick' )
82+ onClick ( event )
83+ console . log ( '[LinkItemContainerNoBox] After Item onClick' , { defaultPrevented : event . defaultPrevented } )
84+ }
85+
86+ // Call user's onClick (NavList's onClick) if event not prevented
87+ if ( userOnClick ) {
88+ console . log ( '[LinkItemContainerNoBox] Calling userOnClick (NavList handler)' )
89+ userOnClick ( event as React . MouseEvent < HTMLAnchorElement > )
90+ console . log ( '[LinkItemContainerNoBox] After userOnClick' , { defaultPrevented : event . defaultPrevented } )
91+ }
7392 }
7493 if ( inactiveText ) {
7594 return (
0 commit comments