import React from "react"; import useResizeObserver from "./useResizeObserver"; export const useSize = (target: React.RefObject) => { const [size, setSize] = React.useState(); React.useLayoutEffect(() => { setSize(target.current?.getBoundingClientRect()); }, [target]); // Where the magic happens useResizeObserver(target, (entry) => setSize(entry.contentRect)); return size; };