@@ -95,6 +95,10 @@ export interface PopperProps {
9595 onTriggerEnter ?: ( event ?: KeyboardEvent ) => void ;
9696 /** Callback function when popper is clicked */
9797 onPopperClick ?: ( event ?: MouseEvent ) => void ;
98+ /** Callback function when mouse enters popper content */
99+ onPopperMouseEnter ?: ( event ?: MouseEvent ) => void ;
100+ /** Callback function when mouse leaves popper content */
101+ onPopperMouseLeave ?: ( event ?: MouseEvent ) => void ;
98102 /** Callback function when document is clicked */
99103 onDocumentClick ?: ( event ?: MouseEvent , triggerElement ?: HTMLElement , popperElement ?: HTMLElement ) => void ;
100104 /** Callback function when keydown event occurs on document */
@@ -140,6 +144,8 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
140144 onTriggerClick,
141145 onTriggerEnter,
142146 onPopperClick,
147+ onPopperMouseEnter,
148+ onPopperMouseLeave,
143149 onDocumentKeyDown,
144150 enableFlip = true ,
145151 flipBehavior = 'flip' ,
@@ -186,6 +192,8 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
186192 addEventListener ( onTriggerClick , refOrTrigger , 'click' ) ;
187193 addEventListener ( onTriggerEnter , refOrTrigger , 'keydown' ) ;
188194 addEventListener ( onPopperClick , popperElement , 'click' ) ;
195+ addEventListener ( onPopperMouseEnter , popperElement , 'mouseenter' ) ;
196+ addEventListener ( onPopperMouseLeave , popperElement , 'mouseleave' ) ;
189197 onDocumentClick && addEventListener ( onDocumentClickCallback , document , 'click' ) ;
190198 addEventListener ( onDocumentKeyDown , document , 'keydown' ) ;
191199
@@ -203,6 +211,8 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
203211 removeEventListener ( onTriggerClick , refOrTrigger , 'click' ) ;
204212 removeEventListener ( onTriggerEnter , refOrTrigger , 'keydown' ) ;
205213 removeEventListener ( onPopperClick , popperElement , 'click' ) ;
214+ removeEventListener ( onPopperMouseEnter , popperElement , 'mouseenter' ) ;
215+ removeEventListener ( onPopperMouseLeave , popperElement , 'mouseleave' ) ;
206216 onDocumentClick && removeEventListener ( onDocumentClickCallback , document , 'click' ) ;
207217 removeEventListener ( onDocumentKeyDown , document , 'keydown' ) ;
208218 observer . disconnect ( ) ;
@@ -217,6 +227,8 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
217227 onTriggerClick ,
218228 onTriggerEnter ,
219229 onPopperClick ,
230+ onPopperMouseEnter ,
231+ onPopperMouseLeave ,
220232 onDocumentClick ,
221233 onDocumentKeyDown ,
222234 refElement
0 commit comments