import { useRef, useState, useLayoutEffect } from 'react'; export function useIsTruncated( content: string | null, ): [React.RefObject, boolean] { const ref = useRef(null); const [isTruncated, setIsTruncated] = useState(false); useLayoutEffect(() => { const el = ref.current; if (!el) { setIsTruncated(false); } else { setIsTruncated(el.scrollWidth > el.clientWidth); } }, [content]); return [ref, isTruncated]; }