Skip to content

Commit 8cc5987

Browse files
SevereCloudactions-user
authored andcommitted
fix(OnboardingTooltipContainer): revert tooltip container from context (#8735)
This reverts commit 82dbd80.
1 parent 934c2d5 commit 8cc5987

File tree

3 files changed

+8
-36
lines changed

3 files changed

+8
-36
lines changed

packages/vkui/src/components/OnboardingTooltip/OnboardingTooltip.tsx

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import {
1515
useFloatingMiddlewaresBootstrap,
1616
usePlacementChangeCallback,
1717
} from '../../lib/floating';
18+
import { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';
1819
import { warnOnce } from '../../lib/warnOnce';
1920
import { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';
2021
import type { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';
2122
import { FocusTrap } from '../FocusTrap/FocusTrap';
2223
import { useNavTransition } from '../NavTransitionContext/NavTransitionContext';
2324
import { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';
2425
import { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';
25-
import { useOnboardingTooltipContext } from './OnboardingTooltipContext';
2626
import styles from './OnboardingTooltip.module.css';
2727

2828
const warn = warnOnce('OnboardingTooltip');
@@ -109,7 +109,6 @@ export const OnboardingTooltip = ({
109109
const generatedId = React.useId();
110110
const tooltipId = idProp || generatedId;
111111
const { entering } = useNavTransition();
112-
const { containerRef: tooltipContainerRef } = useOnboardingTooltipContext();
113112

114113
const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);
115114
const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);
@@ -196,23 +195,18 @@ export const OnboardingTooltip = ({
196195
);
197196
}
198197

199-
React.useEffect(
198+
useIsomorphicLayoutEffect(
200199
function initialize() {
201200
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+
);
211205
setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');
212206
refs.setReference(referenceEl);
213207
}
214208
},
215-
[childRef, refs, tooltipContainerRef],
209+
[childRef],
216210
);
217211

218212
if (process.env.NODE_ENV === 'development') {

packages/vkui/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
'use client';
2-
31
import * as React from 'react';
4-
import { useExternRef } from '../../hooks/useExternRef';
52
import { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';
63
import type { HasComponent, HasDataAttribute } from '../../types';
7-
import { OnboardingTooltipContext } from './OnboardingTooltipContext';
84

95
export const onboardingTooltipContainerAttr = 'data-onboarding-tooltip-container';
106

@@ -22,16 +18,11 @@ export const OnboardingTooltipContainer: React.ForwardRefExoticComponent<
2218
// eslint-disable-next-line react/display-name -- используется defineComponentDisplayNames
2319
> = React.forwardRef<HTMLDivElement, OnboardingTooltipContainerProps>(
2420
({ fixed = false, Component = 'div', ...props }, ref) => {
25-
const containerRef = useExternRef(ref);
2621
const dataProps = {
2722
[onboardingTooltipContainerAttr]: fixed ? 'fixed' : 'true',
2823
};
2924

30-
return (
31-
<OnboardingTooltipContext.Provider value={{ containerRef }}>
32-
<Component {...dataProps} {...props} ref={containerRef} />
33-
</OnboardingTooltipContext.Provider>
34-
);
25+
return <Component {...dataProps} {...props} ref={ref} />;
3526
},
3627
);
3728

packages/vkui/src/components/OnboardingTooltip/OnboardingTooltipContext.tsx

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)