@@ -6,7 +6,7 @@ import { useTooltip } from 'components/TooltipProvider'
66import useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'
77import { computeTooltipPosition } from '../../utils/compute-positions'
88import styles from './styles.module.css'
9- import type { IPosition , ITooltip } from './TooltipTypes'
9+ import type { IPosition , ITooltip , PlacesType } from './TooltipTypes'
1010
1111const Tooltip = ( {
1212 // props
@@ -45,6 +45,7 @@ const Tooltip = ({
4545 const tooltipArrowRef = useRef < HTMLElement > ( null )
4646 const tooltipShowDelayTimerRef = useRef < NodeJS . Timeout | null > ( null )
4747 const tooltipHideDelayTimerRef = useRef < NodeJS . Timeout | null > ( null )
48+ const [ actualPlacement , setActualPlacement ] = useState ( place )
4849 const [ inlineStyles , setInlineStyles ] = useState ( { } )
4950 const [ inlineArrowStyles , setInlineArrowStyles ] = useState ( { } )
5051 const [ show , setShow ] = useState ( false )
@@ -228,6 +229,7 @@ const Tooltip = ({
228229 if ( Object . keys ( computedStylesData . tooltipArrowStyles ) . length ) {
229230 setInlineArrowStyles ( computedStylesData . tooltipArrowStyles )
230231 }
232+ setActualPlacement ( computedStylesData . place as PlacesType )
231233 } )
232234 }
233235
@@ -465,6 +467,7 @@ const Tooltip = ({
465467 if ( Object . keys ( computedStylesData . tooltipArrowStyles ) . length ) {
466468 setInlineArrowStyles ( computedStylesData . tooltipArrowStyles )
467469 }
470+ setActualPlacement ( computedStylesData . place as PlacesType )
468471 } )
469472 } , [ show , activeAnchor , content , html , place , offset , positionStrategy , position ] )
470473
@@ -520,6 +523,10 @@ const Tooltip = ({
520523 [ styles [ 'show' ] ] : canShow ,
521524 [ styles [ 'fixed' ] ] : positionStrategy === 'fixed' ,
522525 [ 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' ,
523530 } ) }
524531 style = { { ...externalStyles , ...inlineStyles } }
525532 ref = { tooltipRef }
0 commit comments