UNPKG

react-measured

Version:
2 lines (1 loc) 2.72 kB
import t,{useState as e,useEffect as r,useCallback as n}from"react";var i=()=>{var t,e;return Object.assign(r=>{e=r,t||(t=window.requestAnimationFrame(()=>{t=void 0,e()}))},{cancel:()=>{t&&(t=window.cancelAnimationFrame(t))}})},o=t=>{var e=new Set,r=new Map,n=i(),o=()=>{0!==e.size&&n(()=>{t(e,r,()=>o())})};return Object.assign((t,n,i)=>{var a=(t=>(e.add(t),t))({element:t,transform:i,onChange:n});return o(),()=>(t=>{e.delete(t),r.delete(t)})(a)},{clear:()=>{e.clear(),r.clear(),n.cancel()}})};function a(t,e){if(null==t)return{};var r,n,i=function(t,e){if(null==t)return{};var r,n,i={},o=Object.keys(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}function l(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)){var r=[],n=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(n=(a=l.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==l.return||l.return()}finally{if(i)throw o}}return r}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var u=()=>void 0,c=t=>(function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,o=arguments.length>2?arguments[2]:void 0,a=e(),c=l(a,2),f=c[0],h=c[1];return r(()=>{if(n.current)return t(n.current,t=>{h(t),i&&i(t)},o)},[n.current,i,o]),r(()=>()=>i&&i(void 0),[]),f}),f=t=>({width:t.width,height:t.height,top:NaN,right:NaN,bottom:NaN,left:NaN}),h=t=>({top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:NaN,height:NaN}),d=(t,e)=>(t=>"function"==typeof t)(t)?e?t(e):null:t;function g(e){return function(r){return i=>{var o=i.children,l=i.onBoundingBoxChange,u=i.positionOnly,c=void 0!==u&&u,g=i.sizeOnly,s=void 0!==g&&g,v=a(i,["children","onBoundingBoxChange","positionOnly","sizeOnly"]),p=t.useRef(),y=n(t=>s?f(t):c?h(t):t,[s,c]),b=e(p,l,y);return t.createElement(r,Object.assign({},v,{ref:p}),d(o,b))}}}var s=(t,e,r)=>isNaN(t)&&isNaN(e)||Math.abs(t-e)<=r,v=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.001;return!!e&&s(t.left,e.left,r)&&s(t.top,e.top,r)&&s(t.width,e.width,r)&&s(t.height,e.height,r)};function p(t){var e,r=!1;return()=>(r||(e=t(),r=!0),e)}export{v as areBoundingBoxesEqual,o as createAnimationFrameChecker,i as createInNextFrame,g as createMeasured,c as createUseBoundingBox,f as discardPosition,h as discardSize,p as lazyValue,d as renderChildren};//# sourceMappingURL=index.es.js.map