@@ -36,11 +36,7 @@ interface ContextMenuState {
3636const HIDE_ON_EVENTS : ( keyof GlobalEventHandlersEventMap ) [ ] = [ 'click' , 'resize' , 'scroll' , 'contextmenu' ] ;
3737
3838const ContextMenu = ( { triggerId, children, triggerEvent = 'contextmenu' , animateExit = true } : ContextMenuProps ) => {
39- const [ state , setState ] = useState < ContextMenuState > ( {
40- active : false ,
41- leaving : false ,
42- position : { x : 0 , y : 0 } ,
43- } ) ;
39+ const [ state , setState ] = useState < ContextMenuState > ( { active : false , leaving : false , position : { x : 0 , y : 0 } } ) ;
4440
4541 const contextMenuRef = useRef < HTMLDivElement > ( null ) ;
4642
@@ -54,26 +50,16 @@ const ContextMenu = ({ triggerId, children, triggerEvent = 'contextmenu', animat
5450 event . stopPropagation ( ) ;
5551 event . preventDefault ( ) ;
5652
57- setState ( ( prev ) => ( {
58- ...prev ,
59- active : true ,
60- position,
61- } ) ) ;
53+ setState ( ( prev ) => ( { ...prev , active : true , position } ) ) ;
6254 } ,
6355 [ state . position ] ,
6456 ) ;
6557
6658 const hide = useCallback ( ( ) => {
6759 if ( animateExit ) {
68- setState ( ( prev ) => ( {
69- ...prev ,
70- leaving : true ,
71- } ) ) ;
60+ setState ( ( prev ) => ( { ...prev , leaving : true } ) ) ;
7261 } else {
73- setState ( ( prev ) => ( {
74- ...prev ,
75- active : false ,
76- } ) ) ;
62+ setState ( ( prev ) => ( { ...prev , active : false } ) ) ;
7763 }
7864 // eslint-disable-next-line react-hooks/exhaustive-deps
7965 } , [ ] ) ;
@@ -82,22 +68,15 @@ const ContextMenu = ({ triggerId, children, triggerEvent = 'contextmenu', animat
8268 const { leaving, active } = state ;
8369
8470 if ( leaving && active ) {
85- setState ( ( prev ) => ( {
86- ...prev ,
87- active : false ,
88- leaving : false ,
89- } ) ) ;
71+ setState ( ( prev ) => ( { ...prev , active : false , leaving : false } ) ) ;
9072 }
9173 } , [ state ] ) ;
9274
9375 useEffect ( ( ) => {
9476 const { position } = state ;
9577
9678 if ( state . active )
97- setState ( ( prev ) => ( {
98- ...prev ,
99- position : validateMenuPosition ( position , contextMenuRef . current ) ,
100- } ) ) ;
79+ setState ( ( prev ) => ( { ...prev , position : validateMenuPosition ( position , contextMenuRef . current ) } ) ) ;
10180 // eslint-disable-next-line react-hooks/exhaustive-deps
10281 } , [ state . active ] ) ;
10382
@@ -119,17 +98,12 @@ const ContextMenu = ({ triggerId, children, triggerEvent = 'contextmenu', animat
11998
12099 if ( ! state . active ) return null ;
121100
122- const classNames = cx ( 'react-context-menu' , {
123- 'react-context-menu--exit' : state . leaving ,
124- } ) ;
101+ const classNames = cx ( 'react-context-menu' , { 'react-context-menu--exit' : state . leaving } ) ;
125102
126103 return (
127104 < div
128105 className = { classNames }
129- style = { {
130- left : state . position . x ,
131- top : state . position . y ,
132- } }
106+ style = { { left : state . position . x , top : state . position . y } }
133107 role = "menu"
134108 ref = { contextMenuRef }
135109 onAnimationEnd = { handleAnimationEnd }
0 commit comments