@tamagui/use-element-layout 2.0.0-rc.4 → 2.0.0-rc.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +282 -132
- package/dist/cjs/index.native.js +356 -197
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/index.js +265 -125
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.mjs +267 -120
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +341 -185
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +7 -10
- package/src/index.tsx +280 -89
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +4 -4
- package/dist/cjs/index.js +0 -198
- package/dist/cjs/index.js.map +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_is_equal_shallow","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","state","NodeRectCache","LastChangeTime","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","BoundingRects","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRect","cachedRect","cachedParentRect","isEqualShallow","event","userSkipVal","process","env","TAMAGUI_LAYOUT_FRAME_SKIP","RUN_EVERY_X_FRAMES","layoutOnAnimationFrame","visibleNodes","didRun","res","io","disconnect","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","iterator","_step2","next","done","boundingClientRect","err","return","didObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","HTMLElement","disableKey","observe","push","setTimeout","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","now","a","b","height","top","width","x","y","pageX","pageY","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","node2","add","delete","unobserve"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,2BAAA,EAAAA,CAAA,KAAAA,2BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAA,MAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAA,0BAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA,OAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAArB,YAA0C,CAAAK,aAAA;AAI1C,IAAAiB,kBAAM,GAAiBC,OAAA,oBAAmC;EACpDC,gBAAA,GAAmBD,OAAA,qBAAiC;EACpDE,uBAAQ,GAAAF,OAAqB,CAC7B,2BAAoB;EAAAG,YAAI,GAAAH,OAGxB;AASsC,SAC1CI,YAAAC,IAAA,EAAAC,KAAA;EACA,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AACF;AAIE,IAAAG,cAAW,kBAAM,IAAAC,OAAA;EAAAC,gBAAA,sBAAAD,OAAA;EAAAE,KAAA,sBAAAC,GAAA;EAAAC,iBAAA,sBAAAJ,OAAA;EAAAK,0BAAA;EAAAC,uBAAA,sBAAAb,YAAA,CAAAc,aAAA;EAAAC,MAAA;EAAAlC,2BAAA,YAAAA,CAAAmC,KAAA;IAEjB;QAAAC,OAAA;QAAAC;MAAA,IAAAF,KAAA;MAAAG,EAAA,OAAAnB,YAA0B,CAAAoB,KAAM;IAC9B,WAAAtB,gBAAA,CAAAuB,yBAAiC;MACnCT,0BAGE,CAAAO,EAAA,IAAAF,OAAA;IAIJ,IAGIA,OAAA,EAUGE,EAAA,CACL,kBAAW,IAAAvB,kBAAA,CAAA0B,GAAA,EAAAT,uBAAA,CAAAU,QAAA;MACb7C,KAAA,EAAAyC,EAAA;MAmBAD;IAIA,EAAI;EACJ;EAAAM,0BAAsB;EAAAC,QAA+B;AAE9C,SAASjC,mBAAeA,CAAAkC,KAAA;EACzBD,QAAA,GAAAC,KAAA;AAON;AAEA,IAAAC,aAAS,kBAAuB,IAAApB,OAAA;EAAAqB,cAAA,sBAAArB,OAAA;EAAAsB,YAAA;EAAAC,aAAA,sBAAAC,GAAA;AAC9B,SAAK9C,MAAUA,CAAA;EAEkB4C,YAC9B,KAAYA,YAAA,OAAAC,aAAA,KAAAA,aAAA,CAAAE,OAAA,WAAAC,EAAA;IACX,OAAAA,EAAA,CAAQ;EACN,IAAAH,aAAM,CAAAI,KAAO,EAAM;AACnB;AACkD,SAEnDC,qBAAA;EAAA,CAAApB,MACH,IAAAS,0BAAA,KAAAA,0BAAA,OAAAY,oBAAA,WAAAC,OAAA;IACAA,OAAA,CAAAL,OAAA,WAAAM,KAAA;MACE,IAAAC,IAAA,GAAWD,KAAA,CAAAE,MAAA;MACb7B,iBAAA,CAAA8B,GAAA,CAAAF,IAAA,MAAAD,KAAA,CAAAI,cAAA,IAAA/B,iBAAA,CAAAgC,GAAA,CAAAJ,IAAA,EAAAD,KAAA,CAAAI,cAAA;IACF;EACF;IAEIE,SAAQ;EACV;AAEA;AACE,IAAA7B,MAAM;EACN,IAAA8B,aAAW,kBAAyB,IAAAtC,OAAA;EAEpC,eAAMuC,qBAAkBA,CAAAP,IAAA;IACxB,IAAIQ,QAAC,GAAAzC,cAAY,CAAAmC,GAAA,CAAAF,IAAA;IAEjB,IAAI,OAAAQ,QACA;MAEJ,IAAIC,UAAA,GAAaT,IAAA,CAAAU,aAAS;MACxB,IAAAD,UAAa;QACX,IAAAE,QAAA,EAAcC,UAAQ;QACtB,IAAA1B,QAAA,KAAc,OAAI;UACnB,KAAA2B,EAAA,EAAAC,EAAA,UAAAC,OAAA,CAAAC,GAAA,EAEIV,aAAO,CAAAJ,GAAA,CAAAF,IAAA,GACVM,aAAA,CAAAJ,GAAA,CAAAO,UAAA,EAGF;UAEF,KAAAI,EAAA,KAAAC,EAAA,EACE;UAIGH,QAAA,GAAYE,EAAC,EAAAD,UAAA,GAAAE,EAAA;QAChB,OAGIH,QAAA,GAAAX,IAAa,CAAAiB,qBAAsB,CACnC,GAAAL,UAAA,GAAAH,UAAmB,CAAAQ,qBAA4B;QAGnD,IAAC,GAAAN,QACD,IAAC,CAAAC,UAAA;UAAA,IAAAM,UAAA,GAAA9B,aAAA,CAAAc,GAAA,CAAAF,IAAA;YAAAmB,gBAAA,GAAA/B,aAAA,CAAAc,GAAA,CAAAO,UAAA;UAGA,KAAAS,UAAA,KAAAC,gBAAA;UAAe;UAEf;UAED,KAAA3D,uBAAgC,CAAA4D,cAChC,EAAcF,UAAI,EAAAP,QAAY;UAAA;UAE9B,EAAM,GAAAnD,uBAAQ,CAAA4D,cAAgC,EAAAD,gBAAU,EAAAP,UAAA;YAEpDxB,aACF,CAAAgB,GAAA,CAAAJ,IAAA,EAAcW,QAAI,CAAM,EAAAvB,aAAe,CAAAgB,GAAA,CAAKK,UAE5C,EAAAG,UAAc;YAElB,IAAAS,KAAA,GAAAzE,qBAAA,CAAA+D,QAAA,EAAAC,UAAA;YACFtB,YAAA,GAAAC,aAAA,CAAAa,GAAA,CAAAJ,IAAA;cAMM,OAAAQ,QAAc,CAAQa,KAAI;YAGhC,KAAeb,QAAA,CAAAa,KAAA;UACT;QACF;MAGe;IACb;EAAe;EAEX,IAAAC,WAAG,GAAAC,OAAW,CAAAC,GAAA,CAAAC,yBAAA;IAAAC,kBAAA,GAAAJ,WAAA,IAAAA,WAAA;EACd,eAAAK,sBAAoBA,CAAA;IAClB,IAAAzC,QAAA,YAAc;MAEhB,IAAA0C,YAAQ;QAAAC,MAAA,aAAAd,OAAA,WAAAe,GAAA;UAAA,IACVC,EAAA,OAAAlC,oBAAA,WAAAC,OAAA;cACAiC,EAAA,CAAAC,UAAA;cAAA,IACEC,0BAAW;gBAAAC,kBAAA;gBAAAC,eAAA;cACb;gBACF,SAAAC,UAAA,GAAAtC,OAAA,CAAAjC,MAAA,CAAAwE,QAAA,KAAAC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,0BAAA;kBAEI,IAAAlC,KAAA,GAAauC,MAAA,CAAAnG,KAAA;kBAEjBmE,aAAmB,CAAAF,GAAA,CAAAL,KAAO,CAAAE,MAAA,EAAAF,KAAA,CAAA0C,kBAAA;gBACxB;cACA,SAAMC,GAAA;gBACFR,kBAAc,OAAAC,eAA2B,GAAAO,GAAA;cAM/C;gBAEK;kBAML,CAAAT,0BAAsB,IAASG,UAAA,CAAAO,MAAA,YAAAP,UAAA,CAAAO,MAAA;gBAC7B;kBACD,IAAAT,kBAAA,EAEL,MAAAC,eAAA;gBAEA;cACF;cAEAL,GAAA;YACF;cAEazB,SAAA;YAKT;YAAAuC,UAAa;YAAAC,yBAAA;YAAAC,iBAAA;YAAAC,cAAA;UACX,IAAQ;YACR,KAAQ,IAAAC,SAAA,GAAA9E,KAAA,CAAAL,MAAA,CAAAwE,QAAA,KAAAY,KAAA,IAAAJ,yBAAA,IAAAI,KAAA,GAAAD,SAAA,CAAAT,IAAA,IAAAC,IAAA,GAAAK,yBAAA;cACV,IAAA7C,IAAA,GAAAiD,KAAA,CAAA9G,KAAA;cACA,IAAWuB,WAAS,CAAAsC,IAAA,CAAAU,aAAA,EAAAwC,WAAA;gBAIlB,IAAAC,UAAwB,GAAClF,gBAA2C,CAAAiC,GAAA,CAAAF,IAAA;gBAChEmD,UAAc,IAAA9E,0BACL,CAAE8E,UACT,MAAM,EAAE,IAAA/E,iBAAA,CAAA8B,GAAA,CAAAF,IAAA,aAAA4C,UAAA,OAAAb,EAAA,CAAAqB,OAAA,CAAApD,IAAA,GAAA+B,EAAA,CAAAqB,OAAA,CAAApD,IAAA,CAAAU,aAAA,GAAAkB,YAAA,CAAAyB,IAAA,CAAArD,IAAA;cACT;YACX;UAEO,CAAS,QAAA0C,GAAA;YAIRI,iBAAa,OAAAC,cAAA,GAAWL,GAAA;UAI1B,UAAQ;YAML;cACC,CAAAG,yBAAoB,IAAAG,SAAA,CAAAL,MAAA,YAAAK,SAAA,CAAAL,MAAA;YACrB,UAAM;cAEL,IAAIG,iBAGV,EAQM,MAAAC,cAAkB;YACxB;UAEI;UACEH,UAAK,IAAAd,GAAA;QAAsB,EAC3B;MACFD,MAAA,IAAAD,YAAA,CAAAnC,OAAA,WAAAO,IAAA;QAIGO,qBAAM,CAAAP,IAAA;MACX;IAUF;IACFsD,UAAW,CAAA3B,sBAAS,YAAAD,kBAAA;EACtB;EAEAC,sBAAS,EAAoB;AAC3B;AAGA,IAAA/E,qBAAoB,YAAAA,CAAA+D,QAAkB,EAAAC,UAAA;IACxC;MAEO2C,WAAM;QAILC,MAAC,EAAAC,qBAA6B,CAAA9C,QAAO,EAAAC,UAAS;QAElDX,MAAM,EAAKU;MACT,CAAC;MAID+C,SAAA,EAAAC,IAAA,CAAAC,GAAA;IAAA;EACa;EAAAH,qBACb,YAAAA,CAAAI,CAAA,EAAAC,CAAA;IACF;QAAAC,MAAA;QAAApG,IAAA;QAAAqG,GAAA;QAAAC;MAAA,IAAAJ,CAAA;MAAAK,CAAA,GAAAvG,IAAA,GAAAmG,CAAA,CAAAnG,IAAA;MAAAwG,CAAA,GAAAH,GAAA,GAAAF,CAAA,CAAAE,GAAA;IACA,OAAG;MAIME,CAAA;MAIXC,CAAA;MACAF,KAAI;MACFF,MAAM;MAA+CK,KACnD,EAAAP,CAAA,CAAAlG,IAAA;MAA+B0G,KAC/B,EAAAR,CAAA,CAAAG;IAAuC;EAEzC;AACE,SAAA9G,gBAAOA,CAAAoH,GAAA,EAAA9D,QAAsB;EAEjC,IAAA+D,YAAA;IAAApB,UAAA,OAAA1F,YAAA,CAAA+G,UAAA,EAAAlG,uBAAA;IAAA0B,IAAA,GAAAyE,gBAAA,EAAAF,YAAA,GAAAD,GAAA,CAAAI,OAAA,cAAAH,YAAA,uBAAAA,YAAA,CAAAI,IAAA;EACA3E,IAAA,IAAOQ,QAAA,KAAAzC,cAAA,CAAAqC,GAAA,CAAAJ,IAAA,EAAAQ,QAAA,GAAAvC,gBAAA,CAAAmC,GAAA,CAAAJ,IAAA,EAAAmD,UAAA,QAAA5F,gBAAA,CAAAuB,yBAAA;IAcI,IAAA8F,aACX;IAGA,IAAMpE,QAAM;MACV,IAAAqE,KAAA,IAAAD,aAAA,GAAAN,GAAA,CAAAI,OAAA,cAAAE,aAAA,uBAAAA,aAAA,CAAAD,IAAA;MACA,IAAKE,KAAA;QACP3G,KAAA,CAAA4G,GAAA,CAAAD,KAAA,GAAAjF,oBAAA,IAAAX,0BAAA,KAAAA,0BAAA,CAAAmE,OAAA,CAAAyB,KAAA,GAAAzG,iBAAA,CAAAgC,GAAA,CAAAyE,KAAA;QACA,IAAIpE,UACF,GAAAoE,KAAW,CAAIpE,UAAU;QAG7B,OAAAA,UAAA,IAAAD,QAAA,CAAA5D,qBAAA,CAAAiI,KAAA,CAAA5D,qBAAA,IAAAR,UAAA,CAAAQ,qBAAA;UAEgB/C,KAAA,CAAA6G,MAAA,CACdF,KAAA,CACsD,EAAA9G,cAAA,CAAAgH,MAAA,CAAAF,KAAA,GAAAzF,aAAA,CAAA2F,MAAA,CAAAF,KAAA,GAAAxF,cAAA,CAAA0F,MAAA,CAAAF,KAAA,GAAAzG,iBAAA,CAAA2G,MAAA,CAAAF,KAAA,GAAA5F,0BAAA,IAAAA,0BAAA,CAAA+F,SAAA,CAAAH,KAAA;QACtD,CAAO;MACT;IAIO;EAIL,IACAP,GAAA,EAMW,EAAA9D,QAAA,CAWX;AACA;AAIF,SAAAiE,iBAAAP,CAAA;EAEO,aAAShB,WAAA,GACd,MAEA,OAAQxF,WAAY,CAAAwG,CAAA,EAAAhB,WAAa,IAAAgB,CAAA,QAAc;AACjD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","registerLayoutNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","layout","nativeEvent","first","rAF","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","setTimeout","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","HTMLElement","cleanupNode","disableKey","push","add","err","return","io","observe","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","parent","Promise","res","i1","unobserve","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","parent1","min","max","i2","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onChange","delete","PrevHostNode","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode","nodeType","disconnect","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","callback","out"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,185 +1,325 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
|
-
import { isEqualShallow } from "@tamagui/is-equal-shallow";
|
|
3
2
|
import { createContext, useContext, useId } from "react";
|
|
4
3
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
const LayoutHandlers = /* @__PURE__ */
|
|
4
|
+
const LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
5
|
+
const LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
6
|
+
const Nodes = /* @__PURE__ */new Set();
|
|
7
|
+
const IntersectionState = /* @__PURE__ */new WeakMap();
|
|
8
|
+
const usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
9
|
+
let _debugLayout;
|
|
10
|
+
function isDebugLayout() {
|
|
11
|
+
if (_debugLayout === void 0) _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
|
|
12
|
+
return _debugLayout;
|
|
13
|
+
}
|
|
14
|
+
const DisableLayoutContextValues = {};
|
|
15
|
+
const DisableLayoutContextKey = createContext("");
|
|
16
|
+
const ENABLE = typeof IntersectionObserver !== "undefined";
|
|
17
|
+
const LayoutMeasurementController = ({
|
|
6
18
|
disable,
|
|
7
19
|
children
|
|
8
20
|
}) => {
|
|
9
21
|
const id = useId();
|
|
10
|
-
|
|
22
|
+
useIsomorphicLayoutEffect(() => {
|
|
11
23
|
DisableLayoutContextValues[id] = disable;
|
|
12
|
-
}, [disable, id])
|
|
24
|
+
}, [disable, id]);
|
|
25
|
+
return /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {
|
|
26
|
+
value: id,
|
|
27
|
+
children
|
|
28
|
+
});
|
|
13
29
|
};
|
|
14
|
-
let globalIntersectionObserver = null
|
|
30
|
+
let globalIntersectionObserver = null;
|
|
31
|
+
let strategy = "async";
|
|
15
32
|
function setOnLayoutStrategy(state) {
|
|
16
33
|
strategy = state;
|
|
17
34
|
}
|
|
18
|
-
const NodeRectCache = /* @__PURE__ */
|
|
19
|
-
let avoidUpdates =
|
|
20
|
-
const queuedUpdates = /* @__PURE__ */
|
|
35
|
+
const NodeRectCache = /* @__PURE__ */new WeakMap();
|
|
36
|
+
let avoidUpdates = true;
|
|
37
|
+
const queuedUpdates = /* @__PURE__ */new Map();
|
|
21
38
|
function enable() {
|
|
22
|
-
|
|
39
|
+
if (avoidUpdates) {
|
|
40
|
+
avoidUpdates = false;
|
|
41
|
+
if (queuedUpdates) {
|
|
42
|
+
queuedUpdates.forEach(cb => cb());
|
|
43
|
+
queuedUpdates.clear();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
23
46
|
}
|
|
24
47
|
function startGlobalObservers() {
|
|
25
|
-
!ENABLE || globalIntersectionObserver
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
threshold: 0
|
|
48
|
+
if (!ENABLE || globalIntersectionObserver) return;
|
|
49
|
+
globalIntersectionObserver = new IntersectionObserver(entries => {
|
|
50
|
+
for (let i = 0; i < entries.length; i++) {
|
|
51
|
+
const entry = entries[i];
|
|
52
|
+
const node = entry.target;
|
|
53
|
+
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
34
54
|
}
|
|
35
|
-
|
|
55
|
+
}, {
|
|
56
|
+
threshold: 0
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function rectsEqual(a, b) {
|
|
60
|
+
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
36
61
|
}
|
|
37
62
|
if (ENABLE) {
|
|
38
|
-
|
|
63
|
+
let ensureRectFetchObserver = function () {
|
|
64
|
+
if (rectFetchObserver) return rectFetchObserver;
|
|
65
|
+
rectFetchObserver = new IntersectionObserver(entries => {
|
|
66
|
+
lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);
|
|
67
|
+
for (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
|
|
68
|
+
if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
|
|
69
|
+
if (rectFetchResolve) {
|
|
70
|
+
rectFetchResolve(true);
|
|
71
|
+
rectFetchResolve = null;
|
|
72
|
+
}
|
|
73
|
+
}, {
|
|
74
|
+
threshold: 0
|
|
75
|
+
});
|
|
76
|
+
return rectFetchObserver;
|
|
77
|
+
};
|
|
78
|
+
const BoundingRects = /* @__PURE__ */new WeakMap();
|
|
79
|
+
let rectFetchObserver = null;
|
|
80
|
+
let rectFetchResolve = null;
|
|
81
|
+
let rectFetchStartTime = 0;
|
|
82
|
+
let lastCallbackDelay = 0;
|
|
39
83
|
async function updateLayoutIfChanged(node) {
|
|
40
84
|
const onLayout = LayoutHandlers.get(node);
|
|
41
|
-
if (typeof onLayout
|
|
85
|
+
if (typeof onLayout !== "function") return;
|
|
42
86
|
const parentNode = node.parentElement;
|
|
43
87
|
if (!parentNode) return;
|
|
44
|
-
let nodeRect
|
|
88
|
+
let nodeRect;
|
|
89
|
+
let parentRect;
|
|
45
90
|
if (strategy === "async") {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
91
|
+
nodeRect = BoundingRects.get(node);
|
|
92
|
+
parentRect = BoundingRects.get(parentNode);
|
|
93
|
+
if (!nodeRect || !parentRect) return;
|
|
94
|
+
} else {
|
|
95
|
+
nodeRect = node.getBoundingClientRect();
|
|
96
|
+
parentRect = parentNode.getBoundingClientRect();
|
|
97
|
+
}
|
|
98
|
+
const cachedRect = NodeRectCache.get(node);
|
|
99
|
+
const cachedParentRect = NodeRectCache.get(parentNode);
|
|
100
|
+
const nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);
|
|
101
|
+
const parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);
|
|
102
|
+
if (nodeChanged || parentChanged) {
|
|
103
|
+
NodeRectCache.set(node, nodeRect);
|
|
104
|
+
NodeRectCache.set(parentNode, parentRect);
|
|
105
|
+
const event = getElementLayoutEvent(nodeRect, parentRect, node);
|
|
106
|
+
if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] change", {
|
|
107
|
+
tag: node.tagName,
|
|
108
|
+
id: node.id || void 0,
|
|
109
|
+
className: (node.className || "").slice(0, 60) || void 0,
|
|
110
|
+
layout: event.nativeEvent.layout,
|
|
111
|
+
first: !cachedRect
|
|
112
|
+
});
|
|
113
|
+
if (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));else onLayout(event);
|
|
65
114
|
}
|
|
66
115
|
}
|
|
67
|
-
const
|
|
116
|
+
const rAF = typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : void 0;
|
|
117
|
+
const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
|
|
118
|
+
const BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
|
|
119
|
+
const MAX_SKIP_FRAMES = 20;
|
|
120
|
+
let skipFrames = BASE_SKIP_FRAMES;
|
|
121
|
+
let frameCount = 0;
|
|
68
122
|
async function layoutOnAnimationFrame() {
|
|
123
|
+
if (frameCount++ % skipFrames !== 0) {
|
|
124
|
+
rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
69
128
|
if (strategy !== "off") {
|
|
70
129
|
const visibleNodes = [];
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
res(!0);
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
threshold: 0
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
let didObserve = !1;
|
|
84
|
-
for (const node of Nodes) {
|
|
85
|
-
if (!(node.parentElement instanceof HTMLElement)) continue;
|
|
86
|
-
const disableKey = LayoutDisableKey.get(node);
|
|
87
|
-
disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (didObserve = !0, io.observe(node), io.observe(node.parentElement), visibleNodes.push(node));
|
|
130
|
+
const parentsToObserve = /* @__PURE__ */new Set();
|
|
131
|
+
for (const node of Nodes) {
|
|
132
|
+
const parentElement = node.parentElement;
|
|
133
|
+
if (!(parentElement instanceof HTMLElement)) {
|
|
134
|
+
cleanupNode(node);
|
|
135
|
+
continue;
|
|
88
136
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
137
|
+
const disableKey = LayoutDisableKey.get(node);
|
|
138
|
+
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
139
|
+
if (IntersectionState.get(node) === false) continue;
|
|
140
|
+
visibleNodes.push(node);
|
|
141
|
+
parentsToObserve.add(parentElement);
|
|
142
|
+
}
|
|
143
|
+
if (visibleNodes.length > 0) {
|
|
144
|
+
const io = ensureRectFetchObserver();
|
|
145
|
+
rectFetchStartTime = performance.now();
|
|
146
|
+
for (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);
|
|
147
|
+
for (const parent of parentsToObserve) io.observe(parent);
|
|
148
|
+
await new Promise(res => {
|
|
149
|
+
rectFetchResolve = res;
|
|
150
|
+
});
|
|
151
|
+
for (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);
|
|
152
|
+
for (const parent of parentsToObserve) io.unobserve(parent);
|
|
153
|
+
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
154
|
+
for (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);
|
|
155
|
+
}
|
|
93
156
|
}
|
|
94
|
-
setTimeout(layoutOnAnimationFrame, 16
|
|
157
|
+
rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
|
|
95
158
|
}
|
|
96
159
|
layoutOnAnimationFrame();
|
|
97
160
|
}
|
|
98
|
-
const getElementLayoutEvent = (nodeRect, parentRect) =>
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
161
|
+
const getElementLayoutEvent = (nodeRect, parentRect, node) => {
|
|
162
|
+
return {
|
|
163
|
+
nativeEvent: {
|
|
164
|
+
layout: getRelativeDimensions(nodeRect, parentRect, node),
|
|
165
|
+
target: nodeRect
|
|
166
|
+
},
|
|
167
|
+
timeStamp: Date.now()
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
const getPreTransformDimensions = node => {
|
|
171
|
+
return {
|
|
172
|
+
width: node.offsetWidth,
|
|
173
|
+
height: node.offsetHeight
|
|
174
|
+
};
|
|
107
175
|
};
|
|
176
|
+
const getRelativeDimensions = (a, b, aNode) => {
|
|
177
|
+
const {
|
|
178
|
+
left,
|
|
179
|
+
top
|
|
180
|
+
} = a;
|
|
181
|
+
const x = left - b.left;
|
|
182
|
+
const y = top - b.top;
|
|
183
|
+
const {
|
|
184
|
+
width,
|
|
185
|
+
height
|
|
186
|
+
} = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {
|
|
187
|
+
width: a.width,
|
|
188
|
+
height: a.height
|
|
189
|
+
};
|
|
190
|
+
return {
|
|
191
|
+
x,
|
|
192
|
+
y,
|
|
193
|
+
width,
|
|
194
|
+
height,
|
|
195
|
+
pageX: a.left,
|
|
196
|
+
pageY: a.top
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
function registerLayoutNode(node, onChange, disableKey) {
|
|
200
|
+
Nodes.add(node);
|
|
201
|
+
LayoutHandlers.set(node, onChange);
|
|
202
|
+
if (disableKey) LayoutDisableKey.set(node, disableKey);
|
|
203
|
+
startGlobalObservers();
|
|
204
|
+
if (globalIntersectionObserver) {
|
|
205
|
+
globalIntersectionObserver.observe(node);
|
|
206
|
+
IntersectionState.set(node, true);
|
|
207
|
+
}
|
|
208
|
+
return () => cleanupNode(node);
|
|
209
|
+
}
|
|
210
|
+
function cleanupNode(node) {
|
|
211
|
+
Nodes.delete(node);
|
|
212
|
+
LayoutHandlers.delete(node);
|
|
213
|
+
LayoutDisableKey.delete(node);
|
|
214
|
+
NodeRectCache.delete(node);
|
|
215
|
+
IntersectionState.delete(node);
|
|
216
|
+
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
217
|
+
}
|
|
218
|
+
const PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
108
219
|
function useElementLayout(ref, onLayout) {
|
|
109
|
-
const disableKey = useContext(DisableLayoutContextKey)
|
|
110
|
-
node
|
|
220
|
+
const disableKey = useContext(DisableLayoutContextKey);
|
|
221
|
+
const node = ensureWebElement(ref.current?.host);
|
|
222
|
+
if (node && onLayout) {
|
|
223
|
+
LayoutHandlers.set(node, onLayout);
|
|
224
|
+
LayoutDisableKey.set(node, disableKey);
|
|
225
|
+
}
|
|
226
|
+
useIsomorphicLayoutEffect(() => {
|
|
227
|
+
if (!onLayout) return;
|
|
228
|
+
const nextNode = ensureWebElement(ref.current?.host);
|
|
229
|
+
const prevNode = PrevHostNode.get(ref);
|
|
230
|
+
if (nextNode === prevNode) return;
|
|
231
|
+
if (prevNode) cleanupNode(prevNode);
|
|
232
|
+
PrevHostNode.set(ref, nextNode);
|
|
233
|
+
if (!nextNode) return;
|
|
234
|
+
Nodes.add(nextNode);
|
|
235
|
+
startGlobalObservers();
|
|
236
|
+
if (globalIntersectionObserver) {
|
|
237
|
+
globalIntersectionObserver.observe(nextNode);
|
|
238
|
+
IntersectionState.set(nextNode, true);
|
|
239
|
+
}
|
|
240
|
+
const handler = LayoutHandlers.get(nextNode);
|
|
241
|
+
if (typeof handler !== "function") return;
|
|
242
|
+
const parentNode = nextNode.parentElement;
|
|
243
|
+
if (!parentNode) return;
|
|
244
|
+
const nodeRect = nextNode.getBoundingClientRect();
|
|
245
|
+
const parentRect = parentNode.getBoundingClientRect();
|
|
246
|
+
NodeRectCache.set(nextNode, nodeRect);
|
|
247
|
+
NodeRectCache.set(parentNode, parentRect);
|
|
248
|
+
handler(getElementLayoutEvent(nodeRect, parentRect, nextNode));
|
|
249
|
+
});
|
|
250
|
+
useIsomorphicLayoutEffect(() => {
|
|
111
251
|
if (!onLayout) return;
|
|
112
252
|
const node2 = ref.current?.host;
|
|
113
253
|
if (!node2) return;
|
|
114
|
-
Nodes.add(node2)
|
|
254
|
+
Nodes.add(node2);
|
|
255
|
+
startGlobalObservers();
|
|
256
|
+
if (globalIntersectionObserver) {
|
|
257
|
+
globalIntersectionObserver.observe(node2);
|
|
258
|
+
IntersectionState.set(node2, true);
|
|
259
|
+
}
|
|
260
|
+
if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] register", {
|
|
261
|
+
tag: node2.tagName,
|
|
262
|
+
id: node2.id || void 0,
|
|
263
|
+
className: (node2.className || "").slice(0, 60) || void 0,
|
|
264
|
+
totalNodes: Nodes.size
|
|
265
|
+
});
|
|
115
266
|
const parentNode = node2.parentNode;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
)
|
|
121
|
-
|
|
122
|
-
Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
|
|
267
|
+
if (parentNode) onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
|
|
268
|
+
return () => {
|
|
269
|
+
cleanupNode(node2);
|
|
270
|
+
const swappedNode = PrevHostNode.get(ref);
|
|
271
|
+
if (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);
|
|
272
|
+
PrevHostNode.delete(ref);
|
|
123
273
|
};
|
|
124
274
|
}, [ref, !!onLayout]);
|
|
125
275
|
}
|
|
126
276
|
function ensureWebElement(x) {
|
|
127
|
-
if (
|
|
128
|
-
|
|
277
|
+
if (typeof HTMLElement === "undefined") return;
|
|
278
|
+
return x instanceof HTMLElement ? x : void 0;
|
|
129
279
|
}
|
|
130
|
-
const getBoundingClientRectAsync =
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
(entries
|
|
134
|
-
|
|
280
|
+
const getBoundingClientRectAsync = node => {
|
|
281
|
+
return new Promise(res => {
|
|
282
|
+
if (!node || node.nodeType !== 1) return res(false);
|
|
283
|
+
const io = new IntersectionObserver(entries => {
|
|
284
|
+
io.disconnect();
|
|
285
|
+
return res(entries[0].boundingClientRect);
|
|
286
|
+
}, {
|
|
135
287
|
threshold: 0
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
288
|
+
});
|
|
289
|
+
io.observe(node);
|
|
290
|
+
});
|
|
291
|
+
};
|
|
292
|
+
const measureNode = async (node, relativeTo) => {
|
|
140
293
|
const relativeNode = relativeTo || node?.parentElement;
|
|
141
294
|
if (relativeNode instanceof HTMLElement) {
|
|
142
|
-
const [nodeDim, relativeNodeDim] = await Promise.all([
|
|
143
|
-
|
|
144
|
-
getBoundingClientRectAsync(relativeNode)
|
|
145
|
-
]);
|
|
146
|
-
if (relativeNodeDim && nodeDim)
|
|
147
|
-
return getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
295
|
+
const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
|
|
296
|
+
if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);
|
|
148
297
|
}
|
|
149
298
|
return null;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
|
|
299
|
+
};
|
|
300
|
+
const measure = async (node, callback) => {
|
|
301
|
+
const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
|
|
302
|
+
if (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
|
|
303
|
+
return out;
|
|
156
304
|
};
|
|
157
305
|
function createMeasure(node) {
|
|
158
|
-
return
|
|
306
|
+
return callback => measure(node, callback);
|
|
159
307
|
}
|
|
160
308
|
const measureInWindow = async (node, callback) => {
|
|
161
309
|
const out = await measureNode(node, null);
|
|
162
|
-
|
|
163
|
-
|
|
310
|
+
if (out) callback?.(out.pageX, out.pageY, out.width, out.height);
|
|
311
|
+
return out;
|
|
312
|
+
};
|
|
313
|
+
const createMeasureInWindow = node => {
|
|
314
|
+
return callback => measureInWindow(node, callback);
|
|
315
|
+
};
|
|
316
|
+
const measureLayout = async (node, relativeNode, callback) => {
|
|
164
317
|
const out = await measureNode(node, relativeNode);
|
|
165
|
-
|
|
318
|
+
if (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
|
|
319
|
+
return out;
|
|
166
320
|
};
|
|
167
321
|
function createMeasureLayout(node) {
|
|
168
322
|
return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
|
|
169
323
|
}
|
|
170
|
-
export {
|
|
171
|
-
LayoutMeasurementController,
|
|
172
|
-
createMeasure,
|
|
173
|
-
createMeasureInWindow,
|
|
174
|
-
createMeasureLayout,
|
|
175
|
-
enable,
|
|
176
|
-
getBoundingClientRectAsync,
|
|
177
|
-
getElementLayoutEvent,
|
|
178
|
-
measure,
|
|
179
|
-
measureInWindow,
|
|
180
|
-
measureLayout,
|
|
181
|
-
measureNode,
|
|
182
|
-
setOnLayoutStrategy,
|
|
183
|
-
useElementLayout
|
|
184
|
-
};
|
|
324
|
+
export { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };
|
|
185
325
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["node"]
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useId","jsx","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","IntersectionObserver","LayoutMeasurementController","disable","children","id","Provider","value","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","getElementLayoutEvent","log","tag","tagName","className","slice","layout","nativeEvent","first","rAF","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","setTimeout","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","HTMLElement","cleanupNode","disableKey","push","add","io","observe","parent","Promise","res","unobserve","min","max","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","left","top","pageX","pageY","registerLayoutNode","onChange","delete","PrevHostNode","useElementLayout","ref","ensureWebElement","current","host","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|