UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

23 lines (20 loc) 595 B
import { useState, useEffect } from 'react'; function useOverflow(ref) { const [hasOverflow, setHasOverflow] = useState(false); useEffect(() => { if (ref.current === null) { return; } const observer = new ResizeObserver(entries => { for (const entry of entries) { setHasOverflow(entry.target.scrollHeight > entry.target.clientHeight || entry.target.scrollWidth > entry.target.clientWidth); } }); observer.observe(ref.current); return () => { observer.disconnect(); }; }, [ref]); return hasOverflow; } export { useOverflow };