@@ -15,14 +15,14 @@ import {
15
15
useFloatingMiddlewaresBootstrap ,
16
16
usePlacementChangeCallback ,
17
17
} from '../../lib/floating' ;
18
+ import { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect' ;
18
19
import { warnOnce } from '../../lib/warnOnce' ;
19
20
import { DEFAULT_ARROW_HEIGHT , DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon' ;
20
21
import type { FloatingArrowProps } from '../FloatingArrow/FloatingArrow' ;
21
22
import { FocusTrap } from '../FocusTrap/FocusTrap' ;
22
23
import { useNavTransition } from '../NavTransitionContext/NavTransitionContext' ;
23
24
import { TOOLTIP_MAX_WIDTH , TooltipBase , type TooltipBaseProps } from '../TooltipBase/TooltipBase' ;
24
25
import { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer' ;
25
- import { useOnboardingTooltipContext } from './OnboardingTooltipContext' ;
26
26
import styles from './OnboardingTooltip.module.css' ;
27
27
28
28
const warn = warnOnce ( 'OnboardingTooltip' ) ;
@@ -109,7 +109,6 @@ export const OnboardingTooltip = ({
109
109
const generatedId = React . useId ( ) ;
110
110
const tooltipId = idProp || generatedId ;
111
111
const { entering } = useNavTransition ( ) ;
112
- const { containerRef : tooltipContainerRef } = useOnboardingTooltipContext ( ) ;
113
112
114
113
const [ arrowRef , setArrowRef ] = React . useState < HTMLDivElement | null > ( null ) ;
115
114
const [ tooltipContainer , setTooltipContainer ] = React . useState < HTMLElement | null > ( null ) ;
@@ -196,23 +195,18 @@ export const OnboardingTooltip = ({
196
195
) ;
197
196
}
198
197
199
- React . useEffect (
198
+ useIsomorphicLayoutEffect (
200
199
function initialize ( ) {
201
200
const referenceEl = childRef . current ;
202
- if ( ! referenceEl ) {
203
- return ;
204
- }
205
- const tooltipContainer =
206
- tooltipContainerRef . current ||
207
- // eslint-disable-next-line no-restricted-properties
208
- referenceEl . closest < HTMLDivElement > ( `[${ onboardingTooltipContainerAttr } ]` ) ;
209
- if ( tooltipContainer ) {
210
- setTooltipContainer ( tooltipContainer ) ;
201
+ if ( referenceEl ) {
202
+ setTooltipContainer (
203
+ referenceEl . closest < HTMLDivElement > ( `[${ onboardingTooltipContainerAttr } ]` ) , // eslint-disable-line no-restricted-properties
204
+ ) ;
211
205
setPositionStrategy ( referenceEl . style . position === 'fixed' ? 'fixed' : 'absolute' ) ;
212
206
refs . setReference ( referenceEl ) ;
213
207
}
214
208
} ,
215
- [ childRef , refs , tooltipContainerRef ] ,
209
+ [ childRef ] ,
216
210
) ;
217
211
218
212
if ( process . env . NODE_ENV === 'development' ) {
0 commit comments