UNPKG

@bedrock-layout/use-resize-observer

Version:

bedrock-layout useResizeObserver

23 lines (22 loc) 535 B
import { init as n, registerCallback as s } from "@bedrock-layout/register-resize-callback"; import { useStatefulRef as i } from "@bedrock-layout/use-stateful-ref"; import { useRef as m, useLayoutEffect as a, useEffect as u } from "react"; function b(r, f) { const t = m(r), o = i(); a(() => { t.current = r; }), u(() => { n(); }, []); const e = o.current ?? f; return u(() => { n(); const c = e ? s(e, t) : () => 0; return () => { c(); }; }, [e]), o; } export { b as useResizeObserver };