@tamagui/use-element-layout 1.134.4 → 1.135.0

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/Users/n8/tamagui/code/core/use-element-layout/src/index.ts"],
4
- "mappings": "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",
5
- "names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "IntersectionState", "globalIntersectionObserver", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "startGlobalObservers", "isClient", "IntersectionObserver", "entries", "entry", "node", "target", "get", "isIntersecting", "set", "threshold", "supportsCheckVisibility", "document", "body", "BoundingRects", "updateLayoutIfChanged", "process", "env", "TAMAGUI_ONLAYOUT_VISIBILITY_CHECK", "checkVisibility", "onLayout", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "event", "getElementLayoutEvent", "layoutOnAnimationFrame", "frameCount", "userSkipVal", "TAMAGUI_LAYOUT_FRAME_SKIP", "RUN_EVERY_X_FRAMES", "size", "Number", "MAX_SAFE_INTEGER", "res", "io", "disconnect", "_iteratorNormalCompletion", "_didIteratorError", "_iteratorError", "_iterator", "_step", "boundingClientRect", "HTMLElement", "observe", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "timeStamp", "Date", "now", "a", "b", "height", "left", "top", "width", "x", "y", "pageX", "pageY", "useElementLayout", "ref", "ensureWebElement", "current", "host", "useIsomorphicLayoutEffect", "add", "delete", "unobserve", "nodeType", "measureNode", "relativeTo", "relativeNode", "nodeDim", "relativeNodeDim", "measure", "callback", "out", "createMeasure", "measureInWindow", "createMeasureInWindow", "measureLayout", "createMeasureLayout"]
3
+ "sources": ["../../src/index.tsx"],
4
+ "mappings": "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",
5
+ "names": ["_jsx", "_iteratorNormalCompletion", "_didIteratorError", "_iteratorError", "_iterator", "_step", "_ref_current", "node"]
6
6
  }
package/dist/esm/index.js CHANGED
@@ -1,18 +1,28 @@
1
1
  import { isClient, useIsomorphicLayoutEffect } from "@tamagui/constants";
2
2
  import { isEqualShallow } from "@tamagui/is-equal-shallow";
3
- const LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), IntersectionState = /* @__PURE__ */ new WeakMap();
3
+ import { createContext, useContext, useId } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ const LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutDisableKey = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), IntersectionState = /* @__PURE__ */ new WeakMap(), DisableLayoutContextValues = {}, DisableLayoutContextKey = createContext(""), ENABLE = isClient && typeof IntersectionObserver < "u", LayoutMeasurementController = ({
6
+ disable,
7
+ children
8
+ }) => {
9
+ const id = useId();
10
+ return useIsomorphicLayoutEffect(() => {
11
+ DisableLayoutContextValues[id] = disable;
12
+ }, [disable, id]), /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, { value: id, children });
13
+ };
4
14
  let globalIntersectionObserver = null, strategy = "async";
5
15
  function setOnLayoutStrategy(state) {
6
16
  strategy = state;
7
17
  }
8
- const NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
18
+ const NodeRectCache = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap();
9
19
  let avoidUpdates = !0;
10
20
  const queuedUpdates = /* @__PURE__ */ new Map();
11
21
  function enable() {
12
22
  avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear()));
13
23
  }
14
24
  function startGlobalObservers() {
15
- !isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(
25
+ !ENABLE || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(
16
26
  (entries) => {
17
27
  entries.forEach((entry) => {
18
28
  const node = entry.target;
@@ -24,70 +34,67 @@ function startGlobalObservers() {
24
34
  }
25
35
  ));
26
36
  }
27
- if (isClient)
28
- if (rAF) {
29
- const supportsCheckVisibility = "checkVisibility" in document.body, BoundingRects = /* @__PURE__ */ new WeakMap();
30
- async function updateLayoutIfChanged(node) {
31
- if (IntersectionState.get(node) === !1 || process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility())
37
+ if (ENABLE) {
38
+ const BoundingRects = /* @__PURE__ */ new WeakMap();
39
+ async function updateLayoutIfChanged(node) {
40
+ const onLayout = LayoutHandlers.get(node);
41
+ if (typeof onLayout != "function") return;
42
+ const parentNode = node.parentElement;
43
+ if (!parentNode) return;
44
+ let nodeRect, parentRect;
45
+ if (strategy === "async") {
46
+ const [nr, pr] = await Promise.all([
47
+ BoundingRects.get(node),
48
+ BoundingRects.get(parentNode)
49
+ ]);
50
+ if (!nr || !pr)
32
51
  return;
33
- const onLayout = LayoutHandlers.get(node);
34
- if (typeof onLayout != "function") return;
35
- const parentNode = node.parentElement;
36
- if (!parentNode) return;
37
- let nodeRect, parentRect;
38
- if (strategy === "async") {
39
- const [nr, pr] = await Promise.all([
40
- BoundingRects.get(node) || getBoundingClientRectAsync(node),
41
- BoundingRects.get(parentNode) || getBoundingClientRectAsync(parentNode)
42
- ]);
43
- if (nr === !1 || pr === !1)
44
- return;
45
- nodeRect = nr, parentRect = pr;
46
- } else
47
- nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
48
- const cachedRect = NodeRectCache.get(node), cachedParentRect = NodeRectCache.get(parentNode);
49
- if (!cachedRect || // has changed one rect
50
- // @ts-expect-error DOMRectReadOnly can go into object
51
- !isEqualShallow(cachedRect, nodeRect) && // @ts-expect-error DOMRectReadOnly can go into object
52
- (!cachedParentRect || !isEqualShallow(cachedParentRect, parentRect))) {
53
- NodeRectCache.set(node, nodeRect), ParentRectCache.set(parentNode, parentRect);
54
- const event = getElementLayoutEvent(nodeRect, parentRect);
55
- avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);
56
- }
52
+ nodeRect = nr, parentRect = pr;
53
+ } else
54
+ nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
55
+ if (!nodeRect || !parentRect)
56
+ return;
57
+ const cachedRect = NodeRectCache.get(node), cachedParentRect = NodeRectCache.get(parentNode);
58
+ if (!cachedRect || !cachedParentRect || // has changed one rect
59
+ // @ts-expect-error DOMRectReadOnly can go into object
60
+ !isEqualShallow(cachedRect, nodeRect) || // @ts-expect-error DOMRectReadOnly can go into object
61
+ !isEqualShallow(cachedParentRect, parentRect)) {
62
+ NodeRectCache.set(node, nodeRect), NodeRectCache.set(parentNode, parentRect);
63
+ const event = getElementLayoutEvent(nodeRect, parentRect);
64
+ avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);
57
65
  }
58
- rAF(layoutOnAnimationFrame);
59
- let frameCount = 0;
60
- const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
61
- async function layoutOnAnimationFrame() {
62
- if (strategy !== "off") {
63
- if (!Nodes.size || frameCount++ % RUN_EVERY_X_FRAMES !== 0) {
64
- rAF(layoutOnAnimationFrame);
65
- return;
66
+ }
67
+ const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 14;
68
+ async function layoutOnAnimationFrame() {
69
+ if (strategy !== "off") {
70
+ const visibleNodes = [];
71
+ await new Promise((res) => {
72
+ const io = new IntersectionObserver(
73
+ (entries) => {
74
+ io.disconnect();
75
+ for (const entry of entries)
76
+ BoundingRects.set(entry.target, entry.boundingClientRect);
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));
66
88
  }
67
- frameCount === Number.MAX_SAFE_INTEGER && (frameCount = 0), await new Promise((res) => {
68
- const io = new IntersectionObserver(
69
- (entries) => {
70
- io.disconnect();
71
- for (const entry of entries)
72
- BoundingRects.set(entry.target, entry.boundingClientRect);
73
- res();
74
- },
75
- {
76
- threshold: 0
77
- }
78
- );
79
- for (const node of Nodes)
80
- node.parentElement instanceof HTMLElement && (io.observe(node), io.observe(node.parentElement));
81
- }), Nodes.forEach((node) => {
82
- updateLayoutIfChanged(node);
83
- });
84
- }
85
- rAF(layoutOnAnimationFrame);
89
+ didObserve || res(!1);
90
+ }) && visibleNodes.forEach((node) => {
91
+ updateLayoutIfChanged(node);
92
+ });
86
93
  }
87
- } else
88
- process.env.NODE_ENV === "development" && console.warn(
89
- "No requestAnimationFrame - please polyfill for onLayout to work correctly"
90
- );
94
+ setTimeout(layoutOnAnimationFrame, 16.6667 * RUN_EVERY_X_FRAMES);
95
+ }
96
+ layoutOnAnimationFrame();
97
+ }
91
98
  const getElementLayoutEvent = (nodeRect, parentRect) => ({
92
99
  nativeEvent: {
93
100
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -99,8 +106,8 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
99
106
  return { x, y, width, height, pageX: a.left, pageY: a.top };
100
107
  };
101
108
  function useElementLayout(ref, onLayout) {
102
- const node = ensureWebElement(ref.current?.host);
103
- node && onLayout && LayoutHandlers.set(node, onLayout), useIsomorphicLayoutEffect(() => {
109
+ const disableKey = useContext(DisableLayoutContextKey), node = ensureWebElement(ref.current?.host);
110
+ node && onLayout && (LayoutHandlers.set(node, onLayout), LayoutDisableKey.set(node, disableKey)), useIsomorphicLayoutEffect(() => {
104
111
  if (!onLayout) return;
105
112
  const node2 = ref.current?.host;
106
113
  if (!node2) return;
@@ -161,6 +168,7 @@ function createMeasureLayout(node) {
161
168
  return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
162
169
  }
163
170
  export {
171
+ LayoutMeasurementController,
164
172
  createMeasure,
165
173
  createMeasureInWindow,
166
174
  createMeasureLayout,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "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",
3
+ "sources": ["../../src/index.tsx"],
4
+ "mappings": "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",
5
5
  "names": ["node"]
6
6
  }
@@ -1,24 +1,40 @@
1
1
  import { isClient, useIsomorphicLayoutEffect } from "@tamagui/constants";
2
2
  import { isEqualShallow } from "@tamagui/is-equal-shallow";
3
+ import { createContext, useContext, useId } from "react";
4
+ import { jsx } from "react/jsx-runtime";
3
5
  const LayoutHandlers = /* @__PURE__ */new WeakMap(),
6
+ LayoutDisableKey = /* @__PURE__ */new WeakMap(),
4
7
  Nodes = /* @__PURE__ */new Set(),
5
- IntersectionState = /* @__PURE__ */new WeakMap();
8
+ IntersectionState = /* @__PURE__ */new WeakMap(),
9
+ DisableLayoutContextValues = {},
10
+ DisableLayoutContextKey = createContext(""),
11
+ ENABLE = isClient && typeof IntersectionObserver < "u",
12
+ LayoutMeasurementController = ({
13
+ disable,
14
+ children
15
+ }) => {
16
+ const id = useId();
17
+ return useIsomorphicLayoutEffect(() => {
18
+ DisableLayoutContextValues[id] = disable;
19
+ }, [disable, id]), /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {
20
+ value: id,
21
+ children
22
+ });
23
+ };
6
24
  let globalIntersectionObserver = null,
7
25
  strategy = "async";
8
26
  function setOnLayoutStrategy(state) {
9
27
  strategy = state;
10
28
  }
11
29
  const NodeRectCache = /* @__PURE__ */new WeakMap(),
12
- ParentRectCache = /* @__PURE__ */new WeakMap(),
13
- LastChangeTime = /* @__PURE__ */new WeakMap(),
14
- rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
30
+ LastChangeTime = /* @__PURE__ */new WeakMap();
15
31
  let avoidUpdates = !0;
16
32
  const queuedUpdates = /* @__PURE__ */new Map();
17
33
  function enable() {
18
34
  avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear()));
19
35
  }
20
36
  function startGlobalObservers() {
21
- !isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(entries => {
37
+ !ENABLE || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(entries => {
22
38
  entries.forEach(entry => {
23
39
  const node = entry.target;
24
40
  IntersectionState.get(node) !== entry.isIntersecting && IntersectionState.set(node, entry.isIntersecting);
@@ -27,60 +43,61 @@ function startGlobalObservers() {
27
43
  threshold: 0
28
44
  }));
29
45
  }
30
- if (isClient) if (rAF) {
31
- const supportsCheckVisibility = "checkVisibility" in document.body,
32
- BoundingRects = /* @__PURE__ */new WeakMap();
46
+ if (ENABLE) {
47
+ const BoundingRects = /* @__PURE__ */new WeakMap();
33
48
  async function updateLayoutIfChanged(node) {
34
- if (IntersectionState.get(node) === !1 || process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility()) return;
35
49
  const onLayout = LayoutHandlers.get(node);
36
50
  if (typeof onLayout != "function") return;
37
51
  const parentNode = node.parentElement;
38
52
  if (!parentNode) return;
39
53
  let nodeRect, parentRect;
40
54
  if (strategy === "async") {
41
- const [nr, pr] = await Promise.all([BoundingRects.get(node) || getBoundingClientRectAsync(node), BoundingRects.get(parentNode) || getBoundingClientRectAsync(parentNode)]);
42
- if (nr === !1 || pr === !1) return;
55
+ const [nr, pr] = await Promise.all([BoundingRects.get(node), BoundingRects.get(parentNode)]);
56
+ if (!nr || !pr) return;
43
57
  nodeRect = nr, parentRect = pr;
44
58
  } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
59
+ if (!nodeRect || !parentRect) return;
45
60
  const cachedRect = NodeRectCache.get(node),
46
61
  cachedParentRect = NodeRectCache.get(parentNode);
47
- if (!cachedRect ||
62
+ if (!cachedRect || !cachedParentRect ||
48
63
  // has changed one rect
49
64
  // @ts-expect-error DOMRectReadOnly can go into object
50
- !isEqualShallow(cachedRect, nodeRect) && (
65
+ !isEqualShallow(cachedRect, nodeRect) ||
51
66
  // @ts-expect-error DOMRectReadOnly can go into object
52
- !cachedParentRect || !isEqualShallow(cachedParentRect, parentRect))) {
53
- NodeRectCache.set(node, nodeRect), ParentRectCache.set(parentNode, parentRect);
67
+ !isEqualShallow(cachedParentRect, parentRect)) {
68
+ NodeRectCache.set(node, nodeRect), NodeRectCache.set(parentNode, parentRect);
54
69
  const event = getElementLayoutEvent(nodeRect, parentRect);
55
70
  avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);
56
71
  }
57
72
  }
58
- rAF(layoutOnAnimationFrame);
59
- let frameCount = 0;
60
73
  const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP,
61
- RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
74
+ RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 14;
62
75
  async function layoutOnAnimationFrame() {
63
76
  if (strategy !== "off") {
64
- if (!Nodes.size || frameCount++ % RUN_EVERY_X_FRAMES !== 0) {
65
- rAF(layoutOnAnimationFrame);
66
- return;
67
- }
68
- frameCount === Number.MAX_SAFE_INTEGER && (frameCount = 0), await new Promise(res => {
77
+ const visibleNodes = [];
78
+ (await new Promise(res => {
69
79
  const io = new IntersectionObserver(entries => {
70
80
  io.disconnect();
71
81
  for (const entry of entries) BoundingRects.set(entry.target, entry.boundingClientRect);
72
- res();
82
+ res(!0);
73
83
  }, {
74
84
  threshold: 0
75
85
  });
76
- for (const node of Nodes) node.parentElement instanceof HTMLElement && (io.observe(node), io.observe(node.parentElement));
77
- }), Nodes.forEach(node => {
86
+ let didObserve = !1;
87
+ for (const node of Nodes) {
88
+ if (!(node.parentElement instanceof HTMLElement)) continue;
89
+ const disableKey = LayoutDisableKey.get(node);
90
+ disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (didObserve = !0, io.observe(node), io.observe(node.parentElement), visibleNodes.push(node));
91
+ }
92
+ didObserve || res(!1);
93
+ })) && visibleNodes.forEach(node => {
78
94
  updateLayoutIfChanged(node);
79
95
  });
80
96
  }
81
- rAF(layoutOnAnimationFrame);
97
+ setTimeout(layoutOnAnimationFrame, 16.6667 * RUN_EVERY_X_FRAMES);
82
98
  }
83
- } else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
99
+ layoutOnAnimationFrame();
100
+ }
84
101
  const getElementLayoutEvent = (nodeRect, parentRect) => ({
85
102
  nativeEvent: {
86
103
  layout: getRelativeDimensions(nodeRect, parentRect),
@@ -107,8 +124,9 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
107
124
  };
108
125
  };
109
126
  function useElementLayout(ref, onLayout) {
110
- const node = ensureWebElement(ref.current?.host);
111
- node && onLayout && LayoutHandlers.set(node, onLayout), useIsomorphicLayoutEffect(() => {
127
+ const disableKey = useContext(DisableLayoutContextKey),
128
+ node = ensureWebElement(ref.current?.host);
129
+ node && onLayout && (LayoutHandlers.set(node, onLayout), LayoutDisableKey.set(node, disableKey)), useIsomorphicLayoutEffect(() => {
112
130
  if (!onLayout) return;
113
131
  const node2 = ref.current?.host;
114
132
  if (!node2) return;
@@ -156,5 +174,5 @@ const measureInWindow = async (node, callback) => {
156
174
  function createMeasureLayout(node) {
157
175
  return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
158
176
  }
159
- export { createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, setOnLayoutStrategy, useElementLayout };
177
+ export { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, setOnLayoutStrategy, useElementLayout };
160
178
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","IntersectionState","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","supportsCheckVisibility","document","body","BoundingRects","updateLayoutIfChanged","process","env","TAMAGUI_ONLAYOUT_VISIBILITY_CHECK","checkVisibility","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","layoutOnAnimationFrame","frameCount","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","RUN_EVERY_X_FRAMES","size","Number","MAX_SAFE_INTEGER","res","io","disconnect","boundingClientRect","HTMLElement","observe","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","now","a","b","height","left","top","width","x","y","pageX","pageY","useElementLayout","ref","ensureWebElement","current","host","node2","add","delete","unobserve","nodeType","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","createContext","useContext","useId","jsx","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","IntersectionObserver","LayoutMeasurementController","disable","children","id","Provider","value","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","LastChangeTime","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","entries","entry","node","target","get","isIntersecting","set","threshold","BoundingRects","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","userSkipVal","process","env","TAMAGUI_LAYOUT_FRAME_SKIP","RUN_EVERY_X_FRAMES","layoutOnAnimationFrame","visibleNodes","res","io","disconnect","boundingClientRect","didObserve","HTMLElement","disableKey","observe","push","setTimeout","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","now","a","b","height","left","top","width","x","y","pageX","pageY","useElementLayout","ref","ensureWebElement","current","host","node2","add","delete","unobserve","getBoundingClientRectAsync","nodeType","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}