Files
mtdb_movie/common/resources/client/utils/dom/observe-size.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

22 lines
500 B
TypeScript
Executable File

import {RefObject} from 'react';
type Callback = (e: {width: number; height: number}) => void;
export function observeSize(
ref: RefObject<HTMLElement>,
callback: Callback
): () => void {
const observer = new ResizeObserver(entries => {
const rect = entries[0].contentRect;
callback({width: rect.width, height: rect.height});
});
if (ref.current) {
observer.observe(ref.current);
}
return () => {
if (ref.current) {
observer.unobserve(ref.current);
}
};
}