Skip to content

Commit 1348916

Browse files
fix: hide tooltip when anchor is removed from DOM
1 parent 7dec4fc commit 1348916

File tree

1 file changed

+33
-27
lines changed

1 file changed

+33
-27
lines changed

src/App.tsx

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,23 @@ import styles from './styles.module.css'
88
import { inline, offset } from './index'
99

1010
function WithProviderMinimal() {
11+
const [hide, setHide] = useState(false)
1112
return (
1213
<section style={{ marginTop: '50px' }}>
13-
<p>
14-
<TooltipWrapper place="bottom" content="Shared Global Tooltip">
15-
<button>Minimal 1</button>
16-
</TooltipWrapper>
17-
<TooltipWrapper place="right" content="Shared Global Tooltip">
18-
<button>Minimal 2</button>
19-
</TooltipWrapper>
20-
</p>
14+
{!hide && (
15+
<p>
16+
<TooltipWrapper place="right" content="Shared Global Tooltip">
17+
<button onClick={() => setHide(false)}>Minimal 1</button>
18+
</TooltipWrapper>
19+
<TooltipWrapper place="bottom" content="Shared Global Tooltip">
20+
<button onClick={() => setHide(true)}>Minimal 2</button>
21+
</TooltipWrapper>
22+
</p>
23+
)}
2124
<Tooltip clickable>
2225
<button>button</button>
2326
</Tooltip>
27+
<button onClick={() => setHide(false)}>show again</button>
2428
</section>
2529
)
2630
}
@@ -127,26 +131,28 @@ function App() {
127131
<WithProviderMultiple />
128132
</TooltipProvider>
129133
<div style={{ display: 'flex', gap: '12px', flexDirection: 'row' }}>
130-
<div>
131-
<div
132-
id="floatAnchor"
133-
className={styles['big-anchor']}
134-
onClick={() => {
135-
setToggle((t) => !t)
136-
}}
137-
>
138-
Hover me!
134+
{!toggle && (
135+
<div>
136+
<div
137+
id="floatAnchor"
138+
className={styles['big-anchor']}
139+
onClick={() => {
140+
setToggle((t) => !t)
141+
}}
142+
>
143+
Hover me!
144+
</div>
145+
<Tooltip
146+
anchorId="floatAnchor"
147+
content={
148+
toggle
149+
? 'This is a float tooltip with a very very large content string'
150+
: 'This is a float tooltip'
151+
}
152+
float
153+
/>
139154
</div>
140-
<Tooltip
141-
anchorId="floatAnchor"
142-
content={
143-
toggle
144-
? 'This is a float tooltip with a very very large content string'
145-
: 'This is a float tooltip'
146-
}
147-
float
148-
/>
149-
</div>
155+
)}
150156
<div>
151157
<div
152158
id="onClickAnchor"

0 commit comments

Comments
 (0)