UNPKG

react-measured-dom

Version:
2 lines (1 loc) 1.74 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var reactMeasured=require("react-measured"),measureUsingBoundingClientRect=e=>{var r=e.getBoundingClientRect();return{width:r.width,height:r.height,top:r.top,right:r.right,bottom:r.bottom,left:r.left}},createHTMLChecker=()=>{var e=reactMeasured.createInNextFrame(),r=reactMeasured.createAnimationFrameChecker((r,t,a)=>{var o=[];if(r.forEach(e=>{var r=measureUsingBoundingClientRect(e.element),a=e.transform?e.transform(r):r,s=t.get(e);reactMeasured.areBoundingBoxesEqual(a,s)||(t.set(e,a),o.push(()=>e.onChange(a)))}),!o.length)return a();e(()=>{o.forEach(e=>e()),a()})}),t=r.clear;return Object.assign(r,{clear:()=>{e.cancel(),t()}})},checker=createHTMLChecker(),useBoundingBox=reactMeasured.createUseBoundingBox(checker),htmlTags=["a","abbr","address","article","aside","b","bdi","bdo","big","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","i","iframe","img","input","ins","kbd","label","legend","li","main","map","mark","meter","nav","object","ol","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","u","ul","var","video"],Measured=reactMeasured.createMeasured(useBoundingBox);htmlTags.forEach(e=>{Object.defineProperty(Measured,e,{get:reactMeasured.lazyValue(()=>Measured(e))})}),exports.Measured=Measured,exports.createHTMLChecker=createHTMLChecker,exports.useBoundingBox=useBoundingBox;//# sourceMappingURL=index.cjs.js.map