blob: 27e8b3b47645308cfaa2d79c74918d858f3a2353 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import mem from 'mem';
const onElementRemoval = mem(
async (element: Element): Promise<void> => (
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;
|