@@ -6,7 +6,7 @@ import { useTooltip } from 'components/TooltipProvider'
6
6
import useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'
7
7
import { computeTooltipPosition } from '../../utils/compute-positions'
8
8
import styles from './styles.module.css'
9
- import type { IPosition , ITooltip } from './TooltipTypes'
9
+ import type { IPosition , ITooltip , PlacesType } from './TooltipTypes'
10
10
11
11
const Tooltip = ( {
12
12
// props
@@ -45,6 +45,7 @@ const Tooltip = ({
45
45
const tooltipArrowRef = useRef < HTMLElement > ( null )
46
46
const tooltipShowDelayTimerRef = useRef < NodeJS . Timeout | null > ( null )
47
47
const tooltipHideDelayTimerRef = useRef < NodeJS . Timeout | null > ( null )
48
+ const [ actualPlacement , setActualPlacement ] = useState ( place )
48
49
const [ inlineStyles , setInlineStyles ] = useState ( { } )
49
50
const [ inlineArrowStyles , setInlineArrowStyles ] = useState ( { } )
50
51
const [ show , setShow ] = useState ( false )
@@ -228,6 +229,7 @@ const Tooltip = ({
228
229
if ( Object . keys ( computedStylesData . tooltipArrowStyles ) . length ) {
229
230
setInlineArrowStyles ( computedStylesData . tooltipArrowStyles )
230
231
}
232
+ setActualPlacement ( computedStylesData . place as PlacesType )
231
233
} )
232
234
}
233
235
@@ -465,6 +467,7 @@ const Tooltip = ({
465
467
if ( Object . keys ( computedStylesData . tooltipArrowStyles ) . length ) {
466
468
setInlineArrowStyles ( computedStylesData . tooltipArrowStyles )
467
469
}
470
+ setActualPlacement ( computedStylesData . place as PlacesType )
468
471
} )
469
472
} , [ show , activeAnchor , content , html , place , offset , positionStrategy , position ] )
470
473
@@ -520,6 +523,10 @@ const Tooltip = ({
520
523
[ styles [ 'show' ] ] : canShow ,
521
524
[ styles [ 'fixed' ] ] : positionStrategy === 'fixed' ,
522
525
[ styles [ 'clickable' ] ] : clickable ,
526
+ 'react-tooltip__place-top' : actualPlacement === 'top' ,
527
+ 'react-tooltip__place-right' : actualPlacement === 'right' ,
528
+ 'react-tooltip__place-bottom' : actualPlacement === 'bottom' ,
529
+ 'react-tooltip__place-left' : actualPlacement === 'left' ,
523
530
} ) }
524
531
style = { { ...externalStyles , ...inlineStyles } }
525
532
ref = { tooltipRef }
0 commit comments