import { useEffect, useState } from "react" export default function useResizeObserver( ref: React.RefObject, ) { const [size, setSize] = useState({ width: 0, height: 0 }) useEffect(() => { if (!ref.current) return const observer = new ResizeObserver(([entry]) => { setSize({ width: entry?.contentRect.width ?? 0, height: entry?.contentRect.height ?? 0, }) }) observer.observe(ref.current) return () => observer.disconnect() }, [ref]) return size }