@tamagui/use-element-layout 1.130.6 → 1.130.8

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.
@@ -20,12 +20,16 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
20
20
  }), mod);
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ createMeasure: () => createMeasure,
24
+ createMeasureInWindow: () => createMeasureInWindow,
25
+ createMeasureLayout: () => createMeasureLayout,
23
26
  enable: () => enable,
27
+ getBoundingClientRectAsync: () => getBoundingClientRectAsync,
24
28
  getElementLayoutEvent: () => getElementLayoutEvent,
25
- getElementLayoutEventAsync: () => getElementLayoutEventAsync,
26
- getRect: () => getRect,
29
+ measure: () => measure,
30
+ measureInWindow: () => measureInWindow,
27
31
  measureLayout: () => measureLayout,
28
- measureLayoutAsync: () => measureLayoutAsync,
32
+ measureNode: () => measureNode,
29
33
  setOnLayoutStrategy: () => setOnLayoutStrategy,
30
34
  useElementLayout: () => useElementLayout
31
35
  });
@@ -49,7 +53,7 @@ const queuedUpdates = /* @__PURE__ */new Map();
49
53
  function enable() {
50
54
  avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear()));
51
55
  }
52
- function startGlobalIntersectionObserver() {
56
+ function startGlobalObservers() {
53
57
  !import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(entries => {
54
58
  entries.forEach(entry => {
55
59
  const node = entry.target;
@@ -100,7 +104,8 @@ if (import_constants.isClient) if (rAF) {
100
104
  }
101
105
  rAF(layoutOnAnimationFrame);
102
106
  let frameCount = 0;
103
- const RUN_EVERY_X_FRAMES = 8;
107
+ const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP,
108
+ RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
104
109
  } else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
105
110
  const getElementLayoutEvent = (nodeRect, parentRect) => ({
106
111
  nativeEvent: {
@@ -109,60 +114,6 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
109
114
  },
110
115
  timeStamp: Date.now()
111
116
  }),
112
- measureLayout = (node, relativeTo, callback) => {
113
- const relativeNode = relativeTo || node?.parentElement;
114
- if (relativeNode instanceof HTMLElement) {
115
- const nodeDim = node.getBoundingClientRect(),
116
- relativeNodeDim = relativeNode.getBoundingClientRect();
117
- if (relativeNodeDim && nodeDim) {
118
- const {
119
- x,
120
- y,
121
- width,
122
- height,
123
- left,
124
- top
125
- } = getRelativeDimensions(nodeDim, relativeNodeDim);
126
- callback(x, y, width, height, left, top);
127
- }
128
- }
129
- },
130
- getElementLayoutEventAsync = async target => {
131
- const layout = await measureLayoutAsync(target);
132
- if (!layout) throw new Error("\u203C\uFE0F");
133
- return {
134
- nativeEvent: {
135
- layout,
136
- target
137
- },
138
- timeStamp: Date.now()
139
- };
140
- },
141
- measureLayoutAsync = async (node, relativeTo) => {
142
- const relativeNode = relativeTo || node?.parentElement;
143
- if (relativeNode instanceof HTMLElement) {
144
- const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
145
- if (relativeNodeDim && nodeDim) {
146
- const {
147
- x,
148
- y,
149
- width,
150
- height,
151
- left,
152
- top
153
- } = getRelativeDimensions(nodeDim, relativeNodeDim);
154
- return {
155
- x,
156
- y,
157
- width,
158
- height,
159
- left,
160
- top
161
- };
162
- }
163
- }
164
- return null;
165
- },
166
117
  getRelativeDimensions = (a, b) => {
167
118
  const {
168
119
  height,
@@ -177,8 +128,8 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
177
128
  y,
178
129
  width,
179
130
  height,
180
- left,
181
- top
131
+ pageX: a.left,
132
+ pageY: a.top
182
133
  };
183
134
  };
184
135
  function useElementLayout(ref, onLayout) {
@@ -187,7 +138,7 @@ function useElementLayout(ref, onLayout) {
187
138
  if (!onLayout) return;
188
139
  const node2 = ref.current?.host;
189
140
  if (!node2) return;
190
- Nodes.add(node2), startGlobalIntersectionObserver(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
141
+ Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
191
142
  const parentNode = node2.parentNode;
192
143
  return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), () => {
193
144
  Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
@@ -204,24 +155,30 @@ const getBoundingClientRectAsync = node => new Promise(res => {
204
155
  });
205
156
  io.observe(node);
206
157
  }),
207
- getBoundingClientRect = node => {
208
- if (!(!node || node.nodeType !== 1)) return node.getBoundingClientRect?.();
158
+ measureNode = async (node, relativeTo) => {
159
+ const relativeNode = relativeTo || node?.parentElement;
160
+ if (relativeNode instanceof HTMLElement) {
161
+ const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
162
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim);
163
+ }
164
+ return null;
209
165
  },
210
- getRect = node => {
211
- const rect = getBoundingClientRect(node);
212
- if (!rect) return;
213
- const {
214
- x,
215
- y,
216
- top,
217
- left
218
- } = rect;
219
- return {
220
- x,
221
- y,
222
- width: node.offsetWidth,
223
- height: node.offsetHeight,
224
- top,
225
- left
226
- };
227
- };
166
+ measure = async (node, callback) => {
167
+ const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
168
+ return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
169
+ };
170
+ function createMeasure(node) {
171
+ return callback => measure(node, callback);
172
+ }
173
+ const measureInWindow = async (node, callback) => {
174
+ const out = await measureNode(node, null);
175
+ return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;
176
+ },
177
+ createMeasureInWindow = node => callback => measureInWindow(node, callback),
178
+ measureLayout = async (node, relativeNode, callback) => {
179
+ const out = await measureNode(node, relativeNode);
180
+ return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
181
+ };
182
+ function createMeasureLayout(node) {
183
+ return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
184
+ }
package/dist/cjs/index.js CHANGED
@@ -14,12 +14,16 @@ var __export = (target, all) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
15
  var index_exports = {};
16
16
  __export(index_exports, {
17
+ createMeasure: () => createMeasure,
18
+ createMeasureInWindow: () => createMeasureInWindow,
19
+ createMeasureLayout: () => createMeasureLayout,
17
20
  enable: () => enable,
21
+ getBoundingClientRectAsync: () => getBoundingClientRectAsync,
18
22
  getElementLayoutEvent: () => getElementLayoutEvent,
19
- getElementLayoutEventAsync: () => getElementLayoutEventAsync,
20
- getRect: () => getRect,
23
+ measure: () => measure,
24
+ measureInWindow: () => measureInWindow,
21
25
  measureLayout: () => measureLayout,
22
- measureLayoutAsync: () => measureLayoutAsync,
26
+ measureNode: () => measureNode,
23
27
  setOnLayoutStrategy: () => setOnLayoutStrategy,
24
28
  useElementLayout: () => useElementLayout
25
29
  });
@@ -36,7 +40,7 @@ const queuedUpdates = /* @__PURE__ */ new Map();
36
40
  function enable() {
37
41
  avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear()));
38
42
  }
39
- function startGlobalIntersectionObserver() {
43
+ function startGlobalObservers() {
40
44
  !import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(
41
45
  (entries) => {
42
46
  entries.forEach((entry) => {
@@ -94,7 +98,7 @@ if (import_constants.isClient)
94
98
  }
95
99
  rAF(layoutOnAnimationFrame);
96
100
  let frameCount = 0;
97
- const RUN_EVERY_X_FRAMES = 8;
101
+ const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
98
102
  } else
99
103
  process.env.NODE_ENV === "development" && console.warn(
100
104
  "No requestAnimationFrame - please polyfill for onLayout to work correctly"
@@ -105,48 +109,9 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
105
109
  target: nodeRect
106
110
  },
107
111
  timeStamp: Date.now()
108
- }), measureLayout = (node, relativeTo, callback) => {
109
- const relativeNode = relativeTo || node?.parentElement;
110
- if (relativeNode instanceof HTMLElement) {
111
- const nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
112
- if (relativeNodeDim && nodeDim) {
113
- const { x, y, width, height, left, top } = getRelativeDimensions(
114
- nodeDim,
115
- relativeNodeDim
116
- );
117
- callback(x, y, width, height, left, top);
118
- }
119
- }
120
- }, getElementLayoutEventAsync = async (target) => {
121
- const layout = await measureLayoutAsync(target);
122
- if (!layout)
123
- throw new Error("\u203C\uFE0F");
124
- return {
125
- nativeEvent: {
126
- layout,
127
- target
128
- },
129
- timeStamp: Date.now()
130
- };
131
- }, measureLayoutAsync = async (node, relativeTo) => {
132
- const relativeNode = relativeTo || node?.parentElement;
133
- if (relativeNode instanceof HTMLElement) {
134
- const [nodeDim, relativeNodeDim] = await Promise.all([
135
- getBoundingClientRectAsync(node),
136
- getBoundingClientRectAsync(relativeNode)
137
- ]);
138
- if (relativeNodeDim && nodeDim) {
139
- const { x, y, width, height, left, top } = getRelativeDimensions(
140
- nodeDim,
141
- relativeNodeDim
142
- );
143
- return { x, y, width, height, left, top };
144
- }
145
- }
146
- return null;
147
- }, getRelativeDimensions = (a, b) => {
112
+ }), getRelativeDimensions = (a, b) => {
148
113
  const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
149
- return { x, y, width, height, left, top };
114
+ return { x, y, width, height, pageX: a.left, pageY: a.top };
150
115
  };
151
116
  function useElementLayout(ref, onLayout) {
152
117
  const node = ensureWebElement(ref.current?.host);
@@ -154,7 +119,7 @@ function useElementLayout(ref, onLayout) {
154
119
  if (!onLayout) return;
155
120
  const node2 = ref.current?.host;
156
121
  if (!node2) return;
157
- Nodes.add(node2), startGlobalIntersectionObserver(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
122
+ Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
158
123
  const parentNode = node2.parentNode;
159
124
  return parentNode && onLayout(
160
125
  getElementLayoutEvent(
@@ -179,13 +144,35 @@ const getBoundingClientRectAsync = (node) => new Promise((res) => {
179
144
  }
180
145
  );
181
146
  io.observe(node);
182
- }), getBoundingClientRect = (node) => {
183
- if (!(!node || node.nodeType !== 1))
184
- return node.getBoundingClientRect?.();
185
- }, getRect = (node) => {
186
- const rect = getBoundingClientRect(node);
187
- if (!rect) return;
188
- const { x, y, top, left } = rect;
189
- return { x, y, width: node.offsetWidth, height: node.offsetHeight, top, left };
147
+ }), measureNode = async (node, relativeTo) => {
148
+ const relativeNode = relativeTo || node?.parentElement;
149
+ if (relativeNode instanceof HTMLElement) {
150
+ const [nodeDim, relativeNodeDim] = await Promise.all([
151
+ getBoundingClientRectAsync(node),
152
+ getBoundingClientRectAsync(relativeNode)
153
+ ]);
154
+ if (relativeNodeDim && nodeDim)
155
+ return getRelativeDimensions(nodeDim, relativeNodeDim);
156
+ }
157
+ return null;
158
+ }, measure = async (node, callback) => {
159
+ const out = await measureNode(
160
+ node,
161
+ node.parentNode instanceof HTMLElement ? node.parentNode : null
162
+ );
163
+ return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
190
164
  };
165
+ function createMeasure(node) {
166
+ return (callback) => measure(node, callback);
167
+ }
168
+ const measureInWindow = async (node, callback) => {
169
+ const out = await measureNode(node, null);
170
+ return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;
171
+ }, createMeasureInWindow = (node) => (callback) => measureInWindow(node, callback), measureLayout = async (node, relativeNode, callback) => {
172
+ const out = await measureNode(node, relativeNode);
173
+ return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
174
+ };
175
+ function createMeasureLayout(node) {
176
+ return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
177
+ }
191
178
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["node"]
6
6
  }
@@ -15,12 +15,16 @@ var __export = (target, all) => {
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
16
  var index_exports = {};
17
17
  __export(index_exports, {
18
+ createMeasure: () => createMeasure,
19
+ createMeasureInWindow: () => createMeasureInWindow,
20
+ createMeasureLayout: () => createMeasureLayout,
18
21
  enable: () => enable,
22
+ getBoundingClientRectAsync: () => getBoundingClientRectAsync,
19
23
  getElementLayoutEvent: () => getElementLayoutEvent,
20
- getElementLayoutEventAsync: () => getElementLayoutEventAsync,
21
- getRect: () => getRect,
24
+ measure: () => measure,
25
+ measureInWindow: () => measureInWindow,
22
26
  measureLayout: () => measureLayout,
23
- measureLayoutAsync: () => measureLayoutAsync,
27
+ measureNode: () => measureNode,
24
28
  setOnLayoutStrategy: () => setOnLayoutStrategy,
25
29
  useElementLayout: () => useElementLayout
26
30
  });
@@ -35,7 +39,7 @@ function enable() {
35
39
  return cb();
36
40
  }), queuedUpdates.clear()));
37
41
  }
38
- function startGlobalIntersectionObserver() {
42
+ function startGlobalObservers() {
39
43
  !import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
40
44
  entries.forEach(function(entry) {
41
45
  var node = entry.target;
@@ -93,7 +97,7 @@ if (import_constants.isClient)
93
97
  }
94
98
  }
95
99
  rAF(layoutOnAnimationFrame);
96
- var frameCount = 0, RUN_EVERY_X_FRAMES = 8;
100
+ var frameCount = 0, userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
97
101
  } else
98
102
  process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
99
103
  var getElementLayoutEvent = function(nodeRect, parentRect) {
@@ -104,46 +108,6 @@ var getElementLayoutEvent = function(nodeRect, parentRect) {
104
108
  },
105
109
  timeStamp: Date.now()
106
110
  };
107
- }, measureLayout = function(node, relativeTo, callback) {
108
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
109
- if (relativeNode instanceof HTMLElement) {
110
- var nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
111
- if (relativeNodeDim && nodeDim) {
112
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
113
- callback(x, y, width, height, left, top);
114
- }
115
- }
116
- }, getElementLayoutEventAsync = async function(target) {
117
- var layout = await measureLayoutAsync(target);
118
- if (!layout)
119
- throw new Error("\u203C\uFE0F");
120
- return {
121
- nativeEvent: {
122
- layout,
123
- target
124
- },
125
- timeStamp: Date.now()
126
- };
127
- }, measureLayoutAsync = async function(node, relativeTo) {
128
- var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
129
- if (relativeNode instanceof HTMLElement) {
130
- var [nodeDim, relativeNodeDim] = await Promise.all([
131
- getBoundingClientRectAsync(node),
132
- getBoundingClientRectAsync(relativeNode)
133
- ]);
134
- if (relativeNodeDim && nodeDim) {
135
- var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
136
- return {
137
- x,
138
- y,
139
- width,
140
- height,
141
- left,
142
- top
143
- };
144
- }
145
- }
146
- return null;
147
111
  }, getRelativeDimensions = function(a, b) {
148
112
  var { height, left, top, width } = a, x = left - b.left, y = top - b.top;
149
113
  return {
@@ -151,8 +115,8 @@ var getElementLayoutEvent = function(nodeRect, parentRect) {
151
115
  y,
152
116
  width,
153
117
  height,
154
- left,
155
- top
118
+ pageX: a.left,
119
+ pageY: a.top
156
120
  };
157
121
  };
158
122
  function useElementLayout(ref, onLayout) {
@@ -162,7 +126,7 @@ function useElementLayout(ref, onLayout) {
162
126
  if (onLayout) {
163
127
  var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
164
128
  if (node2) {
165
- Nodes.add(node2), startGlobalIntersectionObserver(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
129
+ Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
166
130
  var parentNode = node2.parentNode;
167
131
  return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), function() {
168
132
  Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
@@ -188,32 +152,54 @@ var getBoundingClientRectAsync = function(node) {
188
152
  });
189
153
  io.observe(node);
190
154
  });
191
- }, getBoundingClientRect = function(node) {
192
- var _node_getBoundingClientRect;
193
- if (!(!node || node.nodeType !== 1))
194
- return (_node_getBoundingClientRect = node.getBoundingClientRect) === null || _node_getBoundingClientRect === void 0 ? void 0 : _node_getBoundingClientRect.call(node);
195
- }, getRect = function(node) {
196
- var rect = getBoundingClientRect(node);
197
- if (rect) {
198
- var { x, y, top, left } = rect;
199
- return {
200
- x,
201
- y,
202
- width: node.offsetWidth,
203
- height: node.offsetHeight,
204
- top,
205
- left
206
- };
155
+ }, measureNode = async function(node, relativeTo) {
156
+ var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
157
+ if (relativeNode instanceof HTMLElement) {
158
+ var [nodeDim, relativeNodeDim] = await Promise.all([
159
+ getBoundingClientRectAsync(node),
160
+ getBoundingClientRectAsync(relativeNode)
161
+ ]);
162
+ if (relativeNodeDim && nodeDim)
163
+ return getRelativeDimensions(nodeDim, relativeNodeDim);
207
164
  }
165
+ return null;
166
+ }, measure = async function(node, callback) {
167
+ var out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
168
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
169
+ };
170
+ function createMeasure(node) {
171
+ return function(callback) {
172
+ return measure(node, callback);
173
+ };
174
+ }
175
+ var measureInWindow = async function(node, callback) {
176
+ var out = await measureNode(node, null);
177
+ return out && (callback == null || callback(out.pageX, out.pageY, out.width, out.height)), out;
178
+ }, createMeasureInWindow = function(node) {
179
+ return function(callback) {
180
+ return measureInWindow(node, callback);
181
+ };
182
+ }, measureLayout = async function(node, relativeNode, callback) {
183
+ var out = await measureNode(node, relativeNode);
184
+ return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
208
185
  };
186
+ function createMeasureLayout(node) {
187
+ return function(relativeTo, callback) {
188
+ return measureLayout(node, relativeTo, callback);
189
+ };
190
+ }
209
191
  // Annotate the CommonJS export names for ESM import in node:
210
192
  0 && (module.exports = {
193
+ createMeasure,
194
+ createMeasureInWindow,
195
+ createMeasureLayout,
211
196
  enable,
197
+ getBoundingClientRectAsync,
212
198
  getElementLayoutEvent,
213
- getElementLayoutEventAsync,
214
- getRect,
199
+ measure,
200
+ measureInWindow,
215
201
  measureLayout,
216
- measureLayoutAsync,
202
+ measureNode,
217
203
  setOnLayoutStrategy,
218
204
  useElementLayout
219
205
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../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", "startGlobalIntersectionObserver", "isClient", "IntersectionObserver", "entries", "entry", "node", "target", "get", "isIntersecting", "set", "threshold", "layoutOnAnimationFrame", "frameCount", "RUN_EVERY_X_FRAMES", "Number", "MAX_SAFE_INTEGER", "updateLayoutIfChanged", "supportsCheckVisibility", "document", "body", "process", "env", "TAMAGUI_ONLAYOUT_VISIBILITY_CHECK", "checkVisibility", "onLayout", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "event", "getElementLayoutEvent", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "timeStamp", "Date", "now", "measureLayout", "relativeTo", "callback", "relativeNode", "HTMLElement", "nodeDim", "relativeNodeDim", "x", "y", "width", "height", "left", "top", "getElementLayoutEventAsync", "measureLayoutAsync", "Error", "a", "b", "useElementLayout", "ref", "ensureWebElement", "current", "host", "useIsomorphicLayoutEffect", "add", "observe", "delete", "unobserve", "res", "nodeType", "io", "disconnect", "boundingClientRect", "getRect", "rect", "offsetWidth", "offsetHeight"]
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", "layoutOnAnimationFrame", "frameCount", "RUN_EVERY_X_FRAMES", "Number", "MAX_SAFE_INTEGER", "updateLayoutIfChanged", "supportsCheckVisibility", "document", "body", "process", "env", "TAMAGUI_ONLAYOUT_VISIBILITY_CHECK", "checkVisibility", "onLayout", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "event", "getElementLayoutEvent", "userSkipVal", "TAMAGUI_LAYOUT_FRAME_SKIP", "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", "observe", "delete", "unobserve", "HTMLElement", "res", "nodeType", "io", "disconnect", "boundingClientRect", "measureNode", "relativeTo", "relativeNode", "nodeDim", "relativeNodeDim", "measure", "callback", "out", "createMeasure", "measureInWindow", "createMeasureInWindow", "measureLayout", "createMeasureLayout"]
6
6
  }