@@ -365,6 +365,11 @@ export const useMenu = <T extends HTMLElement = HTMLElement, M extends HTMLEleme
365365    ] 
366366  ) ; 
367367
368+   const  handleMenuClick  =  useCallback ( ( event : React . MouseEvent )  =>  { 
369+     // Prevent propagation to container; for example, accordion header expand/collapse 
370+     event . stopPropagation ( ) ; 
371+   } ,  [ ] ) ; 
372+ 
368373  const  handleMenuKeyDown  =  useCallback ( 
369374    ( event : KeyboardEvent )  =>  { 
370375      const  {  key }  =  event ; 
@@ -776,7 +781,7 @@ export const useMenu = <T extends HTMLElement = HTMLElement, M extends HTMLEleme
776781  ) ; 
777782
778783  const  getMenuProps  =  useCallback < IUseMenuReturnValue [ 'getMenuProps' ] > ( 
779-     ( {  role =  'menu' ,  onBlur,  onMouseLeave,  ...other  }  =  { } )  =>  ( { 
784+     ( {  role =  'menu' ,  onBlur,  onClick ,   onMouseLeave,  ...other  }  =  { } )  =>  ( { 
780785      ...other , 
781786      ...getGroupProps ( { 
782787        onMouseLeave : composeEventHandlers ( onMouseLeave ,  handleMenuMouseLeave ) 
@@ -787,9 +792,10 @@ export const useMenu = <T extends HTMLElement = HTMLElement, M extends HTMLEleme
787792      tabIndex : - 1 , 
788793      role : role  ===  null  ? undefined  : role , 
789794      ref : menuRef  as  any , 
790-       onBlur : composeEventHandlers ( onBlur ,  handleBlur ) 
795+       onBlur : composeEventHandlers ( onBlur ,  handleBlur ) , 
796+       onClick : composeEventHandlers ( onClick ,  handleMenuClick ) 
791797    } ) , 
792-     [ getGroupProps ,  handleBlur ,  handleMenuMouseLeave ,  menuRef ,  triggerId ] 
798+     [ getGroupProps ,  handleBlur ,  handleMenuClick ,   handleMenuMouseLeave ,  menuRef ,  triggerId ] 
793799  ) ; 
794800
795801  const  getSeparatorProps  =  useCallback < IUseMenuReturnValue [ 'getSeparatorProps' ] > ( 
0 commit comments