react-use-rect
Advanced tools
Comparing version
@@ -1,1 +0,1 @@ | ||
import{useRef as s,useEffect as f,useCallback as p,useLayoutEffect as R}from"react";function x(e,t={}){let n=s(e);f(()=>{n.current=e});let u=s(t);f(()=>{u.current=t});let r=s(null),i=s(null),l=p(()=>{if(!r.current)return;let c=r.current.getBoundingClientRect();E(i.current,c)&&(i.current=c,n.current(c))},[]),o=s(null),a=p(()=>{o.current&&o.current.disconnect(),r.current&&u.current.resize&&(o.current=new ResizeObserver(l),o.current.observe(r.current))},[]);f(()=>()=>{o.current&&o.current.disconnect()});let m=p(c=>{r.current=c,l(),a()},[]);return b(l),[m,l]}var v=["bottom","height","left","right","top","width","x","y"];function E(e,t){return!e||e!==t&&v.some(n=>e[n]!==t[n])}var b=typeof window=="undefined"?f:R;import{useEffect as d,useRef as w}from"react";function O(e,t){if(typeof window===void 0)return;let n=w(t);d(()=>{n.current=t}),d(()=>{let u=i=>{n.current(i)},r={capture:!0,passive:!0};return window.addEventListener(e,u,r),()=>{window.removeEventListener(e,u,r)}},[e])}export{x as useRect,O as useWindowOn}; | ||
import{useRef as s,useEffect as f,useCallback as p,useLayoutEffect as R}from"react";function x(e,t={}){let n=s(e);f(()=>{n.current=e});let u=s(t);f(()=>{u.current=t});let r=s(null),i=s(null),l=p(()=>{if(!r.current)return;let c=r.current.getBoundingClientRect();E(i.current,c)&&(i.current=c,n.current(c))},[]),o=s(null),a=p(()=>{o.current&&o.current.disconnect(),r.current&&u.current.resize&&(o.current=new ResizeObserver(l),o.current.observe(r.current))},[]);f(()=>()=>{o.current&&o.current.disconnect()},[]);let m=p(c=>{r.current=c,l(),a()},[]);return b(l),[m,l]}var v=["bottom","height","left","right","top","width","x","y"];function E(e,t){return!e||e!==t&&v.some(n=>e[n]!==t[n])}var b=typeof window=="undefined"?f:R;import{useEffect as d,useRef as w}from"react";function O(e,t){if(typeof window===void 0)return;let n=w(t);d(()=>{n.current=t}),d(()=>{let u=i=>{n.current(i)},r={capture:!0,passive:!0};return window.addEventListener(e,u,r),()=>{window.removeEventListener(e,u,r)}},[e])}export{x as useRect,O as useWindowOn}; |
{ | ||
"name": "react-use-rect", | ||
"version": "2.0.0-alpha", | ||
"version": "2.0.0-alpha.1", | ||
"description": "Hook that measures element boundaries", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -74,3 +74,3 @@ import { useRef, useEffect, useCallback, useLayoutEffect } from 'react'; | ||
}; | ||
}); | ||
}, []); | ||
@@ -77,0 +77,0 @@ const setElement = useCallback((element: Element | null) => { |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
8191
0.11%0
-100%