@tamagui/use-element-layout 2.7.3 → 2.7.5
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 +13 -28
- package/dist/cjs/index.native.js +13 -28
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/index.js +13 -28
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +13 -28
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +13 -28
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +4 -4
- package/src/index.tsx +29 -44
- package/types/index.d.ts.map +2 -2
package/dist/esm/index.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { jsx } from "react/jsx-runtime";
|
|
|
4
4
|
const LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
5
5
|
const LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
6
6
|
const Nodes = /* @__PURE__ */new Set();
|
|
7
|
-
const IntersectionState = /* @__PURE__ */new WeakMap();
|
|
8
7
|
const usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
9
8
|
let _debugLayout;
|
|
10
9
|
function isDebugLayout() {
|
|
@@ -20,16 +19,18 @@ const LayoutMeasurementController = ({
|
|
|
20
19
|
}) => {
|
|
21
20
|
const id = useId();
|
|
22
21
|
useIsomorphicLayoutEffect(() => {
|
|
22
|
+
const wasDisabled = DisableLayoutContextValues[id] === true;
|
|
23
23
|
DisableLayoutContextValues[id] = disable;
|
|
24
|
+
if (wasDisabled && !disable) measureOnNextFrame?.();
|
|
24
25
|
}, [disable, id]);
|
|
25
26
|
return /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {
|
|
26
27
|
value: id,
|
|
27
28
|
children
|
|
28
29
|
});
|
|
29
30
|
};
|
|
30
|
-
let globalIntersectionObserver = null;
|
|
31
31
|
let strategy = "async";
|
|
32
32
|
let resumeLayoutLoop;
|
|
33
|
+
let measureOnNextFrame;
|
|
33
34
|
function setOnLayoutStrategy(state) {
|
|
34
35
|
strategy = state;
|
|
35
36
|
resumeLayoutLoop?.();
|
|
@@ -46,18 +47,6 @@ function enable() {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
function startGlobalObservers() {
|
|
50
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
51
|
-
globalIntersectionObserver = new IntersectionObserver(entries => {
|
|
52
|
-
for (let i = 0; i < entries.length; i++) {
|
|
53
|
-
const entry = entries[i];
|
|
54
|
-
const node = entry.target;
|
|
55
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
56
|
-
}
|
|
57
|
-
}, {
|
|
58
|
-
threshold: 0
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
50
|
function rectsEqual(a, b) {
|
|
62
51
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
63
52
|
}
|
|
@@ -118,7 +107,7 @@ if (ENABLE) {
|
|
|
118
107
|
}
|
|
119
108
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
120
109
|
if (strategy !== "off") {
|
|
121
|
-
const
|
|
110
|
+
const activeNodes = [];
|
|
122
111
|
const parentsToObserve = /* @__PURE__ */new Set();
|
|
123
112
|
for (const node of Nodes) {
|
|
124
113
|
const parentElement = node.parentElement;
|
|
@@ -128,28 +117,31 @@ if (ENABLE) {
|
|
|
128
117
|
}
|
|
129
118
|
const disableKey = LayoutDisableKey.get(node);
|
|
130
119
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
131
|
-
|
|
132
|
-
visibleNodes.push(node);
|
|
120
|
+
activeNodes.push(node);
|
|
133
121
|
parentsToObserve.add(parentElement);
|
|
134
122
|
}
|
|
135
|
-
if (
|
|
123
|
+
if (activeNodes.length > 0) {
|
|
136
124
|
const io = ensureRectFetchObserver();
|
|
137
125
|
rectFetchStartTime = performance.now();
|
|
138
|
-
for (let i = 0; i <
|
|
126
|
+
for (let i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
139
127
|
for (const parent of parentsToObserve) io.observe(parent);
|
|
140
128
|
await new Promise(res => {
|
|
141
129
|
rectFetchResolve = res;
|
|
142
130
|
});
|
|
143
|
-
for (let i = 0; i <
|
|
131
|
+
for (let i = 0; i < activeNodes.length; i++) io.unobserve(activeNodes[i]);
|
|
144
132
|
for (const parent of parentsToObserve) io.unobserve(parent);
|
|
145
133
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
146
|
-
for (let i = 0; i <
|
|
134
|
+
for (let i = 0; i < activeNodes.length; i++) updateLayoutIfChanged(activeNodes[i]);
|
|
147
135
|
}
|
|
148
136
|
}
|
|
149
137
|
frameScheduled = false;
|
|
150
138
|
scheduleLayoutFrame();
|
|
151
139
|
}
|
|
152
140
|
resumeLayoutLoop = scheduleLayoutFrame;
|
|
141
|
+
measureOnNextFrame = () => {
|
|
142
|
+
frameCount = 0;
|
|
143
|
+
scheduleLayoutFrame();
|
|
144
|
+
};
|
|
153
145
|
document.addEventListener("visibilitychange", scheduleLayoutFrame);
|
|
154
146
|
scheduleLayoutFrame();
|
|
155
147
|
}
|
|
@@ -214,11 +206,6 @@ function emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {
|
|
|
214
206
|
function observeLayoutNode(node, disableKey) {
|
|
215
207
|
Nodes.add(node);
|
|
216
208
|
if (disableKey) LayoutDisableKey.set(node, disableKey);else LayoutDisableKey.delete(node);
|
|
217
|
-
startGlobalObservers();
|
|
218
|
-
if (globalIntersectionObserver) {
|
|
219
|
-
globalIntersectionObserver.observe(node);
|
|
220
|
-
IntersectionState.set(node, true);
|
|
221
|
-
}
|
|
222
209
|
resumeLayoutLoop?.();
|
|
223
210
|
}
|
|
224
211
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -231,8 +218,6 @@ function cleanupNode(node) {
|
|
|
231
218
|
LayoutHandlers.delete(node);
|
|
232
219
|
LayoutDisableKey.delete(node);
|
|
233
220
|
NodeRectCache.delete(node);
|
|
234
|
-
IntersectionState.delete(node);
|
|
235
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
236
221
|
}
|
|
237
222
|
const PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
238
223
|
function emitLayoutSync(node) {
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","resumeLayoutLoop","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","scheduleLayoutFrame","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","HTMLElement","cleanupNode","disableKey","push","add","io","observe","parent","Promise","res","unobserve","min","max","addEventListener","getElementLayoutEvent","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","left","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","registerLayoutNode","onChange","PrevHostNode","emitLayoutSync","useElementLayout","ref","ensureWebElement","current","host","nextNode","prevNode","node2","totalNodes","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["index.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst LayoutHandlers = /* @__PURE__ */ new WeakMap();\nconst LayoutDisableKey = /* @__PURE__ */ new WeakMap();\nconst Nodes = /* @__PURE__ */ new Set();\nconst IntersectionState = /* @__PURE__ */ new WeakMap();\nconst usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\nlet _debugLayout;\nfunction isDebugLayout() {\n\tif (_debugLayout === void 0) _debugLayout = typeof window !== \"undefined\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\");\n\treturn _debugLayout;\n}\nconst DisableLayoutContextValues = {};\nconst DisableLayoutContextKey = createContext(\"\");\nconst ENABLE = typeof IntersectionObserver !== \"undefined\";\nconst LayoutMeasurementController = ({ disable, children }) => {\n\tconst id = useId();\n\tuseIsomorphicLayoutEffect(() => {\n\t\tDisableLayoutContextValues[id] = disable;\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nlet globalIntersectionObserver = null;\nlet strategy = \"async\";\nlet resumeLayoutLoop;\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\n\tresumeLayoutLoop?.();\n}\nconst NodeRectCache = /* @__PURE__ */ new WeakMap();\nlet avoidUpdates = true;\nconst queuedUpdates = /* @__PURE__ */ new Map();\nfunction enable() {\n\tif (avoidUpdates) {\n\t\tavoidUpdates = false;\n\t\tif (queuedUpdates) {\n\t\t\tqueuedUpdates.forEach((cb) => cb());\n\t\t\tqueuedUpdates.clear();\n\t\t}\n\t}\n}\nfunction startGlobalObservers() {\n\tif (!ENABLE || globalIntersectionObserver) return;\n\tglobalIntersectionObserver = new IntersectionObserver((entries) => {\n\t\tfor (let i = 0; i < entries.length; i++) {\n\t\t\tconst entry = entries[i];\n\t\t\tconst node = entry.target;\n\t\t\tif (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);\n\t\t}\n\t}, { threshold: 0 });\n}\nfunction rectsEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n\tlet ensureRectFetchObserver = function() {\n\t\tif (rectFetchObserver) return rectFetchObserver;\n\t\trectFetchObserver = new IntersectionObserver((entries) => {\n\t\t\tlastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n\t\t\tfor (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50) console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\");\n\t\t\tif (rectFetchResolve) {\n\t\t\t\trectFetchResolve(true);\n\t\t\t\trectFetchResolve = null;\n\t\t\t}\n\t\t}, { threshold: 0 });\n\t\treturn rectFetchObserver;\n\t}, scheduleLayoutFrame = function() {\n\t\tif (frameScheduled || strategy === \"off\" || Nodes.size === 0 || document.hidden) return;\n\t\tframeScheduled = true;\n\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t};\n\tconst BoundingRects = /* @__PURE__ */ new WeakMap();\n\tlet rectFetchObserver = null;\n\tlet rectFetchResolve = null;\n\tlet rectFetchStartTime = 0;\n\tlet lastCallbackDelay = 0;\n\tasync function updateLayoutIfChanged(node) {\n\t\tif (typeof LayoutHandlers.get(node) !== \"function\") return;\n\t\tconst parentNode = node.parentElement;\n\t\tif (!parentNode) return;\n\t\tlet nodeRect;\n\t\tlet parentRect;\n\t\tif (strategy === \"async\") {\n\t\t\tnodeRect = BoundingRects.get(node);\n\t\t\tparentRect = BoundingRects.get(parentNode);\n\t\t\tif (!nodeRect || !parentRect) return;\n\t\t} else {\n\t\t\tnodeRect = node.getBoundingClientRect();\n\t\t\tparentRect = parentNode.getBoundingClientRect();\n\t\t}\n\t\temitLayoutIfChanged(node, parentNode, nodeRect, parentRect);\n\t}\n\tconst rAF = typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : void 0;\n\tconst userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;\n\tconst BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;\n\tconst MAX_SKIP_FRAMES = 20;\n\tlet skipFrames = BASE_SKIP_FRAMES;\n\tlet frameCount = 0;\n\tlet frameScheduled = false;\n\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\tframeScheduled = false;\n\t\t\tscheduleLayoutFrame();\n\t\t\treturn;\n\t\t}\n\t\tif (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;\n\t\tif (strategy !== \"off\") {\n\t\t\tconst visibleNodes = [];\n\t\t\tconst parentsToObserve = /* @__PURE__ */ new Set();\n\t\t\tfor (const node of Nodes) {\n\t\t\t\tconst parentElement = node.parentElement;\n\t\t\t\tif (!(parentElement instanceof HTMLElement)) {\n\t\t\t\t\tcleanupNode(node);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst disableKey = LayoutDisableKey.get(node);\n\t\t\t\tif (disableKey && DisableLayoutContextValues[disableKey] === true) continue;\n\t\t\t\tif (IntersectionState.get(node) === false) continue;\n\t\t\t\tvisibleNodes.push(node);\n\t\t\t\tparentsToObserve.add(parentElement);\n\t\t\t}\n\t\t\tif (visibleNodes.length > 0) {\n\t\t\t\tconst io = ensureRectFetchObserver();\n\t\t\t\trectFetchStartTime = performance.now();\n\t\t\t\tfor (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.observe(parent);\n\t\t\t\tawait new Promise((res) => {\n\t\t\t\t\trectFetchResolve = res;\n\t\t\t\t});\n\t\t\t\tfor (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.unobserve(parent);\n\t\t\t\tif (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);\n\t\t\t\telse if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);\n\t\t\t\tfor (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);\n\t\t\t}\n\t\t}\n\t\tframeScheduled = false;\n\t\tscheduleLayoutFrame();\n\t}\n\tresumeLayoutLoop = scheduleLayoutFrame;\n\tdocument.addEventListener(\"visibilitychange\", scheduleLayoutFrame);\n\tscheduleLayoutFrame();\n}\nconst getElementLayoutEvent = (nodeRect, parentRect, node) => {\n\treturn {\n\t\tnativeEvent: {\n\t\t\tlayout: getRelativeDimensions(nodeRect, parentRect, node),\n\t\t\ttarget: nodeRect\n\t\t},\n\t\ttimeStamp: Date.now()\n\t};\n};\nconst getPreTransformDimensions = (node) => {\n\treturn {\n\t\twidth: node.offsetWidth,\n\t\theight: node.offsetHeight\n\t};\n};\nconst getRelativeDimensions = (a, b, aNode) => {\n\tconst { left, top } = a;\n\tconst x = left - b.left;\n\tconst y = top - b.top;\n\tconst { width, height } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n\t\twidth: a.width,\n\t\theight: a.height\n\t};\n\treturn {\n\t\tx,\n\t\ty,\n\t\twidth,\n\t\theight,\n\t\tpageX: a.left,\n\t\tpageY: a.top\n\t};\n};\nfunction emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst cachedRect = NodeRectCache.get(node);\n\tconst cachedParentRect = NodeRectCache.get(parentNode);\n\tconst nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\tconst parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\tif (!nodeChanged && !parentChanged) return;\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tconst event = getElementLayoutEvent(nodeRect, parentRect, node);\n\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\ttag: node.tagName,\n\t\tid: node.id || void 0,\n\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\tlayout: event.nativeEvent.layout,\n\t\tfirst: !cachedRect\n\t});\n\tif (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));\n\telse onLayout(event);\n}\nfunction observeLayoutNode(node, disableKey) {\n\tNodes.add(node);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\telse LayoutDisableKey.delete(node);\n\tstartGlobalObservers();\n\tif (globalIntersectionObserver) {\n\t\tglobalIntersectionObserver.observe(node);\n\t\tIntersectionState.set(node, true);\n\t}\n\tresumeLayoutLoop?.();\n}\nfunction registerLayoutNode(node, onChange, disableKey) {\n\tLayoutHandlers.set(node, onChange);\n\tobserveLayoutNode(node, disableKey);\n\treturn () => cleanupNode(node);\n}\nfunction cleanupNode(node) {\n\tNodes.delete(node);\n\tLayoutHandlers.delete(node);\n\tLayoutDisableKey.delete(node);\n\tNodeRectCache.delete(node);\n\tIntersectionState.delete(node);\n\tif (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);\n}\nconst PrevHostNode = /* @__PURE__ */ new WeakMap();\nfunction emitLayoutSync(node) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst parentNode = node.parentElement;\n\tif (!parentNode) return;\n\tconst nodeRect = node.getBoundingClientRect();\n\tconst parentRect = parentNode.getBoundingClientRect();\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tonLayout(getElementLayoutEvent(nodeRect, parentRect, node));\n}\nfunction useElementLayout(ref, onLayout) {\n\tconst disableKey = useContext(DisableLayoutContextKey);\n\tconst node = ensureWebElement(ref.current?.host);\n\tif (node && onLayout) {\n\t\tLayoutHandlers.set(node, onLayout);\n\t\tLayoutDisableKey.set(node, disableKey);\n\t}\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst nextNode = ensureWebElement(ref.current?.host);\n\t\tconst prevNode = PrevHostNode.get(ref);\n\t\tif (nextNode === prevNode) return;\n\t\tif (prevNode) cleanupNode(prevNode);\n\t\tPrevHostNode.set(ref, nextNode);\n\t\tif (!nextNode) return;\n\t\tLayoutHandlers.set(nextNode, onLayout);\n\t\tobserveLayoutNode(nextNode, disableKey);\n\t\temitLayoutSync(nextNode);\n\t});\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst node2 = ref.current?.host;\n\t\tif (!node2) return;\n\t\tLayoutHandlers.set(node2, onLayout);\n\t\tobserveLayoutNode(node2, disableKey);\n\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] register\", {\n\t\t\ttag: node2.tagName,\n\t\t\tid: node2.id || void 0,\n\t\t\tclassName: (node2.className || \"\").slice(0, 60) || void 0,\n\t\t\ttotalNodes: Nodes.size\n\t\t});\n\t\treturn () => {\n\t\t\tcleanupNode(node2);\n\t\t\tconst swappedNode = PrevHostNode.get(ref);\n\t\t\tif (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);\n\t\t\tPrevHostNode.delete(ref);\n\t\t};\n\t}, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n\tif (typeof HTMLElement === \"undefined\") return;\n\treturn x instanceof HTMLElement ? x : void 0;\n}\nconst getBoundingClientRectAsync = (node) => {\n\treturn new Promise((res) => {\n\t\tif (!node || node.nodeType !== 1) return res(false);\n\t\tconst io = new IntersectionObserver((entries) => {\n\t\t\tio.disconnect();\n\t\t\treturn res(entries[0].boundingClientRect);\n\t\t}, { threshold: 0 });\n\t\tio.observe(node);\n\t});\n};\nconst measureNode = async (node, relativeTo) => {\n\tconst relativeNode = relativeTo || node?.parentElement;\n\tif (relativeNode instanceof HTMLElement) {\n\t\tconst [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n\t\tif (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n\t}\n\treturn null;\n};\nconst measure = async (node, callback) => {\n\tconst out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasure(node) {\n\treturn (callback) => measure(node, callback);\n}\nconst measureInWindow = async (node, callback) => {\n\tconst out = await measureNode(node, null);\n\tif (out) callback?.(out.pageX, out.pageY, out.width, out.height);\n\treturn out;\n};\nconst createMeasureInWindow = (node) => {\n\treturn (callback) => measureInWindow(node, callback);\n};\nconst measureLayout = async (node, relativeNode, callback) => {\n\tconst out = await measureNode(node, relativeNode);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasureLayout(node) {\n\treturn (relativeTo, callback) => measureLayout(node, relativeTo, callback);\n}\n\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useId","jsx","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","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","wasDisabled","measureOnNextFrame","Provider","value","strategy","resumeLayoutLoop","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","entries","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","i","length","BoundingRects","set","target","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","threshold","scheduleLayoutFrame","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","node","get","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","activeNodes","parentsToObserve","HTMLElement","cleanupNode","disableKey","push","add","io","observe","parent","Promise","res","unobserve","min","max","addEventListener","getElementLayoutEvent","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","left","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","registerLayoutNode","onChange","PrevHostNode","emitLayoutSync","useElementLayout","ref","ensureWebElement","current","host","nextNode","prevNode","node2","totalNodes","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["index.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst LayoutHandlers = /* @__PURE__ */ new WeakMap();\nconst LayoutDisableKey = /* @__PURE__ */ new WeakMap();\nconst Nodes = /* @__PURE__ */ new Set();\nconst usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\nlet _debugLayout;\nfunction isDebugLayout() {\n\tif (_debugLayout === void 0) _debugLayout = typeof window !== \"undefined\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\");\n\treturn _debugLayout;\n}\nconst DisableLayoutContextValues = {};\nconst DisableLayoutContextKey = createContext(\"\");\nconst ENABLE = typeof IntersectionObserver !== \"undefined\";\nconst LayoutMeasurementController = ({ disable, children }) => {\n\tconst id = useId();\n\tuseIsomorphicLayoutEffect(() => {\n\t\tconst wasDisabled = DisableLayoutContextValues[id] === true;\n\t\tDisableLayoutContextValues[id] = disable;\n\t\tif (wasDisabled && !disable) measureOnNextFrame?.();\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nlet strategy = \"async\";\nlet resumeLayoutLoop;\nlet measureOnNextFrame;\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\n\tresumeLayoutLoop?.();\n}\nconst NodeRectCache = /* @__PURE__ */ new WeakMap();\nlet avoidUpdates = true;\nconst queuedUpdates = /* @__PURE__ */ new Map();\nfunction enable() {\n\tif (avoidUpdates) {\n\t\tavoidUpdates = false;\n\t\tif (queuedUpdates) {\n\t\t\tqueuedUpdates.forEach((cb) => cb());\n\t\t\tqueuedUpdates.clear();\n\t\t}\n\t}\n}\nfunction rectsEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n\tlet ensureRectFetchObserver = function() {\n\t\tif (rectFetchObserver) return rectFetchObserver;\n\t\trectFetchObserver = new IntersectionObserver((entries) => {\n\t\t\tlastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n\t\t\tfor (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50) console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\");\n\t\t\tif (rectFetchResolve) {\n\t\t\t\trectFetchResolve(true);\n\t\t\t\trectFetchResolve = null;\n\t\t\t}\n\t\t}, { threshold: 0 });\n\t\treturn rectFetchObserver;\n\t}, scheduleLayoutFrame = function() {\n\t\tif (frameScheduled || strategy === \"off\" || Nodes.size === 0 || document.hidden) return;\n\t\tframeScheduled = true;\n\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t};\n\tconst BoundingRects = /* @__PURE__ */ new WeakMap();\n\tlet rectFetchObserver = null;\n\tlet rectFetchResolve = null;\n\tlet rectFetchStartTime = 0;\n\tlet lastCallbackDelay = 0;\n\tasync function updateLayoutIfChanged(node) {\n\t\tif (typeof LayoutHandlers.get(node) !== \"function\") return;\n\t\tconst parentNode = node.parentElement;\n\t\tif (!parentNode) return;\n\t\tlet nodeRect;\n\t\tlet parentRect;\n\t\tif (strategy === \"async\") {\n\t\t\tnodeRect = BoundingRects.get(node);\n\t\t\tparentRect = BoundingRects.get(parentNode);\n\t\t\tif (!nodeRect || !parentRect) return;\n\t\t} else {\n\t\t\tnodeRect = node.getBoundingClientRect();\n\t\t\tparentRect = parentNode.getBoundingClientRect();\n\t\t}\n\t\temitLayoutIfChanged(node, parentNode, nodeRect, parentRect);\n\t}\n\tconst rAF = typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : void 0;\n\tconst userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;\n\tconst BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;\n\tconst MAX_SKIP_FRAMES = 20;\n\tlet skipFrames = BASE_SKIP_FRAMES;\n\tlet frameCount = 0;\n\tlet frameScheduled = false;\n\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\tframeScheduled = false;\n\t\t\tscheduleLayoutFrame();\n\t\t\treturn;\n\t\t}\n\t\tif (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;\n\t\tif (strategy !== \"off\") {\n\t\t\tconst activeNodes = [];\n\t\t\tconst parentsToObserve = /* @__PURE__ */ new Set();\n\t\t\tfor (const node of Nodes) {\n\t\t\t\tconst parentElement = node.parentElement;\n\t\t\t\tif (!(parentElement instanceof HTMLElement)) {\n\t\t\t\t\tcleanupNode(node);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst disableKey = LayoutDisableKey.get(node);\n\t\t\t\tif (disableKey && DisableLayoutContextValues[disableKey] === true) continue;\n\t\t\t\tactiveNodes.push(node);\n\t\t\t\tparentsToObserve.add(parentElement);\n\t\t\t}\n\t\t\tif (activeNodes.length > 0) {\n\t\t\t\tconst io = ensureRectFetchObserver();\n\t\t\t\trectFetchStartTime = performance.now();\n\t\t\t\tfor (let i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.observe(parent);\n\t\t\t\tawait new Promise((res) => {\n\t\t\t\t\trectFetchResolve = res;\n\t\t\t\t});\n\t\t\t\tfor (let i = 0; i < activeNodes.length; i++) io.unobserve(activeNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.unobserve(parent);\n\t\t\t\tif (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);\n\t\t\t\telse if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);\n\t\t\t\tfor (let i = 0; i < activeNodes.length; i++) updateLayoutIfChanged(activeNodes[i]);\n\t\t\t}\n\t\t}\n\t\tframeScheduled = false;\n\t\tscheduleLayoutFrame();\n\t}\n\tresumeLayoutLoop = scheduleLayoutFrame;\n\tmeasureOnNextFrame = () => {\n\t\tframeCount = 0;\n\t\tscheduleLayoutFrame();\n\t};\n\tdocument.addEventListener(\"visibilitychange\", scheduleLayoutFrame);\n\tscheduleLayoutFrame();\n}\nconst getElementLayoutEvent = (nodeRect, parentRect, node) => {\n\treturn {\n\t\tnativeEvent: {\n\t\t\tlayout: getRelativeDimensions(nodeRect, parentRect, node),\n\t\t\ttarget: nodeRect\n\t\t},\n\t\ttimeStamp: Date.now()\n\t};\n};\nconst getPreTransformDimensions = (node) => {\n\treturn {\n\t\twidth: node.offsetWidth,\n\t\theight: node.offsetHeight\n\t};\n};\nconst getRelativeDimensions = (a, b, aNode) => {\n\tconst { left, top } = a;\n\tconst x = left - b.left;\n\tconst y = top - b.top;\n\tconst { width, height } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n\t\twidth: a.width,\n\t\theight: a.height\n\t};\n\treturn {\n\t\tx,\n\t\ty,\n\t\twidth,\n\t\theight,\n\t\tpageX: a.left,\n\t\tpageY: a.top\n\t};\n};\nfunction emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst cachedRect = NodeRectCache.get(node);\n\tconst cachedParentRect = NodeRectCache.get(parentNode);\n\tconst nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\tconst parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\tif (!nodeChanged && !parentChanged) return;\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tconst event = getElementLayoutEvent(nodeRect, parentRect, node);\n\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\ttag: node.tagName,\n\t\tid: node.id || void 0,\n\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\tlayout: event.nativeEvent.layout,\n\t\tfirst: !cachedRect\n\t});\n\tif (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));\n\telse onLayout(event);\n}\nfunction observeLayoutNode(node, disableKey) {\n\tNodes.add(node);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\telse LayoutDisableKey.delete(node);\n\tresumeLayoutLoop?.();\n}\nfunction registerLayoutNode(node, onChange, disableKey) {\n\tLayoutHandlers.set(node, onChange);\n\tobserveLayoutNode(node, disableKey);\n\treturn () => cleanupNode(node);\n}\nfunction cleanupNode(node) {\n\tNodes.delete(node);\n\tLayoutHandlers.delete(node);\n\tLayoutDisableKey.delete(node);\n\tNodeRectCache.delete(node);\n}\nconst PrevHostNode = /* @__PURE__ */ new WeakMap();\nfunction emitLayoutSync(node) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst parentNode = node.parentElement;\n\tif (!parentNode) return;\n\tconst nodeRect = node.getBoundingClientRect();\n\tconst parentRect = parentNode.getBoundingClientRect();\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tonLayout(getElementLayoutEvent(nodeRect, parentRect, node));\n}\nfunction useElementLayout(ref, onLayout) {\n\tconst disableKey = useContext(DisableLayoutContextKey);\n\tconst node = ensureWebElement(ref.current?.host);\n\tif (node && onLayout) {\n\t\tLayoutHandlers.set(node, onLayout);\n\t\tLayoutDisableKey.set(node, disableKey);\n\t}\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst nextNode = ensureWebElement(ref.current?.host);\n\t\tconst prevNode = PrevHostNode.get(ref);\n\t\tif (nextNode === prevNode) return;\n\t\tif (prevNode) cleanupNode(prevNode);\n\t\tPrevHostNode.set(ref, nextNode);\n\t\tif (!nextNode) return;\n\t\tLayoutHandlers.set(nextNode, onLayout);\n\t\tobserveLayoutNode(nextNode, disableKey);\n\t\temitLayoutSync(nextNode);\n\t});\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst node2 = ref.current?.host;\n\t\tif (!node2) return;\n\t\tLayoutHandlers.set(node2, onLayout);\n\t\tobserveLayoutNode(node2, disableKey);\n\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] register\", {\n\t\t\ttag: node2.tagName,\n\t\t\tid: node2.id || void 0,\n\t\t\tclassName: (node2.className || \"\").slice(0, 60) || void 0,\n\t\t\ttotalNodes: Nodes.size\n\t\t});\n\t\treturn () => {\n\t\t\tcleanupNode(node2);\n\t\t\tconst swappedNode = PrevHostNode.get(ref);\n\t\t\tif (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);\n\t\t\tPrevHostNode.delete(ref);\n\t\t};\n\t}, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n\tif (typeof HTMLElement === \"undefined\") return;\n\treturn x instanceof HTMLElement ? x : void 0;\n}\nconst getBoundingClientRectAsync = (node) => {\n\treturn new Promise((res) => {\n\t\tif (!node || node.nodeType !== 1) return res(false);\n\t\tconst io = new IntersectionObserver((entries) => {\n\t\t\tio.disconnect();\n\t\t\treturn res(entries[0].boundingClientRect);\n\t\t}, { threshold: 0 });\n\t\tio.observe(node);\n\t});\n};\nconst measureNode = async (node, relativeTo) => {\n\tconst relativeNode = relativeTo || node?.parentElement;\n\tif (relativeNode instanceof HTMLElement) {\n\t\tconst [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n\t\tif (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n\t}\n\treturn null;\n};\nconst measure = async (node, callback) => {\n\tconst out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasure(node) {\n\treturn (callback) => measure(node, callback);\n}\nconst measureInWindow = async (node, callback) => {\n\tconst out = await measureNode(node, null);\n\tif (out) callback?.(out.pageX, out.pageY, out.width, out.height);\n\treturn out;\n};\nconst createMeasureInWindow = (node) => {\n\treturn (callback) => measureInWindow(node, callback);\n};\nconst measureLayout = async (node, relativeNode, callback) => {\n\tconst out = await measureNode(node, relativeNode);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasureLayout(node) {\n\treturn (relativeTo, callback) => measureLayout(node, relativeTo, callback);\n}\n\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -7,7 +7,6 @@ function _instanceof(left, right) {
|
|
|
7
7
|
var LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
8
8
|
var LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
9
9
|
var Nodes = /* @__PURE__ */new Set();
|
|
10
|
-
var IntersectionState = /* @__PURE__ */new WeakMap();
|
|
11
10
|
var usePretransformDimensions = function () {
|
|
12
11
|
return globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
13
12
|
};
|
|
@@ -26,16 +25,18 @@ var LayoutMeasurementController = function (param) {
|
|
|
26
25
|
} = param;
|
|
27
26
|
var id = useId();
|
|
28
27
|
useIsomorphicLayoutEffect(function () {
|
|
28
|
+
var wasDisabled = DisableLayoutContextValues[id] === true;
|
|
29
29
|
DisableLayoutContextValues[id] = disable;
|
|
30
|
+
if (wasDisabled && !disable) measureOnNextFrame === null || measureOnNextFrame === void 0 || measureOnNextFrame();
|
|
30
31
|
}, [disable, id]);
|
|
31
32
|
return /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {
|
|
32
33
|
value: id,
|
|
33
34
|
children
|
|
34
35
|
});
|
|
35
36
|
};
|
|
36
|
-
var globalIntersectionObserver = null;
|
|
37
37
|
var strategy = "async";
|
|
38
38
|
var resumeLayoutLoop;
|
|
39
|
+
var measureOnNextFrame;
|
|
39
40
|
function setOnLayoutStrategy(state) {
|
|
40
41
|
strategy = state;
|
|
41
42
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
@@ -54,18 +55,6 @@ function enable() {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
function startGlobalObservers() {
|
|
58
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
59
|
-
globalIntersectionObserver = new IntersectionObserver(function (entries) {
|
|
60
|
-
for (var i = 0; i < entries.length; i++) {
|
|
61
|
-
var entry = entries[i];
|
|
62
|
-
var node = entry.target;
|
|
63
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
64
|
-
}
|
|
65
|
-
}, {
|
|
66
|
-
threshold: 0
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
58
|
function rectsEqual(a, b) {
|
|
70
59
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
71
60
|
}
|
|
@@ -126,7 +115,7 @@ if (ENABLE) {
|
|
|
126
115
|
}
|
|
127
116
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
128
117
|
if (strategy !== "off") {
|
|
129
|
-
var
|
|
118
|
+
var activeNodes = [];
|
|
130
119
|
var parentsToObserve = /* @__PURE__ */new Set();
|
|
131
120
|
var _iteratorNormalCompletion = true,
|
|
132
121
|
_didIteratorError = false,
|
|
@@ -141,8 +130,7 @@ if (ENABLE) {
|
|
|
141
130
|
}
|
|
142
131
|
var disableKey = LayoutDisableKey.get(node);
|
|
143
132
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
144
|
-
|
|
145
|
-
visibleNodes.push(node);
|
|
133
|
+
activeNodes.push(node);
|
|
146
134
|
parentsToObserve.add(parentElement);
|
|
147
135
|
}
|
|
148
136
|
} catch (err) {
|
|
@@ -155,10 +143,10 @@ if (ENABLE) {
|
|
|
155
143
|
if (_didIteratorError) throw _iteratorError;
|
|
156
144
|
}
|
|
157
145
|
}
|
|
158
|
-
if (
|
|
146
|
+
if (activeNodes.length > 0) {
|
|
159
147
|
var io = ensureRectFetchObserver2();
|
|
160
148
|
rectFetchStartTime = performance.now();
|
|
161
|
-
for (var i = 0; i <
|
|
149
|
+
for (var i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
162
150
|
var _iteratorNormalCompletion1 = true,
|
|
163
151
|
_didIteratorError1 = false,
|
|
164
152
|
_iteratorError1 = void 0;
|
|
@@ -180,7 +168,7 @@ if (ENABLE) {
|
|
|
180
168
|
await new Promise(function (res) {
|
|
181
169
|
rectFetchResolve = res;
|
|
182
170
|
});
|
|
183
|
-
for (var i1 = 0; i1 <
|
|
171
|
+
for (var i1 = 0; i1 < activeNodes.length; i1++) io.unobserve(activeNodes[i1]);
|
|
184
172
|
var _iteratorNormalCompletion2 = true,
|
|
185
173
|
_didIteratorError2 = false,
|
|
186
174
|
_iteratorError2 = void 0;
|
|
@@ -200,13 +188,17 @@ if (ENABLE) {
|
|
|
200
188
|
}
|
|
201
189
|
}
|
|
202
190
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
203
|
-
for (var i2 = 0; i2 <
|
|
191
|
+
for (var i2 = 0; i2 < activeNodes.length; i2++) updateLayoutIfChanged(activeNodes[i2]);
|
|
204
192
|
}
|
|
205
193
|
}
|
|
206
194
|
frameScheduled = false;
|
|
207
195
|
scheduleLayoutFrame2();
|
|
208
196
|
}
|
|
209
197
|
resumeLayoutLoop = scheduleLayoutFrame2;
|
|
198
|
+
measureOnNextFrame = function () {
|
|
199
|
+
frameCount = 0;
|
|
200
|
+
scheduleLayoutFrame2();
|
|
201
|
+
};
|
|
210
202
|
document.addEventListener("visibilitychange", scheduleLayoutFrame2);
|
|
211
203
|
scheduleLayoutFrame2();
|
|
212
204
|
}
|
|
@@ -273,11 +265,6 @@ function emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {
|
|
|
273
265
|
function observeLayoutNode(node, disableKey) {
|
|
274
266
|
Nodes.add(node);
|
|
275
267
|
if (disableKey) LayoutDisableKey.set(node, disableKey);else LayoutDisableKey.delete(node);
|
|
276
|
-
startGlobalObservers();
|
|
277
|
-
if (globalIntersectionObserver) {
|
|
278
|
-
globalIntersectionObserver.observe(node);
|
|
279
|
-
IntersectionState.set(node, true);
|
|
280
|
-
}
|
|
281
268
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
282
269
|
}
|
|
283
270
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -292,8 +279,6 @@ function cleanupNode(node) {
|
|
|
292
279
|
LayoutHandlers.delete(node);
|
|
293
280
|
LayoutDisableKey.delete(node);
|
|
294
281
|
NodeRectCache.delete(node);
|
|
295
|
-
IntersectionState.delete(node);
|
|
296
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
297
282
|
}
|
|
298
283
|
var PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
299
284
|
function emitLayoutSync(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","useIsomorphicLayoutEffect","createContext","useContext","useId","_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","ENABLE","LayoutMeasurementController","param","disable","children","id","Provider","value","globalIntersectionObserver","strategy","resumeLayoutLoop","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver2","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","scheduleLayoutFrame2","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","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","addEventListener","getElementLayoutEvent","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","registerLayoutNode","onChange","PrevHostNode","emitLayoutSync","useElementLayout","ref","_ref_current","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","node2","totalNodes","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["index.native.js"],"sourcesContent":["import { jsx } from \"react/jsx-runtime\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\n\nfunction _instanceof(left, right) {\n\tif (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);\n\telse return left instanceof right;\n}\nvar LayoutHandlers = /* @__PURE__ */ new WeakMap();\nvar LayoutDisableKey = /* @__PURE__ */ new WeakMap();\nvar Nodes = /* @__PURE__ */ new Set();\nvar IntersectionState = /* @__PURE__ */ new WeakMap();\nvar usePretransformDimensions = function() {\n\treturn globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\n};\nvar _debugLayout;\nfunction isDebugLayout() {\n\tif (_debugLayout === void 0) _debugLayout = typeof window !== \"undefined\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\");\n\treturn _debugLayout;\n}\nvar DisableLayoutContextValues = {};\nvar DisableLayoutContextKey = /* @__PURE__ */ createContext(\"\");\nvar ENABLE = false;\nvar LayoutMeasurementController = function(param) {\n\tvar { disable, children } = param;\n\tvar id = useId();\n\tuseIsomorphicLayoutEffect(function() {\n\t\tDisableLayoutContextValues[id] = disable;\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nvar globalIntersectionObserver = null;\nvar strategy = \"async\";\nvar resumeLayoutLoop;\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\n\tresumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();\n}\nvar NodeRectCache = /* @__PURE__ */ new WeakMap();\nvar avoidUpdates = true;\nvar queuedUpdates = /* @__PURE__ */ new Map();\nfunction enable() {\n\tif (avoidUpdates) {\n\t\tavoidUpdates = false;\n\t\tif (queuedUpdates) {\n\t\t\tqueuedUpdates.forEach(function(cb) {\n\t\t\t\treturn cb();\n\t\t\t});\n\t\t\tqueuedUpdates.clear();\n\t\t}\n\t}\n}\nfunction startGlobalObservers() {\n\tif (!ENABLE || globalIntersectionObserver) return;\n\tglobalIntersectionObserver = new IntersectionObserver(function(entries) {\n\t\tfor (var i = 0; i < entries.length; i++) {\n\t\t\tvar entry = entries[i];\n\t\t\tvar node = entry.target;\n\t\t\tif (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);\n\t\t}\n\t}, { threshold: 0 });\n}\nfunction rectsEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n\tlet ensureRectFetchObserver2 = function() {\n\t\tif (rectFetchObserver) return rectFetchObserver;\n\t\trectFetchObserver = new IntersectionObserver(function(entries) {\n\t\t\tlastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n\t\t\tfor (var i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50) console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\");\n\t\t\tif (rectFetchResolve) {\n\t\t\t\trectFetchResolve(true);\n\t\t\t\trectFetchResolve = null;\n\t\t\t}\n\t\t}, { threshold: 0 });\n\t\treturn rectFetchObserver;\n\t}, scheduleLayoutFrame2 = function() {\n\t\tif (frameScheduled || strategy === \"off\" || Nodes.size === 0 || document.hidden) return;\n\t\tframeScheduled = true;\n\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t};\n\tvar BoundingRects = /* @__PURE__ */ new WeakMap();\n\tvar rectFetchObserver = null;\n\tvar rectFetchResolve = null;\n\tvar rectFetchStartTime = 0;\n\tvar lastCallbackDelay = 0;\n\tasync function updateLayoutIfChanged(node) {\n\t\tif (typeof LayoutHandlers.get(node) !== \"function\") return;\n\t\tvar parentNode = node.parentElement;\n\t\tif (!parentNode) return;\n\t\tvar nodeRect;\n\t\tvar parentRect;\n\t\tif (strategy === \"async\") {\n\t\t\tnodeRect = BoundingRects.get(node);\n\t\t\tparentRect = BoundingRects.get(parentNode);\n\t\t\tif (!nodeRect || !parentRect) return;\n\t\t} else {\n\t\t\tnodeRect = node.getBoundingClientRect();\n\t\t\tparentRect = parentNode.getBoundingClientRect();\n\t\t}\n\t\temitLayoutIfChanged(node, parentNode, nodeRect, parentRect);\n\t}\n\tvar rAF = typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : void 0;\n\tvar userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;\n\tvar BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;\n\tvar MAX_SKIP_FRAMES = 20;\n\tvar skipFrames = BASE_SKIP_FRAMES;\n\tvar frameCount = 0;\n\tvar frameScheduled = false;\n\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\tframeScheduled = false;\n\t\t\tscheduleLayoutFrame2();\n\t\t\treturn;\n\t\t}\n\t\tif (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;\n\t\tif (strategy !== \"off\") {\n\t\t\tvar visibleNodes = [];\n\t\t\tvar parentsToObserve = /* @__PURE__ */ new Set();\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = Nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar node = _step.value;\n\t\t\t\t\tvar parentElement = node.parentElement;\n\t\t\t\t\tif (!_instanceof(parentElement, HTMLElement)) {\n\t\t\t\t\t\tcleanupNode(node);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tvar disableKey = LayoutDisableKey.get(node);\n\t\t\t\t\tif (disableKey && DisableLayoutContextValues[disableKey] === true) continue;\n\t\t\t\t\tif (IntersectionState.get(node) === false) continue;\n\t\t\t\t\tvisibleNodes.push(node);\n\t\t\t\t\tparentsToObserve.add(parentElement);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (visibleNodes.length > 0) {\n\t\t\t\tvar io = ensureRectFetchObserver2();\n\t\t\t\trectFetchStartTime = performance.now();\n\t\t\t\tfor (var i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);\n\t\t\t\tvar _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tfor (var _iterator1 = parentsToObserve[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n\t\t\t\t\t\tvar parent = _step1.value;\n\t\t\t\t\t\tio.observe(parent);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError1 = true;\n\t\t\t\t\t_iteratorError1 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError1) throw _iteratorError1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tawait new Promise(function(res) {\n\t\t\t\t\trectFetchResolve = res;\n\t\t\t\t});\n\t\t\t\tfor (var i1 = 0; i1 < visibleNodes.length; i1++) io.unobserve(visibleNodes[i1]);\n\t\t\t\tvar _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tfor (var _iterator2 = parentsToObserve[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\t\tvar parent1 = _step2.value;\n\t\t\t\t\t\tio.unobserve(parent1);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t\t_iteratorError2 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError2) throw _iteratorError2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);\n\t\t\t\telse if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);\n\t\t\t\tfor (var i2 = 0; i2 < visibleNodes.length; i2++) updateLayoutIfChanged(visibleNodes[i2]);\n\t\t\t}\n\t\t}\n\t\tframeScheduled = false;\n\t\tscheduleLayoutFrame2();\n\t}\n\tresumeLayoutLoop = scheduleLayoutFrame2;\n\tdocument.addEventListener(\"visibilitychange\", scheduleLayoutFrame2);\n\tscheduleLayoutFrame2();\n}\nvar getElementLayoutEvent = function(nodeRect, parentRect, node) {\n\treturn {\n\t\tnativeEvent: {\n\t\t\tlayout: getRelativeDimensions(nodeRect, parentRect, node),\n\t\t\ttarget: nodeRect\n\t\t},\n\t\ttimeStamp: Date.now()\n\t};\n};\nvar getPreTransformDimensions = function(node) {\n\treturn {\n\t\twidth: node.offsetWidth,\n\t\theight: node.offsetHeight\n\t};\n};\nvar getRelativeDimensions = function(a, b, aNode) {\n\tvar { left, top } = a;\n\tvar x = left - b.left;\n\tvar y = top - b.top;\n\tvar { width, height } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n\t\twidth: a.width,\n\t\theight: a.height\n\t};\n\treturn {\n\t\tx,\n\t\ty,\n\t\twidth,\n\t\theight,\n\t\tpageX: a.left,\n\t\tpageY: a.top\n\t};\n};\nfunction emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {\n\tvar onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tvar cachedRect = NodeRectCache.get(node);\n\tvar cachedParentRect = NodeRectCache.get(parentNode);\n\tvar nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\tvar parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\tif (!nodeChanged && !parentChanged) return;\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tvar event = getElementLayoutEvent(nodeRect, parentRect, node);\n\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\ttag: node.tagName,\n\t\tid: node.id || void 0,\n\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\tlayout: event.nativeEvent.layout,\n\t\tfirst: !cachedRect\n\t});\n\tif (avoidUpdates) queuedUpdates.set(node, function() {\n\t\treturn onLayout(event);\n\t});\n\telse onLayout(event);\n}\nfunction observeLayoutNode(node, disableKey) {\n\tNodes.add(node);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\telse LayoutDisableKey.delete(node);\n\tstartGlobalObservers();\n\tif (globalIntersectionObserver) {\n\t\tglobalIntersectionObserver.observe(node);\n\t\tIntersectionState.set(node, true);\n\t}\n\tresumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();\n}\nfunction registerLayoutNode(node, onChange, disableKey) {\n\tLayoutHandlers.set(node, onChange);\n\tobserveLayoutNode(node, disableKey);\n\treturn function() {\n\t\treturn cleanupNode(node);\n\t};\n}\nfunction cleanupNode(node) {\n\tNodes.delete(node);\n\tLayoutHandlers.delete(node);\n\tLayoutDisableKey.delete(node);\n\tNodeRectCache.delete(node);\n\tIntersectionState.delete(node);\n\tif (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);\n}\nvar PrevHostNode = /* @__PURE__ */ new WeakMap();\nfunction emitLayoutSync(node) {\n\tvar onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tvar parentNode = node.parentElement;\n\tif (!parentNode) return;\n\tvar nodeRect = node.getBoundingClientRect();\n\tvar parentRect = parentNode.getBoundingClientRect();\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tonLayout(getElementLayoutEvent(nodeRect, parentRect, node));\n}\nfunction useElementLayout(ref, onLayout) {\n\tvar _ref_current;\n\tvar disableKey = useContext(DisableLayoutContextKey);\n\tvar node = ensureWebElement((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.host);\n\tif (node && onLayout) {\n\t\tLayoutHandlers.set(node, onLayout);\n\t\tLayoutDisableKey.set(node, disableKey);\n\t}\n\tuseIsomorphicLayoutEffect(function() {\n\t\tvar _ref_current2;\n\t\tif (!onLayout) return;\n\t\tvar nextNode = ensureWebElement((_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host);\n\t\tvar prevNode = PrevHostNode.get(ref);\n\t\tif (nextNode === prevNode) return;\n\t\tif (prevNode) cleanupNode(prevNode);\n\t\tPrevHostNode.set(ref, nextNode);\n\t\tif (!nextNode) return;\n\t\tLayoutHandlers.set(nextNode, onLayout);\n\t\tobserveLayoutNode(nextNode, disableKey);\n\t\temitLayoutSync(nextNode);\n\t});\n\tuseIsomorphicLayoutEffect(function() {\n\t\tvar _ref_current2;\n\t\tif (!onLayout) return;\n\t\tvar node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;\n\t\tif (!node2) return;\n\t\tLayoutHandlers.set(node2, onLayout);\n\t\tobserveLayoutNode(node2, disableKey);\n\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] register\", {\n\t\t\ttag: node2.tagName,\n\t\t\tid: node2.id || void 0,\n\t\t\tclassName: (node2.className || \"\").slice(0, 60) || void 0,\n\t\t\ttotalNodes: Nodes.size\n\t\t});\n\t\treturn function() {\n\t\t\tcleanupNode(node2);\n\t\t\tvar swappedNode = PrevHostNode.get(ref);\n\t\t\tif (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);\n\t\t\tPrevHostNode.delete(ref);\n\t\t};\n\t}, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n\tif (typeof HTMLElement === \"undefined\") return;\n\treturn _instanceof(x, HTMLElement) ? x : void 0;\n}\nvar getBoundingClientRectAsync = function(node) {\n\treturn new Promise(function(res) {\n\t\tif (!node || node.nodeType !== 1) return res(false);\n\t\tvar io = new IntersectionObserver(function(entries) {\n\t\t\tio.disconnect();\n\t\t\treturn res(entries[0].boundingClientRect);\n\t\t}, { threshold: 0 });\n\t\tio.observe(node);\n\t});\n};\nvar measureNode = async function(node, relativeTo) {\n\tvar relativeNode = relativeTo || (node === null || node === void 0 ? void 0 : node.parentElement);\n\tif (_instanceof(relativeNode, HTMLElement)) {\n\t\tvar [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n\t\tif (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n\t}\n\treturn null;\n};\nvar measure = async function(node, callback) {\n\tvar out = await measureNode(node, _instanceof(node.parentNode, HTMLElement) ? node.parentNode : null);\n\tif (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasure(node) {\n\treturn function(callback) {\n\t\treturn measure(node, callback);\n\t};\n}\nvar measureInWindow = async function(node, callback) {\n\tvar out = await measureNode(node, null);\n\tif (out) callback === null || callback === void 0 || callback(out.pageX, out.pageY, out.width, out.height);\n\treturn out;\n};\nvar createMeasureInWindow = function(node) {\n\treturn function(callback) {\n\t\treturn measureInWindow(node, callback);\n\t};\n};\nvar measureLayout = async function(node, relativeNode, callback) {\n\tvar out = await measureNode(node, relativeNode);\n\tif (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasureLayout(node) {\n\treturn function(relativeTo, callback) {\n\t\treturn measureLayout(node, relativeTo, callback);\n\t};\n}\n\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","useIsomorphicLayoutEffect","createContext","useContext","useId","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","LayoutMeasurementController","param","disable","children","id","wasDisabled","measureOnNextFrame","Provider","value","strategy","resumeLayoutLoop","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver2","rectFetchObserver","IntersectionObserver","entries","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","i","length","BoundingRects","set","target","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","threshold","scheduleLayoutFrame2","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","node","get","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","activeNodes","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","addEventListener","getElementLayoutEvent","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","registerLayoutNode","onChange","PrevHostNode","emitLayoutSync","useElementLayout","ref","_ref_current","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","node2","totalNodes","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["index.native.js"],"sourcesContent":["import { jsx } from \"react/jsx-runtime\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\n\nfunction _instanceof(left, right) {\n\tif (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);\n\telse return left instanceof right;\n}\nvar LayoutHandlers = /* @__PURE__ */ new WeakMap();\nvar LayoutDisableKey = /* @__PURE__ */ new WeakMap();\nvar Nodes = /* @__PURE__ */ new Set();\nvar usePretransformDimensions = function() {\n\treturn globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\n};\nvar _debugLayout;\nfunction isDebugLayout() {\n\tif (_debugLayout === void 0) _debugLayout = typeof window !== \"undefined\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\");\n\treturn _debugLayout;\n}\nvar DisableLayoutContextValues = {};\nvar DisableLayoutContextKey = /* @__PURE__ */ createContext(\"\");\nvar ENABLE = false;\nvar LayoutMeasurementController = function(param) {\n\tvar { disable, children } = param;\n\tvar id = useId();\n\tuseIsomorphicLayoutEffect(function() {\n\t\tvar wasDisabled = DisableLayoutContextValues[id] === true;\n\t\tDisableLayoutContextValues[id] = disable;\n\t\tif (wasDisabled && !disable) measureOnNextFrame === null || measureOnNextFrame === void 0 || measureOnNextFrame();\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nvar strategy = \"async\";\nvar resumeLayoutLoop;\nvar measureOnNextFrame;\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\n\tresumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();\n}\nvar NodeRectCache = /* @__PURE__ */ new WeakMap();\nvar avoidUpdates = true;\nvar queuedUpdates = /* @__PURE__ */ new Map();\nfunction enable() {\n\tif (avoidUpdates) {\n\t\tavoidUpdates = false;\n\t\tif (queuedUpdates) {\n\t\t\tqueuedUpdates.forEach(function(cb) {\n\t\t\t\treturn cb();\n\t\t\t});\n\t\t\tqueuedUpdates.clear();\n\t\t}\n\t}\n}\nfunction rectsEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n\tlet ensureRectFetchObserver2 = function() {\n\t\tif (rectFetchObserver) return rectFetchObserver;\n\t\trectFetchObserver = new IntersectionObserver(function(entries) {\n\t\t\tlastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n\t\t\tfor (var i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50) console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\");\n\t\t\tif (rectFetchResolve) {\n\t\t\t\trectFetchResolve(true);\n\t\t\t\trectFetchResolve = null;\n\t\t\t}\n\t\t}, { threshold: 0 });\n\t\treturn rectFetchObserver;\n\t}, scheduleLayoutFrame2 = function() {\n\t\tif (frameScheduled || strategy === \"off\" || Nodes.size === 0 || document.hidden) return;\n\t\tframeScheduled = true;\n\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t};\n\tvar BoundingRects = /* @__PURE__ */ new WeakMap();\n\tvar rectFetchObserver = null;\n\tvar rectFetchResolve = null;\n\tvar rectFetchStartTime = 0;\n\tvar lastCallbackDelay = 0;\n\tasync function updateLayoutIfChanged(node) {\n\t\tif (typeof LayoutHandlers.get(node) !== \"function\") return;\n\t\tvar parentNode = node.parentElement;\n\t\tif (!parentNode) return;\n\t\tvar nodeRect;\n\t\tvar parentRect;\n\t\tif (strategy === \"async\") {\n\t\t\tnodeRect = BoundingRects.get(node);\n\t\t\tparentRect = BoundingRects.get(parentNode);\n\t\t\tif (!nodeRect || !parentRect) return;\n\t\t} else {\n\t\t\tnodeRect = node.getBoundingClientRect();\n\t\t\tparentRect = parentNode.getBoundingClientRect();\n\t\t}\n\t\temitLayoutIfChanged(node, parentNode, nodeRect, parentRect);\n\t}\n\tvar rAF = typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : void 0;\n\tvar userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;\n\tvar BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;\n\tvar MAX_SKIP_FRAMES = 20;\n\tvar skipFrames = BASE_SKIP_FRAMES;\n\tvar frameCount = 0;\n\tvar frameScheduled = false;\n\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\tframeScheduled = false;\n\t\t\tscheduleLayoutFrame2();\n\t\t\treturn;\n\t\t}\n\t\tif (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;\n\t\tif (strategy !== \"off\") {\n\t\t\tvar activeNodes = [];\n\t\t\tvar parentsToObserve = /* @__PURE__ */ new Set();\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = Nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar node = _step.value;\n\t\t\t\t\tvar parentElement = node.parentElement;\n\t\t\t\t\tif (!_instanceof(parentElement, HTMLElement)) {\n\t\t\t\t\t\tcleanupNode(node);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tvar disableKey = LayoutDisableKey.get(node);\n\t\t\t\t\tif (disableKey && DisableLayoutContextValues[disableKey] === true) continue;\n\t\t\t\t\tactiveNodes.push(node);\n\t\t\t\t\tparentsToObserve.add(parentElement);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (activeNodes.length > 0) {\n\t\t\t\tvar io = ensureRectFetchObserver2();\n\t\t\t\trectFetchStartTime = performance.now();\n\t\t\t\tfor (var i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);\n\t\t\t\tvar _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tfor (var _iterator1 = parentsToObserve[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n\t\t\t\t\t\tvar parent = _step1.value;\n\t\t\t\t\t\tio.observe(parent);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError1 = true;\n\t\t\t\t\t_iteratorError1 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError1) throw _iteratorError1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tawait new Promise(function(res) {\n\t\t\t\t\trectFetchResolve = res;\n\t\t\t\t});\n\t\t\t\tfor (var i1 = 0; i1 < activeNodes.length; i1++) io.unobserve(activeNodes[i1]);\n\t\t\t\tvar _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tfor (var _iterator2 = parentsToObserve[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\t\tvar parent1 = _step2.value;\n\t\t\t\t\t\tio.unobserve(parent1);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t\t_iteratorError2 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError2) throw _iteratorError2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);\n\t\t\t\telse if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);\n\t\t\t\tfor (var i2 = 0; i2 < activeNodes.length; i2++) updateLayoutIfChanged(activeNodes[i2]);\n\t\t\t}\n\t\t}\n\t\tframeScheduled = false;\n\t\tscheduleLayoutFrame2();\n\t}\n\tresumeLayoutLoop = scheduleLayoutFrame2;\n\tmeasureOnNextFrame = function() {\n\t\tframeCount = 0;\n\t\tscheduleLayoutFrame2();\n\t};\n\tdocument.addEventListener(\"visibilitychange\", scheduleLayoutFrame2);\n\tscheduleLayoutFrame2();\n}\nvar getElementLayoutEvent = function(nodeRect, parentRect, node) {\n\treturn {\n\t\tnativeEvent: {\n\t\t\tlayout: getRelativeDimensions(nodeRect, parentRect, node),\n\t\t\ttarget: nodeRect\n\t\t},\n\t\ttimeStamp: Date.now()\n\t};\n};\nvar getPreTransformDimensions = function(node) {\n\treturn {\n\t\twidth: node.offsetWidth,\n\t\theight: node.offsetHeight\n\t};\n};\nvar getRelativeDimensions = function(a, b, aNode) {\n\tvar { left, top } = a;\n\tvar x = left - b.left;\n\tvar y = top - b.top;\n\tvar { width, height } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n\t\twidth: a.width,\n\t\theight: a.height\n\t};\n\treturn {\n\t\tx,\n\t\ty,\n\t\twidth,\n\t\theight,\n\t\tpageX: a.left,\n\t\tpageY: a.top\n\t};\n};\nfunction emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {\n\tvar onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tvar cachedRect = NodeRectCache.get(node);\n\tvar cachedParentRect = NodeRectCache.get(parentNode);\n\tvar nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\tvar parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\tif (!nodeChanged && !parentChanged) return;\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tvar event = getElementLayoutEvent(nodeRect, parentRect, node);\n\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\ttag: node.tagName,\n\t\tid: node.id || void 0,\n\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\tlayout: event.nativeEvent.layout,\n\t\tfirst: !cachedRect\n\t});\n\tif (avoidUpdates) queuedUpdates.set(node, function() {\n\t\treturn onLayout(event);\n\t});\n\telse onLayout(event);\n}\nfunction observeLayoutNode(node, disableKey) {\n\tNodes.add(node);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\telse LayoutDisableKey.delete(node);\n\tresumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();\n}\nfunction registerLayoutNode(node, onChange, disableKey) {\n\tLayoutHandlers.set(node, onChange);\n\tobserveLayoutNode(node, disableKey);\n\treturn function() {\n\t\treturn cleanupNode(node);\n\t};\n}\nfunction cleanupNode(node) {\n\tNodes.delete(node);\n\tLayoutHandlers.delete(node);\n\tLayoutDisableKey.delete(node);\n\tNodeRectCache.delete(node);\n}\nvar PrevHostNode = /* @__PURE__ */ new WeakMap();\nfunction emitLayoutSync(node) {\n\tvar onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tvar parentNode = node.parentElement;\n\tif (!parentNode) return;\n\tvar nodeRect = node.getBoundingClientRect();\n\tvar parentRect = parentNode.getBoundingClientRect();\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tonLayout(getElementLayoutEvent(nodeRect, parentRect, node));\n}\nfunction useElementLayout(ref, onLayout) {\n\tvar _ref_current;\n\tvar disableKey = useContext(DisableLayoutContextKey);\n\tvar node = ensureWebElement((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.host);\n\tif (node && onLayout) {\n\t\tLayoutHandlers.set(node, onLayout);\n\t\tLayoutDisableKey.set(node, disableKey);\n\t}\n\tuseIsomorphicLayoutEffect(function() {\n\t\tvar _ref_current2;\n\t\tif (!onLayout) return;\n\t\tvar nextNode = ensureWebElement((_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host);\n\t\tvar prevNode = PrevHostNode.get(ref);\n\t\tif (nextNode === prevNode) return;\n\t\tif (prevNode) cleanupNode(prevNode);\n\t\tPrevHostNode.set(ref, nextNode);\n\t\tif (!nextNode) return;\n\t\tLayoutHandlers.set(nextNode, onLayout);\n\t\tobserveLayoutNode(nextNode, disableKey);\n\t\temitLayoutSync(nextNode);\n\t});\n\tuseIsomorphicLayoutEffect(function() {\n\t\tvar _ref_current2;\n\t\tif (!onLayout) return;\n\t\tvar node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;\n\t\tif (!node2) return;\n\t\tLayoutHandlers.set(node2, onLayout);\n\t\tobserveLayoutNode(node2, disableKey);\n\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] register\", {\n\t\t\ttag: node2.tagName,\n\t\t\tid: node2.id || void 0,\n\t\t\tclassName: (node2.className || \"\").slice(0, 60) || void 0,\n\t\t\ttotalNodes: Nodes.size\n\t\t});\n\t\treturn function() {\n\t\t\tcleanupNode(node2);\n\t\t\tvar swappedNode = PrevHostNode.get(ref);\n\t\t\tif (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);\n\t\t\tPrevHostNode.delete(ref);\n\t\t};\n\t}, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n\tif (typeof HTMLElement === \"undefined\") return;\n\treturn _instanceof(x, HTMLElement) ? x : void 0;\n}\nvar getBoundingClientRectAsync = function(node) {\n\treturn new Promise(function(res) {\n\t\tif (!node || node.nodeType !== 1) return res(false);\n\t\tvar io = new IntersectionObserver(function(entries) {\n\t\t\tio.disconnect();\n\t\t\treturn res(entries[0].boundingClientRect);\n\t\t}, { threshold: 0 });\n\t\tio.observe(node);\n\t});\n};\nvar measureNode = async function(node, relativeTo) {\n\tvar relativeNode = relativeTo || (node === null || node === void 0 ? void 0 : node.parentElement);\n\tif (_instanceof(relativeNode, HTMLElement)) {\n\t\tvar [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n\t\tif (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n\t}\n\treturn null;\n};\nvar measure = async function(node, callback) {\n\tvar out = await measureNode(node, _instanceof(node.parentNode, HTMLElement) ? node.parentNode : null);\n\tif (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasure(node) {\n\treturn function(callback) {\n\t\treturn measure(node, callback);\n\t};\n}\nvar measureInWindow = async function(node, callback) {\n\tvar out = await measureNode(node, null);\n\tif (out) callback === null || callback === void 0 || callback(out.pageX, out.pageY, out.width, out.height);\n\treturn out;\n};\nvar createMeasureInWindow = function(node) {\n\treturn function(callback) {\n\t\treturn measureInWindow(node, callback);\n\t};\n};\nvar measureLayout = async function(node, relativeNode, callback) {\n\tvar out = await measureNode(node, relativeNode);\n\tif (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasureLayout(node) {\n\treturn function(relativeTo, callback) {\n\t\treturn measureLayout(node, relativeTo, callback);\n\t};\n}\n\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/use-element-layout",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.5",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"clean:build": "tamagui-build clean:build"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tamagui/constants": "2.7.
|
|
38
|
-
"@tamagui/is-equal-shallow": "2.7.
|
|
37
|
+
"@tamagui/constants": "2.7.5",
|
|
38
|
+
"@tamagui/is-equal-shallow": "2.7.5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@tamagui/build": "2.7.
|
|
41
|
+
"@tamagui/build": "2.7.5",
|
|
42
42
|
"react": ">=19"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|