blob: 2c94a168028ccb7fb7c08fa4e468ca626460fbe3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import mem from 'mem';
const onElementRemoval = mem(async (element: Element): Promise<void> => {
return new Promise(resolve => {
// @ts-expect-error until https://github.com/microsoft/TypeScript/issues/37861
new ResizeObserver(([{target}], observer) => {
if (!target.isConnected) {
observer.disconnect();
resolve();
}
}).observe(element);
});
});
export default onElementRemoval;
|