File tree 2 files changed +11
-9
lines changed
2 files changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -712,7 +712,11 @@ const Transition = functionModule(
712
712
{ ...props }
713
713
{ ...( props . timeout != null ?
714
714
{ timeout : props . timeout }
715
- : { nodeRef, addEndListener : endListener ( ) } ) }
715
+ : {
716
+ nodeRef,
717
+ addEndListener :
718
+ props . addEndListener ?? endListener ( ) ,
719
+ } ) }
716
720
>
717
721
{ cloneRef ( props . children as ReactNode , nodeRef ) }
718
722
</ TransitionComponent >
Original file line number Diff line number Diff line change @@ -64,13 +64,11 @@ export function endListener() {
64
64
* @param done A callback function to be executed when the animation ends.
65
65
*/
66
66
return ( node : HTMLElement , done : ( ) => void ) => {
67
- node ?. addEventListener (
68
- "transitionend" ,
69
- ( e ) => {
70
- if ( e . target !== e . currentTarget ) return ;
71
- done ( ) ;
72
- } ,
73
- false ,
74
- ) ;
67
+ const listener = ( e : TransitionEvent ) => {
68
+ if ( e . target !== e . currentTarget ) return ;
69
+ node ?. removeEventListener ( "transitionend" , listener , false ) ;
70
+ done ( ) ;
71
+ } ;
72
+ node ?. addEventListener ( "transitionend" , listener , false ) ;
75
73
} ;
76
74
}
You can’t perform that action at this time.
0 commit comments