@tamagui/use-element-layout 2.7.3 → 2.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +13 -28
- package/dist/cjs/index.native.js +13 -28
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/index.js +13 -28
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +13 -28
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +13 -28
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +4 -4
- package/src/index.tsx +29 -44
- package/types/index.d.ts.map +2 -2
package/dist/cjs/index.cjs
CHANGED
|
@@ -44,7 +44,6 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
44
44
|
const LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
45
45
|
const LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
46
46
|
const Nodes = /* @__PURE__ */new Set();
|
|
47
|
-
const IntersectionState = /* @__PURE__ */new WeakMap();
|
|
48
47
|
const usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
49
48
|
let _debugLayout;
|
|
50
49
|
function isDebugLayout() {
|
|
@@ -60,16 +59,18 @@ const LayoutMeasurementController = ({
|
|
|
60
59
|
}) => {
|
|
61
60
|
const id = (0, import_react.useId)();
|
|
62
61
|
(0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
62
|
+
const wasDisabled = DisableLayoutContextValues[id] === true;
|
|
63
63
|
DisableLayoutContextValues[id] = disable;
|
|
64
|
+
if (wasDisabled && !disable) measureOnNextFrame?.();
|
|
64
65
|
}, [disable, id]);
|
|
65
66
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisableLayoutContextKey.Provider, {
|
|
66
67
|
value: id,
|
|
67
68
|
children
|
|
68
69
|
});
|
|
69
70
|
};
|
|
70
|
-
let globalIntersectionObserver = null;
|
|
71
71
|
let strategy = "async";
|
|
72
72
|
let resumeLayoutLoop;
|
|
73
|
+
let measureOnNextFrame;
|
|
73
74
|
function setOnLayoutStrategy(state) {
|
|
74
75
|
strategy = state;
|
|
75
76
|
resumeLayoutLoop?.();
|
|
@@ -86,18 +87,6 @@ function enable() {
|
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
function startGlobalObservers() {
|
|
90
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
91
|
-
globalIntersectionObserver = new IntersectionObserver(entries => {
|
|
92
|
-
for (let i = 0; i < entries.length; i++) {
|
|
93
|
-
const entry = entries[i];
|
|
94
|
-
const node = entry.target;
|
|
95
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
96
|
-
}
|
|
97
|
-
}, {
|
|
98
|
-
threshold: 0
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
90
|
function rectsEqual(a, b) {
|
|
102
91
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
103
92
|
}
|
|
@@ -158,7 +147,7 @@ if (ENABLE) {
|
|
|
158
147
|
}
|
|
159
148
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
160
149
|
if (strategy !== "off") {
|
|
161
|
-
const
|
|
150
|
+
const activeNodes = [];
|
|
162
151
|
const parentsToObserve = /* @__PURE__ */new Set();
|
|
163
152
|
for (const node of Nodes) {
|
|
164
153
|
const parentElement = node.parentElement;
|
|
@@ -168,28 +157,31 @@ if (ENABLE) {
|
|
|
168
157
|
}
|
|
169
158
|
const disableKey = LayoutDisableKey.get(node);
|
|
170
159
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
171
|
-
|
|
172
|
-
visibleNodes.push(node);
|
|
160
|
+
activeNodes.push(node);
|
|
173
161
|
parentsToObserve.add(parentElement);
|
|
174
162
|
}
|
|
175
|
-
if (
|
|
163
|
+
if (activeNodes.length > 0) {
|
|
176
164
|
const io = ensureRectFetchObserver();
|
|
177
165
|
rectFetchStartTime = performance.now();
|
|
178
|
-
for (let i = 0; i <
|
|
166
|
+
for (let i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
179
167
|
for (const parent of parentsToObserve) io.observe(parent);
|
|
180
168
|
await new Promise(res => {
|
|
181
169
|
rectFetchResolve = res;
|
|
182
170
|
});
|
|
183
|
-
for (let i = 0; i <
|
|
171
|
+
for (let i = 0; i < activeNodes.length; i++) io.unobserve(activeNodes[i]);
|
|
184
172
|
for (const parent of parentsToObserve) io.unobserve(parent);
|
|
185
173
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
186
|
-
for (let i = 0; i <
|
|
174
|
+
for (let i = 0; i < activeNodes.length; i++) updateLayoutIfChanged(activeNodes[i]);
|
|
187
175
|
}
|
|
188
176
|
}
|
|
189
177
|
frameScheduled = false;
|
|
190
178
|
scheduleLayoutFrame();
|
|
191
179
|
}
|
|
192
180
|
resumeLayoutLoop = scheduleLayoutFrame;
|
|
181
|
+
measureOnNextFrame = () => {
|
|
182
|
+
frameCount = 0;
|
|
183
|
+
scheduleLayoutFrame();
|
|
184
|
+
};
|
|
193
185
|
document.addEventListener("visibilitychange", scheduleLayoutFrame);
|
|
194
186
|
scheduleLayoutFrame();
|
|
195
187
|
}
|
|
@@ -254,11 +246,6 @@ function emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {
|
|
|
254
246
|
function observeLayoutNode(node, disableKey) {
|
|
255
247
|
Nodes.add(node);
|
|
256
248
|
if (disableKey) LayoutDisableKey.set(node, disableKey);else LayoutDisableKey.delete(node);
|
|
257
|
-
startGlobalObservers();
|
|
258
|
-
if (globalIntersectionObserver) {
|
|
259
|
-
globalIntersectionObserver.observe(node);
|
|
260
|
-
IntersectionState.set(node, true);
|
|
261
|
-
}
|
|
262
249
|
resumeLayoutLoop?.();
|
|
263
250
|
}
|
|
264
251
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -271,8 +258,6 @@ function cleanupNode(node) {
|
|
|
271
258
|
LayoutHandlers.delete(node);
|
|
272
259
|
LayoutDisableKey.delete(node);
|
|
273
260
|
NodeRectCache.delete(node);
|
|
274
|
-
IntersectionState.delete(node);
|
|
275
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
276
261
|
}
|
|
277
262
|
const PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
278
263
|
function emitLayoutSync(node) {
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -49,7 +49,6 @@ function _instanceof(left, right) {
|
|
|
49
49
|
var LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
50
50
|
var LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
51
51
|
var Nodes = /* @__PURE__ */new Set();
|
|
52
|
-
var IntersectionState = /* @__PURE__ */new WeakMap();
|
|
53
52
|
var usePretransformDimensions = function () {
|
|
54
53
|
return globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
55
54
|
};
|
|
@@ -68,16 +67,18 @@ var LayoutMeasurementController = function (param) {
|
|
|
68
67
|
} = param;
|
|
69
68
|
var id = (0, import_react.useId)();
|
|
70
69
|
(0, import_constants.useIsomorphicLayoutEffect)(function () {
|
|
70
|
+
var wasDisabled = DisableLayoutContextValues[id] === true;
|
|
71
71
|
DisableLayoutContextValues[id] = disable;
|
|
72
|
+
if (wasDisabled && !disable) measureOnNextFrame === null || measureOnNextFrame === void 0 || measureOnNextFrame();
|
|
72
73
|
}, [disable, id]);
|
|
73
74
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisableLayoutContextKey.Provider, {
|
|
74
75
|
value: id,
|
|
75
76
|
children
|
|
76
77
|
});
|
|
77
78
|
};
|
|
78
|
-
var globalIntersectionObserver = null;
|
|
79
79
|
var strategy = "async";
|
|
80
80
|
var resumeLayoutLoop;
|
|
81
|
+
var measureOnNextFrame;
|
|
81
82
|
function setOnLayoutStrategy(state) {
|
|
82
83
|
strategy = state;
|
|
83
84
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
@@ -96,18 +97,6 @@ function enable() {
|
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
|
-
function startGlobalObservers() {
|
|
100
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
101
|
-
globalIntersectionObserver = new IntersectionObserver(function (entries) {
|
|
102
|
-
for (var i = 0; i < entries.length; i++) {
|
|
103
|
-
var entry = entries[i];
|
|
104
|
-
var node = entry.target;
|
|
105
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
106
|
-
}
|
|
107
|
-
}, {
|
|
108
|
-
threshold: 0
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
100
|
function rectsEqual(a, b) {
|
|
112
101
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
113
102
|
}
|
|
@@ -168,7 +157,7 @@ if (ENABLE) {
|
|
|
168
157
|
}
|
|
169
158
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
170
159
|
if (strategy !== "off") {
|
|
171
|
-
var
|
|
160
|
+
var activeNodes = [];
|
|
172
161
|
var parentsToObserve = /* @__PURE__ */new Set();
|
|
173
162
|
var _iteratorNormalCompletion = true,
|
|
174
163
|
_didIteratorError = false,
|
|
@@ -183,8 +172,7 @@ if (ENABLE) {
|
|
|
183
172
|
}
|
|
184
173
|
var disableKey = LayoutDisableKey.get(node);
|
|
185
174
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
186
|
-
|
|
187
|
-
visibleNodes.push(node);
|
|
175
|
+
activeNodes.push(node);
|
|
188
176
|
parentsToObserve.add(parentElement);
|
|
189
177
|
}
|
|
190
178
|
} catch (err) {
|
|
@@ -197,10 +185,10 @@ if (ENABLE) {
|
|
|
197
185
|
if (_didIteratorError) throw _iteratorError;
|
|
198
186
|
}
|
|
199
187
|
}
|
|
200
|
-
if (
|
|
188
|
+
if (activeNodes.length > 0) {
|
|
201
189
|
var io = ensureRectFetchObserver2();
|
|
202
190
|
rectFetchStartTime = performance.now();
|
|
203
|
-
for (var i = 0; i <
|
|
191
|
+
for (var i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
204
192
|
var _iteratorNormalCompletion1 = true,
|
|
205
193
|
_didIteratorError1 = false,
|
|
206
194
|
_iteratorError1 = void 0;
|
|
@@ -222,7 +210,7 @@ if (ENABLE) {
|
|
|
222
210
|
await new Promise(function (res) {
|
|
223
211
|
rectFetchResolve = res;
|
|
224
212
|
});
|
|
225
|
-
for (var i1 = 0; i1 <
|
|
213
|
+
for (var i1 = 0; i1 < activeNodes.length; i1++) io.unobserve(activeNodes[i1]);
|
|
226
214
|
var _iteratorNormalCompletion2 = true,
|
|
227
215
|
_didIteratorError2 = false,
|
|
228
216
|
_iteratorError2 = void 0;
|
|
@@ -242,13 +230,17 @@ if (ENABLE) {
|
|
|
242
230
|
}
|
|
243
231
|
}
|
|
244
232
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
245
|
-
for (var i2 = 0; i2 <
|
|
233
|
+
for (var i2 = 0; i2 < activeNodes.length; i2++) updateLayoutIfChanged(activeNodes[i2]);
|
|
246
234
|
}
|
|
247
235
|
}
|
|
248
236
|
frameScheduled = false;
|
|
249
237
|
scheduleLayoutFrame2();
|
|
250
238
|
}
|
|
251
239
|
resumeLayoutLoop = scheduleLayoutFrame2;
|
|
240
|
+
measureOnNextFrame = function () {
|
|
241
|
+
frameCount = 0;
|
|
242
|
+
scheduleLayoutFrame2();
|
|
243
|
+
};
|
|
252
244
|
document.addEventListener("visibilitychange", scheduleLayoutFrame2);
|
|
253
245
|
scheduleLayoutFrame2();
|
|
254
246
|
}
|
|
@@ -315,11 +307,6 @@ function emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {
|
|
|
315
307
|
function observeLayoutNode(node, disableKey) {
|
|
316
308
|
Nodes.add(node);
|
|
317
309
|
if (disableKey) LayoutDisableKey.set(node, disableKey);else LayoutDisableKey.delete(node);
|
|
318
|
-
startGlobalObservers();
|
|
319
|
-
if (globalIntersectionObserver) {
|
|
320
|
-
globalIntersectionObserver.observe(node);
|
|
321
|
-
IntersectionState.set(node, true);
|
|
322
|
-
}
|
|
323
310
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
324
311
|
}
|
|
325
312
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -334,8 +321,6 @@ function cleanupNode(node) {
|
|
|
334
321
|
LayoutHandlers.delete(node);
|
|
335
322
|
LayoutDisableKey.delete(node);
|
|
336
323
|
NodeRectCache.delete(node);
|
|
337
|
-
IntersectionState.delete(node);
|
|
338
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
339
324
|
}
|
|
340
325
|
var PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
341
326
|
function emitLayoutSync(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","registerLayoutNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","resumeLayoutLoop","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","ensureRectFetchObserver2","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","scheduleLayoutFrame2","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","HTMLElement","cleanupNode","disableKey","push","add","err","return","io","observe","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","parent","Promise","res","i1","unobserve","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","parent1","min","max","i2","addEventListener","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","onChange","PrevHostNode","emitLayoutSync","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","node2","totalNodes","swappedNode","nodeType","disconnect","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","callback","out"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;EAAA;EAAA,OAAAA,EAAA;AAAA;AAAA,IAAAC,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,2BAAA,EAAAA,CAAA,KAAAA,2BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAA,MAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAA,0BAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA,OAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAA0CA,mBAAA;EAC1CC,gBAAA,EAAiFA,CAAA,KAAAA;AAiD7E;AA/CJC,MAAM,CAAAC,OAAA,GAAAtB,YAAiB,CAAAK,aAAI;AAC3B,IAAAkB,kBAAM,GAAmBC,OAAA,oBAAI,CAA6B;AAC1D,IAAAC,gBAAc,GAAAD,OAAA,qBAAqB;AACnC,IAAAE,YAAM,GAAAF,OAAoB;AAK1B,SAAMG,YAAAC,IAAA,EAAAC,KAAA,EAA4B;EAIlC,IAAIA,KAAA,mBAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,YAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,OAEJ,OAASA,IAAA,YAAgBC,KAAA;AACvB;AACE,IAAAG,cAAA,GACE,eAAkB,IAAAC,OAAA;AACiD,IACvEC,gBAAA,sBAAAD,OAAA;AACA,IAAAE,KAAO,sBAAAC,GAAA;AACT,IAAAC,iBAAA,sBAAAJ,OAAA;AAGA,IAAAK,yBAAM,YAAAA,CAAA,EAAuD;EAC7D,OAAMC,UAAA,CAAAC,+BAA0B,aAAAC,OAAwB,CAAAC,GAAA,CAAAC,6BAAA;AAExD;AAMO,IAAAC,YAAM;AAA+B,SAC1CC,cAAA;EAAA,IACAD,YAAA,aAAAA,YAAA,UAAAE,MAAA,wBAAAC,eAAA,CAAAD,MAAA,CAAAE,QAAA,CAAAC,MAAA,EAAAC,GAAA;EACF,OAGiBN,YAAA;AACf;AAEA,IAAAO,0BAAA;AACE,IAAAC,uBAAA,kBAAiC,IAAA1B,YAAA,CAAA2B,aAAA;AAAA,IACnCC,MAAI,QAAY;AAEhB,IAAA/C,2BACE,YAAAA,CAAAgD,KAAA;EAIJ;IAAAC,OAAA;IAAAC;EAAA,IAAAF,KAAA;EAGA,IAAIG,EAAA,OAAAhC,YAAA,CAAAiC,KAAA,EAA0D;EAQ9D,IAAIlC,gBAAsC,CAAAmC,yBAAA;IAK1CT,0BAAI,CAAAO,EAAA,IAAAF,OAAA;EAEG,IAAAA,OAAS,EAAAE,EAAA;EACd,sBAAW,IAAAnC,kBAAA,CAAAsC,GAAA,EAAAT,uBAAA,CAAAU,QAAA;IACX1D,KAAA,EAAAsD,EAAA;IACFD;EAmBA;AAGA;AACA,IAAAM,0BAAsB;AAEf,IAAAC,QAAS,UAAe;AAC7B,IAAAC,gBAAkB;AAChB,SAAA9C,mBAAeA,CAAA+C,KAAA;EACfF,QAAI,GAAAE,KAAA;EACFD,gBAAA,KAAc,QAASA,gBAAW,eAAAA,gBAAA;AAClC;AAAoB,IACtBE,aAAA,sBAAAlC,OAAA;AAAA,IACFmC,YAAA;AACF,IAAAC,aAAA,sBAAAC,GAAA;AAEA,SAAS3D,OAAA;EACP,IAAAyD,YAAe;IAEfA,YAAA;IAAiC,IAC9BC,aAAY;MACXA,aAAS,CAAAE,OAAO,WAAYC,EAAA;QAC1B,OAAAA,EAAA,CAAM;MACN;MACAH,aAAI,CAAAI,KAAA;IACF;EAAgD;AAClD;AACF,SACFC,qBAAA;EAAA,IACA,CAAApB,MAAA,IAAAS,0BAAA;EAAAA,0BACa,OAAAY,oBAAA,WAAAC,OAAA;IAAA,KACb,IAAAC,CAAA,MAAAA,CAAA,GAAAD,OAAA,CAAAE,MAAA,EAAAD,CAAA;MACF,IAAAE,KAAA,GAAAH,OAAA,CAAAC,CAAA;MACF,IAAAG,IAAA,GAAAD,KAAA,CAAAE,MAAA;MAGA,IAAA5C,iBAAwC,CAAA6C,GAA6B,CAAAF,IAAA,MAAAD,KAAA,CAAAI,cAAA,EAAA9C,iBAAA,CAAA+C,GAAA,CAAAJ,IAAA,EAAAD,KAAA,CAAAI,cAAA;IACnE;EACF;IAAAE,SAAA;EAAA;AAEA;AASE,SAASC,WAAAC,CAAA,EAAAC,CAAA;EACP,OAAID,CAAA,CAAAE,CAAA,KAAAD,CAAA,CAAAC,CAAA,IAAAF,CAAA,CAAAG,CAAmB,KAAAF,CAAA,CAAAE,CAAO,IAAAH,CAAA,CAAAI,KAAA,KAAAH,CAAA,CAAAG,KAAA,IAAAJ,CAAA,CAAAK,MAAA,KAAAJ,CAAA,CAAAI,MAAA;AAE9B;AAAwB,IAAAtC,MACrB;EACC,IAAAuC,wBAAoB,YAAAA,CAAA,EAAW;MAG/B,IAAAC,iBAAa,EAAG,OAAIA,iBAAqB;MACvCA,iBAAA,OAAcnB,oBAAe,CAAQ,UAASC,OAAE;QAAkBmB,iBACpE,GAAAC,IAAA,CAAAC,KAAA,CAAAC,WAAA,CAAAC,GAAA,KAAAC,kBAAA;QAEA,SACEvB,CAAA,MAAAA,CAAQ,GAAAD,OAAI,CAAAE,MAAa,EAAAD,CAAA,IAAAwB,aACzB,CAAAjB,GAAA,CAAAR,OAAc,CAAAC,CAAA,EACdI,MAAA,EAAAL,OAAA,CAAAC,CAAA,EAAAyB,kBACA;QACA,IAAA7D,OAAA,CAAAC,GAAQ,CAAA6D,QAAA,sBAAA1D,aAAA,MAAAkD,iBAAA,OAAAS,OAAA,CAAAC,IAAA,wBAAAV,iBAAA,SAAAnB,OAAA,CAAAE,MAAA;QAAA,IAAA4B,gBACN;UAAAA,gBACA;UAAoBA,gBACZ;QAAA;MACR;QAAArB,SACF;MAAA;MAAA,OACFS,iBAAA;IAEA;IAAAa,oBAAI,YAAAA,CAAA,EAAkB;MACpB,IAAAC,cAAA,IAAA5C,QAAqB,cAAA7B,KAAA,CAAA0E,IAAA,UAAAC,QAAA,CAAAC,MAAA;MACrBH,cAAA;MAAmBI,GAAA,GACrBA,GAAA,CAAAC,sBAAA,IAAAC,UAAA,CAAAD,sBAAA;IAAA;EACF,IAAAZ,aACA,sBAAApE,OAAA;EAAA,IAAA6D,iBACa;EAAA,IAAAY,gBACb;EAAA,IACFN,kBAAA;EAEA,IAAAL,iBAAO;EAAA,eA2CAoB,qBAATA,CAA+BnC,IAAA;IAC7B,WAAIhD,cAAkB,CAAAkD,GAAA,CAAAF,IAAA,MAAa,UAAS,EAAM;IAChD,IAAAoC,UAAA,GAAApC,IAAA,CAAAqC,aAAA;IAAA,IACF,CAAAD,UAAA;IACA,IAAAE,QAAA;IACA,IAAAC,UAAU;IACZ,IAAAvD,QAAA;MA5FAsD,QAAM,GAAAjB,aAAgB,CAAAnB,GAAA,CAAAF,IAAA;MAGtBuC,UAAI,GAAAlB,aAAiD,CAAAnB,GAAA,CAAAkC,UAAA;MACrD,IAAI,CAAAE,QAAA,KAAAC,UAAsD;IAC1D,OAAI;MACJD,QAAI,GAAAtC,IAAA,CAAAwC,qBAAoB;MAwCxBD,UAAA,GAAAH,UAAe,CAAAI,qBAAyC;IACtD;IACAC,mBAAW,CAAAzC,IAAA,EAAaoC,UAAA,EAAYE,QAAA,EAAAC,UAAA;EAEpC;EACA,IAAAP,GAAI,GAAC,OAAAU,qBAAY,mBAAAA,qBAAA;EAEjB,IAAAC,WAAI,GAAAlF,OAAA,CAAAC,GAAA,CAAAkF,yBAAA;EACJ,IAAAC,gBAAI,GAAAF,WAAA,IAAAA,WAAA;EAGJ,IAAAG,eAAI,GAAa;EACf,IAAAC,UAAA,GAAWF,gBAAc;EACzB,IAAAG,UAAA,IAAa;EAEb,IAAApB,cAAK,QAAa;EAChB,eAAAK,uBAAA;IAAA,IACFe,UAAA,KAAAD,UAAA;MAAAnB,cACK;MACLD,oBAAgB;MAChB;IAA8C;IAGhD,IAAAqB,UAAA,IAAAC,MAAoB,CAAAC,gBAAkB,EAAAF,UAAU;IAClD,IAAAhE,QAAA;MAEA,IAAAmE,YACE,GAAO;MAGT,IAAAC,gBAAoB,kBAAY,IAAAhG,GAAA;MAChC,IAAAiG,yBAAyB;QAAcC,iBAAe;QAAAC,cAAA;MACtD;QACA,KAAI,IAAAC,SAAa,GAAArG,KAAA,CAAAL,MAAA,CAAA2G,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;UACjB,IAAIrD,IAAA,GAAA0D,KAAa,CAAAtI,KAAA;UAIjB,IAAIiH,aAAA,GAAiBrC,IAAA,CAAAqC,aAAA;UAUrB,KAAA1F,WAAe,CAAA0F,aAAA,EAAAwB,WAAyB;YAEtCC,WAAI,CAAA9D,IAAA,CAAe;YACjB;UACA;UACA,IAAA+D,UAAA,GAAA7G,gBAAA,CAAAgD,GAAA,CAAAF,IAAA;UACF,IAAA+D,UAAA,IAAA5F,0BAAA,CAAA4F,UAAA;UAGA,IAAI1G,iBAAc,CAAA6C,GAAO,CAAAF,IAAA,aAAkB;UACzCmD,YAAA,CAAAa,IAAa,CAAAhE,IAAA;UACfoD,gBAAA,CAAAa,GAAA,CAAA5B,aAAA;QAEA;MACE,SAAM6B,GAAA;QAENZ,iBAAM;QAGNC,cAAW,GAAAW,GAAA;MACT;QACA;UACE,KAAAb,yBAAgB,IAAAG,SAAA,CAAAW,MAAA,UAAAX,SAAA,CAAAW,MAAA;QAChB;UAAA,IACFb,iBAAA,QAAAC,cAAA;QACA;MACA;MACA,IAAAJ,YAAI,CAAArD,MAAA,IAAkB;QAEtB,IAAAsE,EAAA,GAAAvD,wBAAsB;QACtBO,kBAAA,GAAiBF,WAAI,CAAAC,GAAA,EAAa;QAAA,KACpC,IAAAtB,CAAA,MAAAA,CAAA,GAAAsD,YAAA,CAAArD,MAAA,EAAAD,CAAA,IAAAuE,EAAA,CAAAC,OAAA,CAAAlB,YAAA,CAAAtD,CAAA;QAEA,IAAAyE,0BAA0B,GAAG;UAAAC,kBAAA;UAAAC,eAAA;QAC3B;UACA,SAAAC,UAAA,GAAArB,gBAAiC,CAAAtG,MAAI,CAAA2G,QAAA,KAAAiB,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAd,IAAA,IAAAC,IAAA,GAAAU,0BAAA;YAGrC,IAAAK,MAAA,GAASD,MAAO,CAAAtJ,KAAI;YAClBgJ,EAAA,CAAAC,OAAG,CAAAM,MAAQ;UAAe;QAG5B,SAAAT,GAAA;UACEK,kBAAW,OAAM;UAAAC,eACnB,GAAAN,GAAA;QAGA,UAAM;UACJ;YAAmB,IACpB,CAAAI,0BAAA,IAAAG,UAAA,CAAAN,MAAA,UAAAM,UAAA,CAAAN,MAAA;UAGD;YACE,IAAAI,kBAAa,QAAaC,eAAE;UAAA;QAE9B;QACE,UAAGI,OAAA,WAAgBC,GAAA;UAAAnD,gBACrB,GAAAmD,GAAA;QAGA;QACE,SAAAC,EAAA,MAAAA,EAAa,GAAA3B,YAAS,CAAArD,MAAa,EAAAgF,EAAG,IAAAV,EAAA,CAAAW,SAAe,CAAA5B,YAAA,CAAA2B,EAAA;QAAA,IACvDE,0BAAW,OAAoB;UAAIC,kBAAA;UAAAC,eAAA;QAEjC;UAAsD,KACxD,IAAAC,UAAA,GAAA/B,gBAAA,CAAAtG,MAAA,CAAA2G,QAAA,KAAA2B,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAxB,IAAA,IAAAC,IAAA,GAAAoB,0BAAA;YAGA,IAAAK,OAAS,GAAAD,MAAO,CAAAhK,KAAI;YAClBgJ,EAAA,CAAAW,SAAA,CAAAM,OAAA;UAAqC;QACvC,EACF,OAAAnB,GAAA;UACFe,kBAAA;UAGAC,eAAA,GAAiBhB,GAAA;QACjB;UACF;YAEA,KAAAc,0BAAmB,IAAAG,UAAA,CAAAhB,MAAA,UAAAgB,UAAA,CAAAhB,MAAA;UACnB,UAAS;YACT,IAAAc,kBAAoB,QAAAC,eAAA;UACtB;QAEO;QAKL,IAAAnE,iBAAO,OAAAgC,UAAA,GAAA/B,IAAA,CAAAsE,GAAA,CAAAvC,UAAA,MAAAD,eAAA,OACL,IAAA/B,iBAAa,OAAAgC,UAAA,GAAA/B,IAAA,CAAAuE,GAAA,CAAAxC,UAAA,MAAAF,gBAAA;QAAA,KACX,IAAA2C,EAAQ,MAAAA,EAAA,GAAArC,YAAsB,CAAArD,MAAA,EAAU0F,EAAA,IAAArD,qBAAgB,CAAAgB,YAAA,CAAAqC,EAAA;MAAA;IAChD;IACV5D,cACW,QAAS;IACtBD,oBAAA;EACF;EASA1C,gBAAM,GAAA0C,oBACJ;EAEAG,QAAO,CAAA2D,gBAAA,qBAAA9D,oBAAA;EAAAA,oBACO;AAAA;AACC,IACf9F,qBAAA,YAAAA,CAAAyG,QAAA,EAAAC,UAAA,EAAAvC,IAAA;EACF;IAEA0F,WAAM;MAKJC,MAAM,EAAEC,qBAAc,CAAAtD,QAAA,EAAAC,UAAA,EAAAvC,IAAA;MACtBC,MAAM,EAAAqC;IACN;IAGAuD,SAAQ,EAAAC,IAAO,CAAA3E,GAAA;EAKf;AACF;AAEA,IAAA4E,yBACE,YAAAA,CACA/F,IAAA,EACA;EAGA,OAAM;IACNW,KAAI,EAAAX,IAAO,CAAAgG,WAAA;IAEXpF,MAAM,EAAAZ,IAAA,CAAAiG;EACN;AAEA;AACA,IAAAL,qBAAuB,YAAAA,CAAArF,CAAA,EAAAC,CAAA,EAAA0F,KAAqB;EAE5C;IAAKtJ,IAAA;IAAAuJ;EAAA,IAAA5F,CAAe;EAEpB,IAAAE,CAAA,GAAA7D,IAAA,GAAc4D,CAAA,CAAA5D,IAAI;EAClB,IAAA8D,CAAA,GAAAyF,GAAA,GAAA3F,CAAc,CAAA2F,GAAI;EAElB;IAAAxF,KAAM;IAAAC;EAAQ,IAAAtD,yBAAgC,MAAA4I,KAAY,GAAIH,yBAAA,CAAAG,KAAA;IAE9DvF,KAAI,EAAAJ,CAAA,CAAAI,KAAQ;IACVC,MAAA,EAAAL,CAAA,CAAQK;EAAiC;EAC7B,OACV;IAAeH,CAAA;IACmCC,CAAA;IACxBC,KAC1B;IAAQC,MACT;IACHwF,KAAA,EAAA7F,CAAA,CAAA3D,IAAA;IAEAyJ,KAAI,EAAA9F,CAAA,CAAA4F;EACF;AAA6C;AAE7C,SAAA1D,mBAAcA,CAAAzC,IAAA,EAAAoC,UAAA,EAAAE,QAAA,EAAAC,UAAA;EAAA,IAChB+D,QAAA,GAAAtJ,cAAA,CAAAkD,GAAA,CAAAF,IAAA;EACF,WAAAsG,QAAA;EAEA,IAAAC,UAAS,GAAApH,aAAkB,CAAAe,GAAmB,CAAAF,IAAA;EAC5C,IAAAwG,gBAAc,GAAArH,aAAA,CAAAe,GAAA,CAAAkC,UAAA;EACd,IAAAqE,WAAI,GAAY,CAAAF,UAAA,KAAAjG,UAAA,CAAAiG,UAAA,EAAAjE,QAAA;EACd,IAAAoE,aAAA,GAAiB,CAAAF,gBAAU,IAAU,CAAAlG,UAAA,CAAAkG,gBAAA,EAAAjE,UAAA;EAAA,IACvC,CAAAkE,WAAO,KAAAC,aAAA;EACLvH,aAAA,CAAAiB,GAAA,CAAAJ,IAAiB,EAAAsC,QAAW;EAAAnD,aAC9B,CAAAiB,GAAA,CAAAgC,UAAA,EAAAG,UAAA;EACA,IAAAoE,KAAA,GAAA9K,qBAAqB,CAAAyG,QAAA,EAAAC,UAAA,EAAAvC,IAAA;EACrB,IAAAvC,OAAI,CAAAC,GAAA,CAAA6D,QAAA,kBAA4B,IAAA1D,aAAA,IAAA2D,OAAA,CAAAoF,GAAA;IAC9BC,GAAA,EAAA7G,IAAA,CAAA8G,OAAA;IACApI,EAAA,EAAAsB,IAAA,CAAAtB,EAAA,SAAkB;IACpBqI,SAAA,GAAA/G,IAAA,CAAA+G,SAAA,QAAAC,KAAA;IACArB,MAAA,EAAAgB,KAAA,CAAAjB,WAAmB,CAAAC,MAAA;IACrBsB,KAAA,GAAAV;EAGO;EAKL,IAAAnH,YAAe,EAAAC,aAAU,CAAAe,GAAQ,CAAAJ,IAAA;IACjC,OAAAsG,QAAA,CAAAK,KAAkB;EAClB,QACFL,QAAA,CAAAK,KAAA;AAEA;AACE,SAAMO,iBAAWA,CAAAlH,IAAA,EAAA+D,UAAA;EACjB5G,KAAA,CAAA8G,GAAA,CAAAjE,IAAA;EACA,IAAA+D,UAAA,EAAA7G,gBAA4B,CAAAkD,GAAA,CAAAJ,IAAA,EAAA+D,UAAA,OAC5B7G,gBAAc,CAAOiK,MAAI,CAAAnH,IAAA;EACzBN,oBAAkB;EAClB,IAAAX,0BAAI;IACFA,0BAAA,CAAAsF,OAA2B,CAAArE,IAAU;IACvC3C,iBAAA,CAAA+C,GAAA,CAAAJ,IAAA;EACF;EAEAf,gBAAM,KAAe,QAAAA,gBAAI,KAAyC,UAAAA,gBAAA;AAMlE;AACE,SAAM/C,kBAAWA,CAAA8D,IAAA,EAAeoH,QAAQ,EAAArD,UAAA;EACxC/G,cAAW,CAAAoD,GAAA,CAAAJ,IAAA,EAAaoH,QAAA;EACxBF,iBAAM,CAAAlH,IAAa,EAAA+D,UAAK;EACxB,OAAK,YAAY;IAEjB,OAAMD,WAAW,CAAA9D,IAAK;EACtB;AACA;AACA,SAAA8D,WAAkBA,CAAA9D,IAAA;EAClB7C,KAAA,CAAAgK,MAAS,CAAAnH,IAAA;EACXhD,cAAA,CAAAmK,MAAA,CAAAnH,IAAA;EAEO9C,gBAAS,CAAAiK,MAAA,CAAAnH,IACd;EAGAb,aAAM,CAAAgI,MAAA,CAAAnH,IAAa;EAGnB3C,iBAAa,CAAA8J,MAAA,CAAAnH,IAAA;EACb,IAAAjB,0BAAsB,EAAAA,0BAAA,CAAAgG,SAAA,CAAA/E,IAAA;AACpB;AACA,IAAAqH,YAAA,kBAA2B,IAAApK,OAAU;AAAA,SACvCqK,eAAAtH,IAAA;EAGA,IAAAsG,QAAA,GAAAtJ,cAAA,CAAAkD,GAAA,CAAAF,IAAA;EACE,WAAKsG,QAAU;EACf,IAAAlE,UAAM,GAAApC,IAAW,CAAAqC,aAAA;EACjB,KAAAD,UAAM;EACN,IAAAE,QAAI,GAAAtC,IAAA,CAAawC,qBAAU;EAE3B,IAAAD,UAAI,GAAUH,UAAA,CAAAI,qBAAoB;EAClCrD,aAAA,CAAAiB,GAAa,CAAAJ,IAAI,EAAAsC,QAAK,CAAQ;EAC9BnD,aAAK,CAAAiB,GAAU,CAAAgC,UAAA,EAAAG,UAAA;EAEf+D,QAAA,CAAAzK,qBAAmB,CAAAyG,QAAU,EAAQC,UAAA,EAAAvC,IAAA;AACrC;AACA,SAAA5D,gBAAeA,CAAAmL,GAAQ,EAAAjB,QAAA;EAAA,IACxBkB,YAAA;EAED,IAAAzD,UAAA,OAAArH,YAAA,CAAA+K,UAAA,EAAArJ,uBAAgC;EAC9B,IAAA4B,IAAK,GAAA0H,gBAAU,EAAAF,YAAA,GAAAD,GAAA,CAAAI,OAAA,cAAAH,YAAA,uBAAAA,YAAA,CAAAI,IAAA;EACf,IAAA5H,IAAA,IAAMsG,QAAO,EAAI;IACjBtJ,cAAW,CAAAoD,GAAA,CAAAJ,IAAA,EAAAsG,QAAA;IAEXpJ,gBAAA,CAAekD,GAAA,CAAIJ,IAAA,EAAA+D,UAAc;EACjC;EAEA,IAAAtH,gBAAgB,CAAAmC,yBAAa,cAAiB;IAC5C,IAAAiJ,aAAY;IAA+B,KAAAvB,QACpC;IAAK,IAAAwB,QACN,GAAAJ,gBAAW,EAAAG,aAAA,GAAAN,GAAA,CAAAI,OAAA,cAAAE,aAAA,uBAAAA,aAAA,CAAAD,IAAA;IAAA,IAAAG,QACf,GAAAV,YAAiB,CAAAnH,GAAA,CAAAqH,GAAA;IAAiC,IAAAO,QAClD,KAAAC,QAAkB;IAAA,IACpBA,QAAC,EAAAjE,WAAA,CAAAiE,QAAA;IAAAV,YACH,CAAAjH,GAAA,CAAAmH,GAAA,EAAAO,QAAA;IAEA,KAAAA,QAAO,EAAM;IACX9K,cAAA,CAAAoD,GAAY,CAAA0H,QAAI,EAAAxB,QAAA;IAGhBY,iBAAM,CAAAY,QAAc,EAAA/D,UAAa;IACjCuD,cAAI,CAAAQ,QAAe;EACjB;EAAuB,IAAArL,gBACzB,CAAAmC,yBAAA;IACA,IAAAiJ,aAAa;IAAU,IACzB,CAAAvB,QAAA;IACF,IAAI0B,KAAK,GAAE,CAAAH,aAAS,GAAAN,GAAA,CAAAI,OAAA,cAAAE,aAAA,uBAAAA,aAAA,CAAAD,IAAA;IACtB,KAAAI,KAAA;IAEAhL,cAAS,CAAAoD,GAAA,CAAA4H,KAAoB,EAAA1B,QAA+B;IAC1DY,iBAAW,CAAAc,KAAA,EAAAjE,UAAgB;IACzB,IAAAtG,OAAO,CAAAC,GAAA,CAAA6D,QAAA,sBAAA1D,aAAA,IAAA2D,OAAA,CAAAoF,GAAA;MACTC,GAAA,EAAAmB,KAAA,CAAAlB,OAAA;MACApI,EAAA,EAAAsJ,KAAO,CAAAtJ,EAAA,SAAa;MACtBqI,SAAA,GAAAiB,KAAA,CAAAjB,SAAA,QAAAC,KAAA;MAEOiB,UAAM,EAAA9K,KAAA,CAAA0E;IAGX;IACE,OAAK,YAAQ;MAEbiC,WAAM,CAAKkE,KAAI;MAAA,IACZE,WAAA,GAAYb,YAAA,CAAAnH,GAAA,CAAAqH,GAAA;MACX,IAAAW,WAAG,IAAWA,WAAA,KAAAF,KAAA,EAAAlE,WAAA,CAAAoE,WAAA;MACdb,YAAO,CAAAF,MAAI,CAAAI,GAAA,CAAQ;IAAqB;EAC1C,IAAAA,GACA,IAAAjB,QAAA;AAAA;AACa,SACboB,iBAAAjH,CAAA;EAAA,IACF,OAAAoD,WAAA;EACA,OAAGlH,WAAY,CAAA8D,CAAA,EAAAoD,WAAA,IAAApD,CAAA;AAAA;AAEnB,IAAA7E,0BAAA,YAAAA,CAAAoE,IAAA;EAEO,OAAM,IAAA4E,OAAA,CAAc,UACzBC,GAAA,EACA;IAEA,KAAA7E,IAAM,IAAAA,IAAA,CAAAmI,QAAe,eAAoBtD,GAAA;IACzC,IAAIT,EAAA,OAAAzE,oBAAwB,WAAaC,OAAA;MACvCwE,EAAA,CAAAgE,UAAO;MAA8C,OACnDvD,GAAA,CAAAjF,OAAA,IAAA0B,kBAA+B;IAAA;MAC/BjB,SAAA;IAAA;IAAuC+D,EACzC,CAACC,OAAA,CAAArE,IAAA;EACD;AACE;AAA2D,IAC7D/D,WAAA,kBAAAA,CAAA+D,IAAA,EAAAqI,UAAA;EAAA,IACFC,YAAA,GAAAD,UAAA,KAAArI,IAAA,aAAAA,IAAA,uBAAAA,IAAA,CAAAqC,aAAA;EACA,IAAA1F,WAAO,CAAA2L,YAAA,EAAAzE,WAAA;IACT,KAAA0E,OAAA,EAAAC,eAAA,UAAA5D,OAAA,CAAA6D,GAAA,EAAA7M,0BAAA,CAAAoE,IAAA,GAAApE,0BAAA,CAAA0M,YAAA;IAaO,IAAME,eAAU,IACrBD,OACA,SAAA3C,qBACgC,CAAA2C,OAAA,EAAAC,eAAA,EAAAxI,IAAA;EAChC;EAAkB,OAChB;AAAA;AAC2D,IAC7DlE,OAAA,kBAAAA,CAAAkE,IAAA,EAAA0I,QAAA;EACA,IAAAC,GAAI,GAAK,MAAA1M,WAAA,CAAA+D,IAAA,EAAArD,WAAA,CAAAqD,IAAA,CAAAoC,UAAA,EAAAyB,WAAA,IAAA7D,IAAA,CAAAoC,UAAA;EACP,IAAAuG,GAAA,EAAAD,QAAW,KAAO,IAAI,IAAGA,QAAI,KAAW,UAAQA,QAAI,CAAOC,GAAA,CAAIlI,CAAA,EAAAkI,GAAK,CAAAjI,CAAA,EAAAiI,GAAA,CAAAhI,KAAA,EAAAgI,GAAA,CAAA/H,MAAA,EAAA+H,GAAA,CAAAvC,KAAA,EAAAuC,GAAA,CAAAtC,KAAA;EAAA,OACtEsC,GAAA;AACA;AACF,SAAAnN,cAAAwE,IAAA;EAEO,iBAAS0I,QACd;IAEA,OAAO5M,OAAC,CAAAkE,IAAA,EAAa0I,QAAQ;EAC/B;AAIO;AAIL,IAAA3M,eAAY,GAAM,eAAAA,CAAYiE,IAAM,EAAI0I,QAAA;EACxC,IAAAC,GAAI,GAAK,MAAA1M,WAAA,CAAA+D,IAAA;EACP,IAAA2I,GAAA,EAAAD,QAAW,KAAI,IAAO,IAAIA,QAAO,KAAI,KAAO,KAAIA,QAAM,CAAAC,GAAA,CAAAvC,KAAA,EAAAuC,GAAA,CAAAtC,KAAA,EAAAsC,GAAA,CAAAhI,KAAA,EAAAgI,GAAA,CAAA/H,MAAA;EAAA,OACxD+H,GAAA;AACA;AACF,IAAAlN,qBAAA,YAAAA,CAAAuE,IAAA;EAEO,OAAM,UAAA0I,QAAA;IAGX,OAAO3M,eAAc,CAAAiE,IAAA,EAAA0I,QAAgB;EACvC;AAEO;AAKL,IAAA1M,aAAY,GAAM,eAAAA,CAAYgE,IAAM,EAAAsI,YAAY,EAAAI,QAAA;EAChD,IAAAC,GAAI,GAAK,MAAA1M,WAAA,CAAA+D,IAAA,EAAAsI,YAAA;EACP,IAAAK,GAAA,EAAAD,QAAW,KAAO,IAAI,IAAGA,QAAI,KAAW,UAAQA,QAAI,CAAOC,GAAA,CAAIlI,CAAA,EAAAkI,GAAK,CAAAjI,CAAA,EAAAiI,GAAA,CAAAhI,KAAA,EAAAgI,GAAA,CAAA/H,MAAA,EAAA+H,GAAA,CAAAvC,KAAA,EAAAuC,GAAA,CAAAtC,KAAA;EAAA,OACtEsC,GAAA;AACA;AACF,SAAAjN,oBAAAsE,IAAA;EAEO,iBAASqI,UAAA,EACdK,QAC+E;IAC/E,OAAO1M,aAAa,CAAAgE,IAAA,EAAAqI,UAAa,EAAAK,QAAc;EACjD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","registerLayoutNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","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","wasDisabled","measureOnNextFrame","jsx","Provider","strategy","resumeLayoutLoop","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver2","rectFetchObserver","IntersectionObserver","entries","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","i","length","BoundingRects","set","target","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","threshold","scheduleLayoutFrame2","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","node","get","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","activeNodes","parentsToObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","HTMLElement","cleanupNode","disableKey","push","add","err","return","io","observe","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","parent","Promise","res","i1","unobserve","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","parent1","min","max","i2","addEventListener","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","onChange","PrevHostNode","emitLayoutSync","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","node2","totalNodes","swappedNode","nodeType","disconnect","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","callback","out"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -4,7 +4,6 @@ import { jsx } from "react/jsx-runtime";
|
|
|
4
4
|
const LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
5
5
|
const LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
6
6
|
const Nodes = /* @__PURE__ */new Set();
|
|
7
|
-
const IntersectionState = /* @__PURE__ */new WeakMap();
|
|
8
7
|
const usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
9
8
|
let _debugLayout;
|
|
10
9
|
function isDebugLayout() {
|
|
@@ -20,16 +19,18 @@ const LayoutMeasurementController = ({
|
|
|
20
19
|
}) => {
|
|
21
20
|
const id = useId();
|
|
22
21
|
useIsomorphicLayoutEffect(() => {
|
|
22
|
+
const wasDisabled = DisableLayoutContextValues[id] === true;
|
|
23
23
|
DisableLayoutContextValues[id] = disable;
|
|
24
|
+
if (wasDisabled && !disable) measureOnNextFrame?.();
|
|
24
25
|
}, [disable, id]);
|
|
25
26
|
return /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {
|
|
26
27
|
value: id,
|
|
27
28
|
children
|
|
28
29
|
});
|
|
29
30
|
};
|
|
30
|
-
let globalIntersectionObserver = null;
|
|
31
31
|
let strategy = "async";
|
|
32
32
|
let resumeLayoutLoop;
|
|
33
|
+
let measureOnNextFrame;
|
|
33
34
|
function setOnLayoutStrategy(state) {
|
|
34
35
|
strategy = state;
|
|
35
36
|
resumeLayoutLoop?.();
|
|
@@ -46,18 +47,6 @@ function enable() {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
function startGlobalObservers() {
|
|
50
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
51
|
-
globalIntersectionObserver = new IntersectionObserver(entries => {
|
|
52
|
-
for (let i = 0; i < entries.length; i++) {
|
|
53
|
-
const entry = entries[i];
|
|
54
|
-
const node = entry.target;
|
|
55
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
56
|
-
}
|
|
57
|
-
}, {
|
|
58
|
-
threshold: 0
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
50
|
function rectsEqual(a, b) {
|
|
62
51
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
63
52
|
}
|
|
@@ -118,7 +107,7 @@ if (ENABLE) {
|
|
|
118
107
|
}
|
|
119
108
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
120
109
|
if (strategy !== "off") {
|
|
121
|
-
const
|
|
110
|
+
const activeNodes = [];
|
|
122
111
|
const parentsToObserve = /* @__PURE__ */new Set();
|
|
123
112
|
for (const node of Nodes) {
|
|
124
113
|
const parentElement = node.parentElement;
|
|
@@ -128,28 +117,31 @@ if (ENABLE) {
|
|
|
128
117
|
}
|
|
129
118
|
const disableKey = LayoutDisableKey.get(node);
|
|
130
119
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
131
|
-
|
|
132
|
-
visibleNodes.push(node);
|
|
120
|
+
activeNodes.push(node);
|
|
133
121
|
parentsToObserve.add(parentElement);
|
|
134
122
|
}
|
|
135
|
-
if (
|
|
123
|
+
if (activeNodes.length > 0) {
|
|
136
124
|
const io = ensureRectFetchObserver();
|
|
137
125
|
rectFetchStartTime = performance.now();
|
|
138
|
-
for (let i = 0; i <
|
|
126
|
+
for (let i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
139
127
|
for (const parent of parentsToObserve) io.observe(parent);
|
|
140
128
|
await new Promise(res => {
|
|
141
129
|
rectFetchResolve = res;
|
|
142
130
|
});
|
|
143
|
-
for (let i = 0; i <
|
|
131
|
+
for (let i = 0; i < activeNodes.length; i++) io.unobserve(activeNodes[i]);
|
|
144
132
|
for (const parent of parentsToObserve) io.unobserve(parent);
|
|
145
133
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
146
|
-
for (let i = 0; i <
|
|
134
|
+
for (let i = 0; i < activeNodes.length; i++) updateLayoutIfChanged(activeNodes[i]);
|
|
147
135
|
}
|
|
148
136
|
}
|
|
149
137
|
frameScheduled = false;
|
|
150
138
|
scheduleLayoutFrame();
|
|
151
139
|
}
|
|
152
140
|
resumeLayoutLoop = scheduleLayoutFrame;
|
|
141
|
+
measureOnNextFrame = () => {
|
|
142
|
+
frameCount = 0;
|
|
143
|
+
scheduleLayoutFrame();
|
|
144
|
+
};
|
|
153
145
|
document.addEventListener("visibilitychange", scheduleLayoutFrame);
|
|
154
146
|
scheduleLayoutFrame();
|
|
155
147
|
}
|
|
@@ -214,11 +206,6 @@ function emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {
|
|
|
214
206
|
function observeLayoutNode(node, disableKey) {
|
|
215
207
|
Nodes.add(node);
|
|
216
208
|
if (disableKey) LayoutDisableKey.set(node, disableKey);else LayoutDisableKey.delete(node);
|
|
217
|
-
startGlobalObservers();
|
|
218
|
-
if (globalIntersectionObserver) {
|
|
219
|
-
globalIntersectionObserver.observe(node);
|
|
220
|
-
IntersectionState.set(node, true);
|
|
221
|
-
}
|
|
222
209
|
resumeLayoutLoop?.();
|
|
223
210
|
}
|
|
224
211
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -231,8 +218,6 @@ function cleanupNode(node) {
|
|
|
231
218
|
LayoutHandlers.delete(node);
|
|
232
219
|
LayoutDisableKey.delete(node);
|
|
233
220
|
NodeRectCache.delete(node);
|
|
234
|
-
IntersectionState.delete(node);
|
|
235
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
236
221
|
}
|
|
237
222
|
const PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
238
223
|
function emitLayoutSync(node) {
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useId","jsx","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","IntersectionObserver","LayoutMeasurementController","disable","children","id","Provider","value","globalIntersectionObserver","strategy","resumeLayoutLoop","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","scheduleLayoutFrame","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","HTMLElement","cleanupNode","disableKey","push","add","io","observe","parent","Promise","res","unobserve","min","max","addEventListener","getElementLayoutEvent","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","left","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","registerLayoutNode","onChange","PrevHostNode","emitLayoutSync","useElementLayout","ref","ensureWebElement","current","host","nextNode","prevNode","node2","totalNodes","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["index.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst LayoutHandlers = /* @__PURE__ */ new WeakMap();\nconst LayoutDisableKey = /* @__PURE__ */ new WeakMap();\nconst Nodes = /* @__PURE__ */ new Set();\nconst IntersectionState = /* @__PURE__ */ new WeakMap();\nconst usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\nlet _debugLayout;\nfunction isDebugLayout() {\n\tif (_debugLayout === void 0) _debugLayout = typeof window !== \"undefined\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\");\n\treturn _debugLayout;\n}\nconst DisableLayoutContextValues = {};\nconst DisableLayoutContextKey = createContext(\"\");\nconst ENABLE = typeof IntersectionObserver !== \"undefined\";\nconst LayoutMeasurementController = ({ disable, children }) => {\n\tconst id = useId();\n\tuseIsomorphicLayoutEffect(() => {\n\t\tDisableLayoutContextValues[id] = disable;\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nlet globalIntersectionObserver = null;\nlet strategy = \"async\";\nlet resumeLayoutLoop;\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\n\tresumeLayoutLoop?.();\n}\nconst NodeRectCache = /* @__PURE__ */ new WeakMap();\nlet avoidUpdates = true;\nconst queuedUpdates = /* @__PURE__ */ new Map();\nfunction enable() {\n\tif (avoidUpdates) {\n\t\tavoidUpdates = false;\n\t\tif (queuedUpdates) {\n\t\t\tqueuedUpdates.forEach((cb) => cb());\n\t\t\tqueuedUpdates.clear();\n\t\t}\n\t}\n}\nfunction startGlobalObservers() {\n\tif (!ENABLE || globalIntersectionObserver) return;\n\tglobalIntersectionObserver = new IntersectionObserver((entries) => {\n\t\tfor (let i = 0; i < entries.length; i++) {\n\t\t\tconst entry = entries[i];\n\t\t\tconst node = entry.target;\n\t\t\tif (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);\n\t\t}\n\t}, { threshold: 0 });\n}\nfunction rectsEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n\tlet ensureRectFetchObserver = function() {\n\t\tif (rectFetchObserver) return rectFetchObserver;\n\t\trectFetchObserver = new IntersectionObserver((entries) => {\n\t\t\tlastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n\t\t\tfor (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50) console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\");\n\t\t\tif (rectFetchResolve) {\n\t\t\t\trectFetchResolve(true);\n\t\t\t\trectFetchResolve = null;\n\t\t\t}\n\t\t}, { threshold: 0 });\n\t\treturn rectFetchObserver;\n\t}, scheduleLayoutFrame = function() {\n\t\tif (frameScheduled || strategy === \"off\" || Nodes.size === 0 || document.hidden) return;\n\t\tframeScheduled = true;\n\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t};\n\tconst BoundingRects = /* @__PURE__ */ new WeakMap();\n\tlet rectFetchObserver = null;\n\tlet rectFetchResolve = null;\n\tlet rectFetchStartTime = 0;\n\tlet lastCallbackDelay = 0;\n\tasync function updateLayoutIfChanged(node) {\n\t\tif (typeof LayoutHandlers.get(node) !== \"function\") return;\n\t\tconst parentNode = node.parentElement;\n\t\tif (!parentNode) return;\n\t\tlet nodeRect;\n\t\tlet parentRect;\n\t\tif (strategy === \"async\") {\n\t\t\tnodeRect = BoundingRects.get(node);\n\t\t\tparentRect = BoundingRects.get(parentNode);\n\t\t\tif (!nodeRect || !parentRect) return;\n\t\t} else {\n\t\t\tnodeRect = node.getBoundingClientRect();\n\t\t\tparentRect = parentNode.getBoundingClientRect();\n\t\t}\n\t\temitLayoutIfChanged(node, parentNode, nodeRect, parentRect);\n\t}\n\tconst rAF = typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : void 0;\n\tconst userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;\n\tconst BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;\n\tconst MAX_SKIP_FRAMES = 20;\n\tlet skipFrames = BASE_SKIP_FRAMES;\n\tlet frameCount = 0;\n\tlet frameScheduled = false;\n\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\tframeScheduled = false;\n\t\t\tscheduleLayoutFrame();\n\t\t\treturn;\n\t\t}\n\t\tif (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;\n\t\tif (strategy !== \"off\") {\n\t\t\tconst visibleNodes = [];\n\t\t\tconst parentsToObserve = /* @__PURE__ */ new Set();\n\t\t\tfor (const node of Nodes) {\n\t\t\t\tconst parentElement = node.parentElement;\n\t\t\t\tif (!(parentElement instanceof HTMLElement)) {\n\t\t\t\t\tcleanupNode(node);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst disableKey = LayoutDisableKey.get(node);\n\t\t\t\tif (disableKey && DisableLayoutContextValues[disableKey] === true) continue;\n\t\t\t\tif (IntersectionState.get(node) === false) continue;\n\t\t\t\tvisibleNodes.push(node);\n\t\t\t\tparentsToObserve.add(parentElement);\n\t\t\t}\n\t\t\tif (visibleNodes.length > 0) {\n\t\t\t\tconst io = ensureRectFetchObserver();\n\t\t\t\trectFetchStartTime = performance.now();\n\t\t\t\tfor (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.observe(parent);\n\t\t\t\tawait new Promise((res) => {\n\t\t\t\t\trectFetchResolve = res;\n\t\t\t\t});\n\t\t\t\tfor (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.unobserve(parent);\n\t\t\t\tif (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);\n\t\t\t\telse if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);\n\t\t\t\tfor (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);\n\t\t\t}\n\t\t}\n\t\tframeScheduled = false;\n\t\tscheduleLayoutFrame();\n\t}\n\tresumeLayoutLoop = scheduleLayoutFrame;\n\tdocument.addEventListener(\"visibilitychange\", scheduleLayoutFrame);\n\tscheduleLayoutFrame();\n}\nconst getElementLayoutEvent = (nodeRect, parentRect, node) => {\n\treturn {\n\t\tnativeEvent: {\n\t\t\tlayout: getRelativeDimensions(nodeRect, parentRect, node),\n\t\t\ttarget: nodeRect\n\t\t},\n\t\ttimeStamp: Date.now()\n\t};\n};\nconst getPreTransformDimensions = (node) => {\n\treturn {\n\t\twidth: node.offsetWidth,\n\t\theight: node.offsetHeight\n\t};\n};\nconst getRelativeDimensions = (a, b, aNode) => {\n\tconst { left, top } = a;\n\tconst x = left - b.left;\n\tconst y = top - b.top;\n\tconst { width, height } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n\t\twidth: a.width,\n\t\theight: a.height\n\t};\n\treturn {\n\t\tx,\n\t\ty,\n\t\twidth,\n\t\theight,\n\t\tpageX: a.left,\n\t\tpageY: a.top\n\t};\n};\nfunction emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst cachedRect = NodeRectCache.get(node);\n\tconst cachedParentRect = NodeRectCache.get(parentNode);\n\tconst nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\tconst parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\tif (!nodeChanged && !parentChanged) return;\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tconst event = getElementLayoutEvent(nodeRect, parentRect, node);\n\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\ttag: node.tagName,\n\t\tid: node.id || void 0,\n\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\tlayout: event.nativeEvent.layout,\n\t\tfirst: !cachedRect\n\t});\n\tif (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));\n\telse onLayout(event);\n}\nfunction observeLayoutNode(node, disableKey) {\n\tNodes.add(node);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\telse LayoutDisableKey.delete(node);\n\tstartGlobalObservers();\n\tif (globalIntersectionObserver) {\n\t\tglobalIntersectionObserver.observe(node);\n\t\tIntersectionState.set(node, true);\n\t}\n\tresumeLayoutLoop?.();\n}\nfunction registerLayoutNode(node, onChange, disableKey) {\n\tLayoutHandlers.set(node, onChange);\n\tobserveLayoutNode(node, disableKey);\n\treturn () => cleanupNode(node);\n}\nfunction cleanupNode(node) {\n\tNodes.delete(node);\n\tLayoutHandlers.delete(node);\n\tLayoutDisableKey.delete(node);\n\tNodeRectCache.delete(node);\n\tIntersectionState.delete(node);\n\tif (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);\n}\nconst PrevHostNode = /* @__PURE__ */ new WeakMap();\nfunction emitLayoutSync(node) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst parentNode = node.parentElement;\n\tif (!parentNode) return;\n\tconst nodeRect = node.getBoundingClientRect();\n\tconst parentRect = parentNode.getBoundingClientRect();\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tonLayout(getElementLayoutEvent(nodeRect, parentRect, node));\n}\nfunction useElementLayout(ref, onLayout) {\n\tconst disableKey = useContext(DisableLayoutContextKey);\n\tconst node = ensureWebElement(ref.current?.host);\n\tif (node && onLayout) {\n\t\tLayoutHandlers.set(node, onLayout);\n\t\tLayoutDisableKey.set(node, disableKey);\n\t}\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst nextNode = ensureWebElement(ref.current?.host);\n\t\tconst prevNode = PrevHostNode.get(ref);\n\t\tif (nextNode === prevNode) return;\n\t\tif (prevNode) cleanupNode(prevNode);\n\t\tPrevHostNode.set(ref, nextNode);\n\t\tif (!nextNode) return;\n\t\tLayoutHandlers.set(nextNode, onLayout);\n\t\tobserveLayoutNode(nextNode, disableKey);\n\t\temitLayoutSync(nextNode);\n\t});\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst node2 = ref.current?.host;\n\t\tif (!node2) return;\n\t\tLayoutHandlers.set(node2, onLayout);\n\t\tobserveLayoutNode(node2, disableKey);\n\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] register\", {\n\t\t\ttag: node2.tagName,\n\t\t\tid: node2.id || void 0,\n\t\t\tclassName: (node2.className || \"\").slice(0, 60) || void 0,\n\t\t\ttotalNodes: Nodes.size\n\t\t});\n\t\treturn () => {\n\t\t\tcleanupNode(node2);\n\t\t\tconst swappedNode = PrevHostNode.get(ref);\n\t\t\tif (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);\n\t\t\tPrevHostNode.delete(ref);\n\t\t};\n\t}, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n\tif (typeof HTMLElement === \"undefined\") return;\n\treturn x instanceof HTMLElement ? x : void 0;\n}\nconst getBoundingClientRectAsync = (node) => {\n\treturn new Promise((res) => {\n\t\tif (!node || node.nodeType !== 1) return res(false);\n\t\tconst io = new IntersectionObserver((entries) => {\n\t\t\tio.disconnect();\n\t\t\treturn res(entries[0].boundingClientRect);\n\t\t}, { threshold: 0 });\n\t\tio.observe(node);\n\t});\n};\nconst measureNode = async (node, relativeTo) => {\n\tconst relativeNode = relativeTo || node?.parentElement;\n\tif (relativeNode instanceof HTMLElement) {\n\t\tconst [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n\t\tif (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n\t}\n\treturn null;\n};\nconst measure = async (node, callback) => {\n\tconst out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasure(node) {\n\treturn (callback) => measure(node, callback);\n}\nconst measureInWindow = async (node, callback) => {\n\tconst out = await measureNode(node, null);\n\tif (out) callback?.(out.pageX, out.pageY, out.width, out.height);\n\treturn out;\n};\nconst createMeasureInWindow = (node) => {\n\treturn (callback) => measureInWindow(node, callback);\n};\nconst measureLayout = async (node, relativeNode, callback) => {\n\tconst out = await measureNode(node, relativeNode);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasureLayout(node) {\n\treturn (relativeTo, callback) => measureLayout(node, relativeTo, callback);\n}\n\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useId","jsx","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","IntersectionObserver","LayoutMeasurementController","disable","children","id","wasDisabled","measureOnNextFrame","Provider","value","strategy","resumeLayoutLoop","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","entries","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","i","length","BoundingRects","set","target","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","threshold","scheduleLayoutFrame","frameScheduled","size","document","hidden","rAF","layoutOnAnimationFrame","setTimeout","updateLayoutIfChanged","node","get","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","emitLayoutIfChanged","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","Number","MAX_SAFE_INTEGER","activeNodes","parentsToObserve","HTMLElement","cleanupNode","disableKey","push","add","io","observe","parent","Promise","res","unobserve","min","max","addEventListener","getElementLayoutEvent","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","left","top","pageX","pageY","onLayout","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","first","observeLayoutNode","delete","registerLayoutNode","onChange","PrevHostNode","emitLayoutSync","useElementLayout","ref","ensureWebElement","current","host","nextNode","prevNode","node2","totalNodes","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["index.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst LayoutHandlers = /* @__PURE__ */ new WeakMap();\nconst LayoutDisableKey = /* @__PURE__ */ new WeakMap();\nconst Nodes = /* @__PURE__ */ new Set();\nconst usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\nlet _debugLayout;\nfunction isDebugLayout() {\n\tif (_debugLayout === void 0) _debugLayout = typeof window !== \"undefined\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\");\n\treturn _debugLayout;\n}\nconst DisableLayoutContextValues = {};\nconst DisableLayoutContextKey = createContext(\"\");\nconst ENABLE = typeof IntersectionObserver !== \"undefined\";\nconst LayoutMeasurementController = ({ disable, children }) => {\n\tconst id = useId();\n\tuseIsomorphicLayoutEffect(() => {\n\t\tconst wasDisabled = DisableLayoutContextValues[id] === true;\n\t\tDisableLayoutContextValues[id] = disable;\n\t\tif (wasDisabled && !disable) measureOnNextFrame?.();\n\t}, [disable, id]);\n\treturn /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, {\n\t\tvalue: id,\n\t\tchildren\n\t});\n};\nlet strategy = \"async\";\nlet resumeLayoutLoop;\nlet measureOnNextFrame;\nfunction setOnLayoutStrategy(state) {\n\tstrategy = state;\n\tresumeLayoutLoop?.();\n}\nconst NodeRectCache = /* @__PURE__ */ new WeakMap();\nlet avoidUpdates = true;\nconst queuedUpdates = /* @__PURE__ */ new Map();\nfunction enable() {\n\tif (avoidUpdates) {\n\t\tavoidUpdates = false;\n\t\tif (queuedUpdates) {\n\t\t\tqueuedUpdates.forEach((cb) => cb());\n\t\t\tqueuedUpdates.clear();\n\t\t}\n\t}\n}\nfunction rectsEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n\tlet ensureRectFetchObserver = function() {\n\t\tif (rectFetchObserver) return rectFetchObserver;\n\t\trectFetchObserver = new IntersectionObserver((entries) => {\n\t\t\tlastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n\t\t\tfor (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n\t\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50) console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\");\n\t\t\tif (rectFetchResolve) {\n\t\t\t\trectFetchResolve(true);\n\t\t\t\trectFetchResolve = null;\n\t\t\t}\n\t\t}, { threshold: 0 });\n\t\treturn rectFetchObserver;\n\t}, scheduleLayoutFrame = function() {\n\t\tif (frameScheduled || strategy === \"off\" || Nodes.size === 0 || document.hidden) return;\n\t\tframeScheduled = true;\n\t\trAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n\t};\n\tconst BoundingRects = /* @__PURE__ */ new WeakMap();\n\tlet rectFetchObserver = null;\n\tlet rectFetchResolve = null;\n\tlet rectFetchStartTime = 0;\n\tlet lastCallbackDelay = 0;\n\tasync function updateLayoutIfChanged(node) {\n\t\tif (typeof LayoutHandlers.get(node) !== \"function\") return;\n\t\tconst parentNode = node.parentElement;\n\t\tif (!parentNode) return;\n\t\tlet nodeRect;\n\t\tlet parentRect;\n\t\tif (strategy === \"async\") {\n\t\t\tnodeRect = BoundingRects.get(node);\n\t\t\tparentRect = BoundingRects.get(parentNode);\n\t\t\tif (!nodeRect || !parentRect) return;\n\t\t} else {\n\t\t\tnodeRect = node.getBoundingClientRect();\n\t\t\tparentRect = parentNode.getBoundingClientRect();\n\t\t}\n\t\temitLayoutIfChanged(node, parentNode, nodeRect, parentRect);\n\t}\n\tconst rAF = typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : void 0;\n\tconst userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;\n\tconst BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;\n\tconst MAX_SKIP_FRAMES = 20;\n\tlet skipFrames = BASE_SKIP_FRAMES;\n\tlet frameCount = 0;\n\tlet frameScheduled = false;\n\tasync function layoutOnAnimationFrame() {\n\t\tif (frameCount++ % skipFrames !== 0) {\n\t\t\tframeScheduled = false;\n\t\t\tscheduleLayoutFrame();\n\t\t\treturn;\n\t\t}\n\t\tif (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;\n\t\tif (strategy !== \"off\") {\n\t\t\tconst activeNodes = [];\n\t\t\tconst parentsToObserve = /* @__PURE__ */ new Set();\n\t\t\tfor (const node of Nodes) {\n\t\t\t\tconst parentElement = node.parentElement;\n\t\t\t\tif (!(parentElement instanceof HTMLElement)) {\n\t\t\t\t\tcleanupNode(node);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst disableKey = LayoutDisableKey.get(node);\n\t\t\t\tif (disableKey && DisableLayoutContextValues[disableKey] === true) continue;\n\t\t\t\tactiveNodes.push(node);\n\t\t\t\tparentsToObserve.add(parentElement);\n\t\t\t}\n\t\t\tif (activeNodes.length > 0) {\n\t\t\t\tconst io = ensureRectFetchObserver();\n\t\t\t\trectFetchStartTime = performance.now();\n\t\t\t\tfor (let i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.observe(parent);\n\t\t\t\tawait new Promise((res) => {\n\t\t\t\t\trectFetchResolve = res;\n\t\t\t\t});\n\t\t\t\tfor (let i = 0; i < activeNodes.length; i++) io.unobserve(activeNodes[i]);\n\t\t\t\tfor (const parent of parentsToObserve) io.unobserve(parent);\n\t\t\t\tif (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);\n\t\t\t\telse if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);\n\t\t\t\tfor (let i = 0; i < activeNodes.length; i++) updateLayoutIfChanged(activeNodes[i]);\n\t\t\t}\n\t\t}\n\t\tframeScheduled = false;\n\t\tscheduleLayoutFrame();\n\t}\n\tresumeLayoutLoop = scheduleLayoutFrame;\n\tmeasureOnNextFrame = () => {\n\t\tframeCount = 0;\n\t\tscheduleLayoutFrame();\n\t};\n\tdocument.addEventListener(\"visibilitychange\", scheduleLayoutFrame);\n\tscheduleLayoutFrame();\n}\nconst getElementLayoutEvent = (nodeRect, parentRect, node) => {\n\treturn {\n\t\tnativeEvent: {\n\t\t\tlayout: getRelativeDimensions(nodeRect, parentRect, node),\n\t\t\ttarget: nodeRect\n\t\t},\n\t\ttimeStamp: Date.now()\n\t};\n};\nconst getPreTransformDimensions = (node) => {\n\treturn {\n\t\twidth: node.offsetWidth,\n\t\theight: node.offsetHeight\n\t};\n};\nconst getRelativeDimensions = (a, b, aNode) => {\n\tconst { left, top } = a;\n\tconst x = left - b.left;\n\tconst y = top - b.top;\n\tconst { width, height } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n\t\twidth: a.width,\n\t\theight: a.height\n\t};\n\treturn {\n\t\tx,\n\t\ty,\n\t\twidth,\n\t\theight,\n\t\tpageX: a.left,\n\t\tpageY: a.top\n\t};\n};\nfunction emitLayoutIfChanged(node, parentNode, nodeRect, parentRect) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst cachedRect = NodeRectCache.get(node);\n\tconst cachedParentRect = NodeRectCache.get(parentNode);\n\tconst nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);\n\tconst parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n\tif (!nodeChanged && !parentChanged) return;\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tconst event = getElementLayoutEvent(nodeRect, parentRect, node);\n\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] change\", {\n\t\ttag: node.tagName,\n\t\tid: node.id || void 0,\n\t\tclassName: (node.className || \"\").slice(0, 60) || void 0,\n\t\tlayout: event.nativeEvent.layout,\n\t\tfirst: !cachedRect\n\t});\n\tif (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));\n\telse onLayout(event);\n}\nfunction observeLayoutNode(node, disableKey) {\n\tNodes.add(node);\n\tif (disableKey) LayoutDisableKey.set(node, disableKey);\n\telse LayoutDisableKey.delete(node);\n\tresumeLayoutLoop?.();\n}\nfunction registerLayoutNode(node, onChange, disableKey) {\n\tLayoutHandlers.set(node, onChange);\n\tobserveLayoutNode(node, disableKey);\n\treturn () => cleanupNode(node);\n}\nfunction cleanupNode(node) {\n\tNodes.delete(node);\n\tLayoutHandlers.delete(node);\n\tLayoutDisableKey.delete(node);\n\tNodeRectCache.delete(node);\n}\nconst PrevHostNode = /* @__PURE__ */ new WeakMap();\nfunction emitLayoutSync(node) {\n\tconst onLayout = LayoutHandlers.get(node);\n\tif (typeof onLayout !== \"function\") return;\n\tconst parentNode = node.parentElement;\n\tif (!parentNode) return;\n\tconst nodeRect = node.getBoundingClientRect();\n\tconst parentRect = parentNode.getBoundingClientRect();\n\tNodeRectCache.set(node, nodeRect);\n\tNodeRectCache.set(parentNode, parentRect);\n\tonLayout(getElementLayoutEvent(nodeRect, parentRect, node));\n}\nfunction useElementLayout(ref, onLayout) {\n\tconst disableKey = useContext(DisableLayoutContextKey);\n\tconst node = ensureWebElement(ref.current?.host);\n\tif (node && onLayout) {\n\t\tLayoutHandlers.set(node, onLayout);\n\t\tLayoutDisableKey.set(node, disableKey);\n\t}\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst nextNode = ensureWebElement(ref.current?.host);\n\t\tconst prevNode = PrevHostNode.get(ref);\n\t\tif (nextNode === prevNode) return;\n\t\tif (prevNode) cleanupNode(prevNode);\n\t\tPrevHostNode.set(ref, nextNode);\n\t\tif (!nextNode) return;\n\t\tLayoutHandlers.set(nextNode, onLayout);\n\t\tobserveLayoutNode(nextNode, disableKey);\n\t\temitLayoutSync(nextNode);\n\t});\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!onLayout) return;\n\t\tconst node2 = ref.current?.host;\n\t\tif (!node2) return;\n\t\tLayoutHandlers.set(node2, onLayout);\n\t\tobserveLayoutNode(node2, disableKey);\n\t\tif (process.env.NODE_ENV === \"development\" && isDebugLayout()) console.log(\"[useElementLayout] register\", {\n\t\t\ttag: node2.tagName,\n\t\t\tid: node2.id || void 0,\n\t\t\tclassName: (node2.className || \"\").slice(0, 60) || void 0,\n\t\t\ttotalNodes: Nodes.size\n\t\t});\n\t\treturn () => {\n\t\t\tcleanupNode(node2);\n\t\t\tconst swappedNode = PrevHostNode.get(ref);\n\t\t\tif (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);\n\t\t\tPrevHostNode.delete(ref);\n\t\t};\n\t}, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n\tif (typeof HTMLElement === \"undefined\") return;\n\treturn x instanceof HTMLElement ? x : void 0;\n}\nconst getBoundingClientRectAsync = (node) => {\n\treturn new Promise((res) => {\n\t\tif (!node || node.nodeType !== 1) return res(false);\n\t\tconst io = new IntersectionObserver((entries) => {\n\t\t\tio.disconnect();\n\t\t\treturn res(entries[0].boundingClientRect);\n\t\t}, { threshold: 0 });\n\t\tio.observe(node);\n\t});\n};\nconst measureNode = async (node, relativeTo) => {\n\tconst relativeNode = relativeTo || node?.parentElement;\n\tif (relativeNode instanceof HTMLElement) {\n\t\tconst [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n\t\tif (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n\t}\n\treturn null;\n};\nconst measure = async (node, callback) => {\n\tconst out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasure(node) {\n\treturn (callback) => measure(node, callback);\n}\nconst measureInWindow = async (node, callback) => {\n\tconst out = await measureNode(node, null);\n\tif (out) callback?.(out.pageX, out.pageY, out.width, out.height);\n\treturn out;\n};\nconst createMeasureInWindow = (node) => {\n\treturn (callback) => measureInWindow(node, callback);\n};\nconst measureLayout = async (node, relativeNode, callback) => {\n\tconst out = await measureNode(node, relativeNode);\n\tif (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);\n\treturn out;\n};\nfunction createMeasureLayout(node) {\n\treturn (relativeTo, callback) => measureLayout(node, relativeTo, callback);\n}\n\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };"],"mappings":"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","ignoreList":[]}
|