@@ -3,7 +3,8 @@ import classNames from 'classnames'
33import debounce from 'utils/debounce'
44import { useTooltip } from 'components/TooltipProvider'
55import useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'
6- import { computeTooltipPosition } from '../../utils/compute-positions'
6+ import { getScrollParent } from 'utils/get-scroll-parent'
7+ import { computeTooltipPosition } from 'utils/compute-positions'
78import styles from './styles.module.css'
89import type { IPosition , ITooltip , PlacesType } from './TooltipTypes'
910
@@ -302,13 +303,13 @@ const Tooltip = ({
302303 handleShow ( false )
303304 }
304305
305- const tooltipParent = tooltipRef . current ?. parentElement
306- const anchorParent = activeAnchor ?. parentElement
306+ const anchorScrollParent = getScrollParent ( activeAnchor )
307+ const tooltipScrollParent = getScrollParent ( tooltipRef . current )
307308
308309 if ( closeOnScroll ) {
309310 window . addEventListener ( 'scroll' , handleScrollResize )
310- tooltipParent ?. addEventListener ( 'scroll' , handleScrollResize )
311- anchorParent ?. addEventListener ( 'scroll' , handleScrollResize )
311+ anchorScrollParent ?. addEventListener ( 'scroll' , handleScrollResize )
312+ tooltipScrollParent ?. addEventListener ( 'scroll' , handleScrollResize )
312313 }
313314 if ( closeOnResize ) {
314315 window . addEventListener ( 'resize' , handleScrollResize )
@@ -367,8 +368,8 @@ const Tooltip = ({
367368 return ( ) => {
368369 if ( closeOnScroll ) {
369370 window . removeEventListener ( 'scroll' , handleScrollResize )
370- tooltipParent ?. removeEventListener ( 'scroll' , handleScrollResize )
371- anchorParent ?. removeEventListener ( 'scroll' , handleScrollResize )
371+ anchorScrollParent ?. removeEventListener ( 'scroll' , handleScrollResize )
372+ tooltipScrollParent ?. removeEventListener ( 'scroll' , handleScrollResize )
372373 }
373374 if ( closeOnResize ) {
374375 window . removeEventListener ( 'resize' , handleScrollResize )
0 commit comments