@hanzogui/use-element-layout 4.4.0 → 102.0.0-rc.41-hanzoai.1

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.
@@ -45,12 +45,10 @@ const LayoutHandlers = /* @__PURE__ */new WeakMap();
45
45
  const LayoutDisableKey = /* @__PURE__ */new WeakMap();
46
46
  const Nodes = /* @__PURE__ */new Set();
47
47
  const IntersectionState = /* @__PURE__ */new WeakMap();
48
- const usePretransformDimensions = () => globalThis.__GUI_ONLAYOUT_PRETRANSFORM === true || process.env.GUI_ONLAYOUT_PRETRANSFORM === "1";
48
+ const usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
49
49
  let _debugLayout;
50
50
  function isDebugLayout() {
51
- if (_debugLayout === void 0) {
52
- _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
53
- }
51
+ if (_debugLayout === void 0) _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
54
52
  return _debugLayout;
55
53
  }
56
54
  const DisableLayoutContextValues = {};
@@ -92,9 +90,7 @@ function startGlobalObservers() {
92
90
  for (let i = 0; i < entries.length; i++) {
93
91
  const entry = entries[i];
94
92
  const node = entry.target;
95
- if (IntersectionState.get(node) !== entry.isIntersecting) {
96
- IntersectionState.set(node, entry.isIntersecting);
97
- }
93
+ if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
98
94
  }
99
95
  }, {
100
96
  threshold: 0
@@ -108,12 +104,8 @@ if (ENABLE) {
108
104
  if (rectFetchObserver) return rectFetchObserver;
109
105
  rectFetchObserver = new IntersectionObserver(entries => {
110
106
  lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);
111
- for (let i = 0; i < entries.length; i++) {
112
- BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
113
- }
114
- if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) {
115
- console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
116
- }
107
+ for (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
108
+ if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
117
109
  if (rectFetchResolve) {
118
110
  rectFetchResolve(true);
119
111
  rectFetchResolve = null;
@@ -138,9 +130,7 @@ if (ENABLE) {
138
130
  if (strategy === "async") {
139
131
  nodeRect = BoundingRects.get(node);
140
132
  parentRect = BoundingRects.get(parentNode);
141
- if (!nodeRect || !parentRect) {
142
- return;
143
- }
133
+ if (!nodeRect || !parentRect) return;
144
134
  } else {
145
135
  nodeRect = node.getBoundingClientRect();
146
136
  parentRect = parentNode.getBoundingClientRect();
@@ -153,24 +143,18 @@ if (ENABLE) {
153
143
  NodeRectCache.set(node, nodeRect);
154
144
  NodeRectCache.set(parentNode, parentRect);
155
145
  const event = getElementLayoutEvent(nodeRect, parentRect, node);
156
- if (process.env.NODE_ENV === "development" && isDebugLayout()) {
157
- console.log("[useElementLayout] change", {
158
- tag: node.tagName,
159
- id: node.id || void 0,
160
- className: (node.className || "").slice(0, 60) || void 0,
161
- layout: event.nativeEvent.layout,
162
- first: !cachedRect
163
- });
164
- }
165
- if (avoidUpdates) {
166
- queuedUpdates.set(node, () => onLayout(event));
167
- } else {
168
- onLayout(event);
169
- }
146
+ if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] change", {
147
+ tag: node.tagName,
148
+ id: node.id || void 0,
149
+ className: (node.className || "").slice(0, 60) || void 0,
150
+ layout: event.nativeEvent.layout,
151
+ first: !cachedRect
152
+ });
153
+ if (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));else onLayout(event);
170
154
  }
171
155
  }
172
156
  const rAF = typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : void 0;
173
- const userSkipVal = process.env.GUI_LAYOUT_FRAME_SKIP;
157
+ const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
174
158
  const BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
175
159
  const MAX_SKIP_FRAMES = 20;
176
160
  let skipFrames = BASE_SKIP_FRAMES;
@@ -180,9 +164,7 @@ if (ENABLE) {
180
164
  rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
181
165
  return;
182
166
  }
183
- if (frameCount >= Number.MAX_SAFE_INTEGER) {
184
- frameCount = 0;
185
- }
167
+ if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
186
168
  if (strategy !== "off") {
187
169
  const visibleNodes = [];
188
170
  const parentsToObserve = /* @__PURE__ */new Set();
@@ -201,29 +183,15 @@ if (ENABLE) {
201
183
  if (visibleNodes.length > 0) {
202
184
  const io = ensureRectFetchObserver();
203
185
  rectFetchStartTime = performance.now();
204
- for (let i = 0; i < visibleNodes.length; i++) {
205
- io.observe(visibleNodes[i]);
206
- }
207
- for (const parent of parentsToObserve) {
208
- io.observe(parent);
209
- }
186
+ for (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);
187
+ for (const parent of parentsToObserve) io.observe(parent);
210
188
  await new Promise(res => {
211
189
  rectFetchResolve = res;
212
190
  });
213
- for (let i = 0; i < visibleNodes.length; i++) {
214
- io.unobserve(visibleNodes[i]);
215
- }
216
- for (const parent of parentsToObserve) {
217
- io.unobserve(parent);
218
- }
219
- if (lastCallbackDelay > 50) {
220
- skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);
221
- } else if (lastCallbackDelay < 20) {
222
- skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
223
- }
224
- for (let i = 0; i < visibleNodes.length; i++) {
225
- updateLayoutIfChanged(visibleNodes[i]);
226
- }
191
+ for (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);
192
+ for (const parent of parentsToObserve) io.unobserve(parent);
193
+ if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
194
+ for (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);
227
195
  }
228
196
  }
229
197
  rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
@@ -285,9 +253,7 @@ function cleanupNode(node) {
285
253
  LayoutDisableKey.delete(node);
286
254
  NodeRectCache.delete(node);
287
255
  IntersectionState.delete(node);
288
- if (globalIntersectionObserver) {
289
- globalIntersectionObserver.unobserve(node);
290
- }
256
+ if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
291
257
  }
292
258
  const PrevHostNode = /* @__PURE__ */new WeakMap();
293
259
  function useElementLayout(ref, onLayout) {
@@ -331,32 +297,24 @@ function useElementLayout(ref, onLayout) {
331
297
  globalIntersectionObserver.observe(node2);
332
298
  IntersectionState.set(node2, true);
333
299
  }
334
- if (process.env.NODE_ENV === "development" && isDebugLayout()) {
335
- console.log("[useElementLayout] register", {
336
- tag: node2.tagName,
337
- id: node2.id || void 0,
338
- className: (node2.className || "").slice(0, 60) || void 0,
339
- totalNodes: Nodes.size
340
- });
341
- }
300
+ if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] register", {
301
+ tag: node2.tagName,
302
+ id: node2.id || void 0,
303
+ className: (node2.className || "").slice(0, 60) || void 0,
304
+ totalNodes: Nodes.size
305
+ });
342
306
  const parentNode = node2.parentNode;
343
- if (parentNode) {
344
- onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
345
- }
307
+ if (parentNode) onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
346
308
  return () => {
347
309
  cleanupNode(node2);
348
310
  const swappedNode = PrevHostNode.get(ref);
349
- if (swappedNode && swappedNode !== node2) {
350
- cleanupNode(swappedNode);
351
- }
311
+ if (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);
352
312
  PrevHostNode.delete(ref);
353
313
  };
354
314
  }, [ref, !!onLayout]);
355
315
  }
356
316
  function ensureWebElement(x) {
357
- if (typeof HTMLElement === "undefined") {
358
- return void 0;
359
- }
317
+ if (typeof HTMLElement === "undefined") return;
360
318
  return x instanceof HTMLElement ? x : void 0;
361
319
  }
362
320
  const getBoundingClientRectAsync = node => {
@@ -375,17 +333,13 @@ const measureNode = async (node, relativeTo) => {
375
333
  const relativeNode = relativeTo || node?.parentElement;
376
334
  if (relativeNode instanceof HTMLElement) {
377
335
  const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
378
- if (relativeNodeDim && nodeDim) {
379
- return getRelativeDimensions(nodeDim, relativeNodeDim, node);
380
- }
336
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);
381
337
  }
382
338
  return null;
383
339
  };
384
340
  const measure = async (node, callback) => {
385
341
  const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
386
- if (out) {
387
- callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
388
- }
342
+ if (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
389
343
  return out;
390
344
  };
391
345
  function createMeasure(node) {
@@ -393,9 +347,7 @@ function createMeasure(node) {
393
347
  }
394
348
  const measureInWindow = async (node, callback) => {
395
349
  const out = await measureNode(node, null);
396
- if (out) {
397
- callback?.(out.pageX, out.pageY, out.width, out.height);
398
- }
350
+ if (out) callback?.(out.pageX, out.pageY, out.width, out.height);
399
351
  return out;
400
352
  };
401
353
  const createMeasureInWindow = node => {
@@ -403,9 +355,7 @@ const createMeasureInWindow = node => {
403
355
  };
404
356
  const measureLayout = async (node, relativeNode, callback) => {
405
357
  const out = await measureNode(node, relativeNode);
406
- if (out) {
407
- callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
408
- }
358
+ if (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
409
359
  return out;
410
360
  };
411
361
  function createMeasureLayout(node) {
@@ -44,24 +44,18 @@ var import_jsx_runtime = require("react/jsx-runtime");
44
44
  var import_constants = require("@hanzogui/constants");
45
45
  var import_react = require("react");
46
46
  function _instanceof(left, right) {
47
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
48
- return !!right[Symbol.hasInstance](left);
49
- } else {
50
- return left instanceof right;
51
- }
47
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);else return left instanceof right;
52
48
  }
53
49
  var LayoutHandlers = /* @__PURE__ */new WeakMap();
54
50
  var LayoutDisableKey = /* @__PURE__ */new WeakMap();
55
51
  var Nodes = /* @__PURE__ */new Set();
56
52
  var IntersectionState = /* @__PURE__ */new WeakMap();
57
53
  var usePretransformDimensions = function () {
58
- return globalThis.__GUI_ONLAYOUT_PRETRANSFORM === true || process.env.GUI_ONLAYOUT_PRETRANSFORM === "1";
54
+ return globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
59
55
  };
60
56
  var _debugLayout;
61
57
  function isDebugLayout() {
62
- if (_debugLayout === void 0) {
63
- _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
64
- }
58
+ if (_debugLayout === void 0) _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
65
59
  return _debugLayout;
66
60
  }
67
61
  var DisableLayoutContextValues = {};
@@ -106,9 +100,7 @@ function startGlobalObservers() {
106
100
  for (var i = 0; i < entries.length; i++) {
107
101
  var entry = entries[i];
108
102
  var node = entry.target;
109
- if (IntersectionState.get(node) !== entry.isIntersecting) {
110
- IntersectionState.set(node, entry.isIntersecting);
111
- }
103
+ if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
112
104
  }
113
105
  }, {
114
106
  threshold: 0
@@ -122,12 +114,8 @@ if (ENABLE) {
122
114
  if (rectFetchObserver) return rectFetchObserver;
123
115
  rectFetchObserver = new IntersectionObserver(function (entries) {
124
116
  lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);
125
- for (var i = 0; i < entries.length; i++) {
126
- BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
127
- }
128
- if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) {
129
- console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
130
- }
117
+ for (var i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
118
+ if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
131
119
  if (rectFetchResolve) {
132
120
  rectFetchResolve(true);
133
121
  rectFetchResolve = null;
@@ -137,7 +125,6 @@ if (ENABLE) {
137
125
  });
138
126
  return rectFetchObserver;
139
127
  };
140
- var ensureRectFetchObserver2 = ensureRectFetchObserver;
141
128
  var BoundingRects = /* @__PURE__ */new WeakMap();
142
129
  var rectFetchObserver = null;
143
130
  var rectFetchResolve = null;
@@ -153,9 +140,7 @@ if (ENABLE) {
153
140
  if (strategy === "async") {
154
141
  nodeRect = BoundingRects.get(node);
155
142
  parentRect = BoundingRects.get(parentNode);
156
- if (!nodeRect || !parentRect) {
157
- return;
158
- }
143
+ if (!nodeRect || !parentRect) return;
159
144
  } else {
160
145
  nodeRect = node.getBoundingClientRect();
161
146
  parentRect = parentNode.getBoundingClientRect();
@@ -168,26 +153,20 @@ if (ENABLE) {
168
153
  NodeRectCache.set(node, nodeRect);
169
154
  NodeRectCache.set(parentNode, parentRect);
170
155
  var event = getElementLayoutEvent(nodeRect, parentRect, node);
171
- if (process.env.NODE_ENV === "development" && isDebugLayout()) {
172
- console.log("[useElementLayout] change", {
173
- tag: node.tagName,
174
- id: node.id || void 0,
175
- className: (node.className || "").slice(0, 60) || void 0,
176
- layout: event.nativeEvent.layout,
177
- first: !cachedRect
178
- });
179
- }
180
- if (avoidUpdates) {
181
- queuedUpdates.set(node, function () {
182
- return onLayout(event);
183
- });
184
- } else {
185
- onLayout(event);
186
- }
156
+ if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] change", {
157
+ tag: node.tagName,
158
+ id: node.id || void 0,
159
+ className: (node.className || "").slice(0, 60) || void 0,
160
+ layout: event.nativeEvent.layout,
161
+ first: !cachedRect
162
+ });
163
+ if (avoidUpdates) queuedUpdates.set(node, function () {
164
+ return onLayout(event);
165
+ });else onLayout(event);
187
166
  }
188
167
  }
189
168
  var rAF = typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : void 0;
190
- var userSkipVal = process.env.GUI_LAYOUT_FRAME_SKIP;
169
+ var userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
191
170
  var BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
192
171
  var MAX_SKIP_FRAMES = 20;
193
172
  var skipFrames = BASE_SKIP_FRAMES;
@@ -197,9 +176,7 @@ if (ENABLE) {
197
176
  rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
198
177
  return;
199
178
  }
200
- if (frameCount >= Number.MAX_SAFE_INTEGER) {
201
- frameCount = 0;
202
- }
179
+ if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
203
180
  if (strategy !== "off") {
204
181
  var visibleNodes = [];
205
182
  var parentsToObserve = /* @__PURE__ */new Set();
@@ -225,21 +202,15 @@ if (ENABLE) {
225
202
  _iteratorError = err;
226
203
  } finally {
227
204
  try {
228
- if (!_iteratorNormalCompletion && _iterator.return != null) {
229
- _iterator.return();
230
- }
205
+ if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
231
206
  } finally {
232
- if (_didIteratorError) {
233
- throw _iteratorError;
234
- }
207
+ if (_didIteratorError) throw _iteratorError;
235
208
  }
236
209
  }
237
210
  if (visibleNodes.length > 0) {
238
211
  var io = ensureRectFetchObserver();
239
212
  rectFetchStartTime = performance.now();
240
- for (var i = 0; i < visibleNodes.length; i++) {
241
- io.observe(visibleNodes[i]);
242
- }
213
+ for (var i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);
243
214
  var _iteratorNormalCompletion1 = true,
244
215
  _didIteratorError1 = false,
245
216
  _iteratorError1 = void 0;
@@ -253,21 +224,15 @@ if (ENABLE) {
253
224
  _iteratorError1 = err;
254
225
  } finally {
255
226
  try {
256
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
257
- _iterator1.return();
258
- }
227
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();
259
228
  } finally {
260
- if (_didIteratorError1) {
261
- throw _iteratorError1;
262
- }
229
+ if (_didIteratorError1) throw _iteratorError1;
263
230
  }
264
231
  }
265
232
  await new Promise(function (res) {
266
233
  rectFetchResolve = res;
267
234
  });
268
- for (var i1 = 0; i1 < visibleNodes.length; i1++) {
269
- io.unobserve(visibleNodes[i1]);
270
- }
235
+ for (var i1 = 0; i1 < visibleNodes.length; i1++) io.unobserve(visibleNodes[i1]);
271
236
  var _iteratorNormalCompletion2 = true,
272
237
  _didIteratorError2 = false,
273
238
  _iteratorError2 = void 0;
@@ -281,23 +246,13 @@ if (ENABLE) {
281
246
  _iteratorError2 = err;
282
247
  } finally {
283
248
  try {
284
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
285
- _iterator2.return();
286
- }
249
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();
287
250
  } finally {
288
- if (_didIteratorError2) {
289
- throw _iteratorError2;
290
- }
251
+ if (_didIteratorError2) throw _iteratorError2;
291
252
  }
292
253
  }
293
- if (lastCallbackDelay > 50) {
294
- skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);
295
- } else if (lastCallbackDelay < 20) {
296
- skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
297
- }
298
- for (var i2 = 0; i2 < visibleNodes.length; i2++) {
299
- updateLayoutIfChanged(visibleNodes[i2]);
300
- }
254
+ if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
255
+ for (var i2 = 0; i2 < visibleNodes.length; i2++) updateLayoutIfChanged(visibleNodes[i2]);
301
256
  }
302
257
  }
303
258
  rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
@@ -361,9 +316,7 @@ function cleanupNode(node) {
361
316
  LayoutDisableKey.delete(node);
362
317
  NodeRectCache.delete(node);
363
318
  IntersectionState.delete(node);
364
- if (globalIntersectionObserver) {
365
- globalIntersectionObserver.unobserve(node);
366
- }
319
+ if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
367
320
  }
368
321
  var PrevHostNode = /* @__PURE__ */new WeakMap();
369
322
  function useElementLayout(ref, onLayout) {
@@ -410,32 +363,24 @@ function useElementLayout(ref, onLayout) {
410
363
  globalIntersectionObserver.observe(node2);
411
364
  IntersectionState.set(node2, true);
412
365
  }
413
- if (process.env.NODE_ENV === "development" && isDebugLayout()) {
414
- console.log("[useElementLayout] register", {
415
- tag: node2.tagName,
416
- id: node2.id || void 0,
417
- className: (node2.className || "").slice(0, 60) || void 0,
418
- totalNodes: Nodes.size
419
- });
420
- }
366
+ if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] register", {
367
+ tag: node2.tagName,
368
+ id: node2.id || void 0,
369
+ className: (node2.className || "").slice(0, 60) || void 0,
370
+ totalNodes: Nodes.size
371
+ });
421
372
  var parentNode = node2.parentNode;
422
- if (parentNode) {
423
- onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
424
- }
373
+ if (parentNode) onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
425
374
  return function () {
426
375
  cleanupNode(node2);
427
376
  var swappedNode = PrevHostNode.get(ref);
428
- if (swappedNode && swappedNode !== node2) {
429
- cleanupNode(swappedNode);
430
- }
377
+ if (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);
431
378
  PrevHostNode.delete(ref);
432
379
  };
433
380
  }, [ref, !!onLayout]);
434
381
  }
435
382
  function ensureWebElement(x) {
436
- if (typeof HTMLElement === "undefined") {
437
- return void 0;
438
- }
383
+ if (typeof HTMLElement === "undefined") return;
439
384
  return _instanceof(x, HTMLElement) ? x : void 0;
440
385
  }
441
386
  var getBoundingClientRectAsync = function (node) {
@@ -454,17 +399,13 @@ var measureNode = async function (node, relativeTo) {
454
399
  var relativeNode = relativeTo || (node === null || node === void 0 ? void 0 : node.parentElement);
455
400
  if (_instanceof(relativeNode, HTMLElement)) {
456
401
  var [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
457
- if (relativeNodeDim && nodeDim) {
458
- return getRelativeDimensions(nodeDim, relativeNodeDim, node);
459
- }
402
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);
460
403
  }
461
404
  return null;
462
405
  };
463
406
  var measure = async function (node, callback) {
464
407
  var out = await measureNode(node, _instanceof(node.parentNode, HTMLElement) ? node.parentNode : null);
465
- if (out) {
466
- callback === null || callback === void 0 ? void 0 : callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
467
- }
408
+ if (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
468
409
  return out;
469
410
  };
470
411
  function createMeasure(node) {
@@ -474,9 +415,7 @@ function createMeasure(node) {
474
415
  }
475
416
  var measureInWindow = async function (node, callback) {
476
417
  var out = await measureNode(node, null);
477
- if (out) {
478
- callback === null || callback === void 0 ? void 0 : callback(out.pageX, out.pageY, out.width, out.height);
479
- }
418
+ if (out) callback === null || callback === void 0 || callback(out.pageX, out.pageY, out.width, out.height);
480
419
  return out;
481
420
  };
482
421
  var createMeasureInWindow = function (node) {
@@ -486,9 +425,7 @@ var createMeasureInWindow = function (node) {
486
425
  };
487
426
  var measureLayout = async function (node, relativeNode, callback) {
488
427
  var out = await measureNode(node, relativeNode);
489
- if (out) {
490
- callback === null || callback === void 0 ? void 0 : callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
491
- }
428
+ if (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
492
429
  return out;
493
430
  };
494
431
  function createMeasureLayout(node) {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","registerLayoutNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__GUI_ONLAYOUT_PRETRANSFORM","process","env","GUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","ensureRectFetchObserver2","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","layout","nativeEvent","first","rAF","requestAnimationFrame","userSkipVal","GUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","setTimeout","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","HTMLElement","cleanupNode","disableKey","push","add","err","return","io","observe","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","parent","Promise","res","i1","unobserve","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","parent1","min","max","i2","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onChange","delete","PrevHostNode","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","index_exports","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","registerLayoutNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","i","length","entry","node","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","layout","nativeEvent","first","rAF","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","setTimeout","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","HTMLElement","cleanupNode","disableKey","push","add","err","return","io","observe","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","parent","Promise","res","i1","unobserve","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","parent1","min","max","i2","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onChange","delete","PrevHostNode","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode","nodeType","disconnect","relativeTo","relativeNode","nodeDim","relativeNodeDim","callback","out"],"sources":["index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\n__export(index_exports, {\n\tLayoutMeasurementController: () => LayoutMeasurementController,\n\tcreateMeasure: () => createMeasure,\n\tcreateMeasureInWindow: () => createMeasureInWindow,\n\tcreateMeasureLayout: () => createMeasureLayout,\n\tenable: () => enable,\n\tgetBoundingClientRectAsync: () => getBoundingClientRectAsync,\n\tgetElementLayoutEvent: () => getElementLayoutEvent,\n\tmeasure: () => measure,\n\tmeasureInWindow: () => measureInWindow,\n\tmeasureLayout: () => measureLayout,\n\tmeasureNode: () => measureNode,\n\tregisterLayoutNode: () => registerLayoutNode,\n\tsetOnLayoutStrategy: () => setOnLayoutStrategy,\n\tuseElementLayout: () => useElementLayout\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_constants = require(\"@hanzogui/constants\");\nvar import_react = require(\"react\");\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__ */ (0, import_react.createContext)(\"\");\nvar ENABLE = false;\nvar LayoutMeasurementController = function(param) {\n\tvar { disable, children } = param;\n\tvar id = (0, import_react.useId)();\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tDisableLayoutContextValues[id] = disable;\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nvar globalIntersectionObserver = null;\nvar strategy = \"async\";\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\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 ensureRectFetchObserver = 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};\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\tvar onLayout = LayoutHandlers.get(node);\n\t\tif (typeof onLayout !== \"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\tvar cachedRect = NodeRectCache.get(node);\n\t\tvar cachedParentRect = NodeRectCache.get(parentNode);\n\t\tvar nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\t\tvar parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\t\tif (nodeChanged || parentChanged) {\n\t\t\tNodeRectCache.set(node, nodeRect);\n\t\t\tNodeRectCache.set(parentNode, parentRect);\n\t\t\tvar event = getElementLayoutEvent(nodeRect, parentRect, node);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\t\t\ttag: node.tagName,\n\t\t\t\tid: node.id || void 0,\n\t\t\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\t\t\tlayout: event.nativeEvent.layout,\n\t\t\t\tfirst: !cachedRect\n\t\t\t});\n\t\t\tif (avoidUpdates) queuedUpdates.set(node, function() {\n\t\t\t\treturn onLayout(event);\n\t\t\t});\n\t\t\telse onLayout(event);\n\t\t}\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\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\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 = ensureRectFetchObserver();\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\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t}\n\tlayoutOnAnimationFrame();\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 registerLayoutNode(node, onChange, disableKey) {\n\tNodes.add(node);\n\tLayoutHandlers.set(node, onChange);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\tstartGlobalObservers();\n\tif (globalIntersectionObserver) {\n\t\tglobalIntersectionObserver.observe(node);\n\t\tIntersectionState.set(node, true);\n\t}\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 useElementLayout(ref, onLayout) {\n\tvar _ref_current;\n\tvar disableKey = (0, import_react.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\t(0, import_constants.useIsomorphicLayoutEffect)(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\tNodes.add(nextNode);\n\t\tstartGlobalObservers();\n\t\tif (globalIntersectionObserver) {\n\t\t\tglobalIntersectionObserver.observe(nextNode);\n\t\t\tIntersectionState.set(nextNode, true);\n\t\t}\n\t\tvar handler = LayoutHandlers.get(nextNode);\n\t\tif (typeof handler !== \"function\") return;\n\t\tvar parentNode = nextNode.parentElement;\n\t\tif (!parentNode) return;\n\t\tvar nodeRect = nextNode.getBoundingClientRect();\n\t\tvar parentRect = parentNode.getBoundingClientRect();\n\t\tNodeRectCache.set(nextNode, nodeRect);\n\t\tNodeRectCache.set(parentNode, parentRect);\n\t\thandler(getElementLayoutEvent(nodeRect, parentRect, nextNode));\n\t});\n\t(0, import_constants.useIsomorphicLayoutEffect)(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\tNodes.add(node2);\n\t\tstartGlobalObservers();\n\t\tif (globalIntersectionObserver) {\n\t\t\tglobalIntersectionObserver.observe(node2);\n\t\t\tIntersectionState.set(node2, true);\n\t\t}\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\tvar parentNode = node2.parentNode;\n\t\tif (parentNode) onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));\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//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}