@tamagui/use-element-layout 2.0.0-rc.4 → 2.0.0-rc.40
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 +282 -132
- package/dist/cjs/index.native.js +356 -197
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/index.js +265 -125
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.mjs +267 -120
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +341 -185
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +7 -10
- package/src/index.tsx +280 -89
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +4 -4
- package/dist/cjs/index.js +0 -198
- package/dist/cjs/index.js.map +0 -6
package/dist/esm/index.native.js
CHANGED
|
@@ -1,239 +1,395 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
|
-
import { isEqualShallow } from "@tamagui/is-equal-shallow";
|
|
4
3
|
import { createContext, useContext, useId } from "react";
|
|
5
4
|
function _instanceof(left, right) {
|
|
6
|
-
|
|
5
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);else return left instanceof right;
|
|
7
6
|
}
|
|
8
|
-
var LayoutHandlers = /* @__PURE__ */new WeakMap()
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
7
|
+
var LayoutHandlers = /* @__PURE__ */new WeakMap();
|
|
8
|
+
var LayoutDisableKey = /* @__PURE__ */new WeakMap();
|
|
9
|
+
var Nodes = /* @__PURE__ */new Set();
|
|
10
|
+
var IntersectionState = /* @__PURE__ */new WeakMap();
|
|
11
|
+
var usePretransformDimensions = function () {
|
|
12
|
+
return globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
13
|
+
};
|
|
14
|
+
var _debugLayout;
|
|
15
|
+
function isDebugLayout() {
|
|
16
|
+
if (_debugLayout === void 0) _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
|
|
17
|
+
return _debugLayout;
|
|
18
|
+
}
|
|
19
|
+
var DisableLayoutContextValues = {};
|
|
20
|
+
var DisableLayoutContextKey = /* @__PURE__ */createContext("");
|
|
21
|
+
var ENABLE = false;
|
|
22
|
+
var LayoutMeasurementController = function (param) {
|
|
23
|
+
var {
|
|
24
|
+
disable,
|
|
25
|
+
children
|
|
26
|
+
} = param;
|
|
27
|
+
var id = useId();
|
|
28
|
+
useIsomorphicLayoutEffect(function () {
|
|
29
|
+
DisableLayoutContextValues[id] = disable;
|
|
30
|
+
}, [disable, id]);
|
|
31
|
+
return /* @__PURE__ */_jsx(DisableLayoutContextKey.Provider, {
|
|
32
|
+
value: id,
|
|
33
|
+
children
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
var globalIntersectionObserver = null;
|
|
37
|
+
var strategy = "async";
|
|
30
38
|
function setOnLayoutStrategy(state) {
|
|
31
39
|
strategy = state;
|
|
32
40
|
}
|
|
33
|
-
var NodeRectCache = /* @__PURE__ */new WeakMap()
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
queuedUpdates = /* @__PURE__ */new Map();
|
|
41
|
+
var NodeRectCache = /* @__PURE__ */new WeakMap();
|
|
42
|
+
var avoidUpdates = true;
|
|
43
|
+
var queuedUpdates = /* @__PURE__ */new Map();
|
|
37
44
|
function enable() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
if (avoidUpdates) {
|
|
46
|
+
avoidUpdates = false;
|
|
47
|
+
if (queuedUpdates) {
|
|
48
|
+
queuedUpdates.forEach(function (cb) {
|
|
49
|
+
return cb();
|
|
50
|
+
});
|
|
51
|
+
queuedUpdates.clear();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
41
54
|
}
|
|
42
55
|
function startGlobalObservers() {
|
|
43
|
-
!ENABLE || globalIntersectionObserver
|
|
44
|
-
|
|
56
|
+
if (!ENABLE || globalIntersectionObserver) return;
|
|
57
|
+
globalIntersectionObserver = new IntersectionObserver(function (entries) {
|
|
58
|
+
for (var i = 0; i < entries.length; i++) {
|
|
59
|
+
var entry = entries[i];
|
|
45
60
|
var node = entry.target;
|
|
46
|
-
IntersectionState.get(node) !== entry.isIntersecting
|
|
47
|
-
}
|
|
61
|
+
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
62
|
+
}
|
|
48
63
|
}, {
|
|
49
64
|
threshold: 0
|
|
50
|
-
})
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function rectsEqual(a, b) {
|
|
68
|
+
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
51
69
|
}
|
|
52
70
|
if (ENABLE) {
|
|
71
|
+
let ensureRectFetchObserver = function () {
|
|
72
|
+
if (rectFetchObserver) return rectFetchObserver;
|
|
73
|
+
rectFetchObserver = new IntersectionObserver(function (entries) {
|
|
74
|
+
lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);
|
|
75
|
+
for (var i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
|
|
76
|
+
if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
|
|
77
|
+
if (rectFetchResolve) {
|
|
78
|
+
rectFetchResolve(true);
|
|
79
|
+
rectFetchResolve = null;
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
threshold: 0
|
|
83
|
+
});
|
|
84
|
+
return rectFetchObserver;
|
|
85
|
+
};
|
|
53
86
|
var BoundingRects = /* @__PURE__ */new WeakMap();
|
|
87
|
+
var rectFetchObserver = null;
|
|
88
|
+
var rectFetchResolve = null;
|
|
89
|
+
var rectFetchStartTime = 0;
|
|
90
|
+
var lastCallbackDelay = 0;
|
|
54
91
|
async function updateLayoutIfChanged(node) {
|
|
55
92
|
var onLayout = LayoutHandlers.get(node);
|
|
56
|
-
if (typeof onLayout
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
93
|
+
if (typeof onLayout !== "function") return;
|
|
94
|
+
var parentNode = node.parentElement;
|
|
95
|
+
if (!parentNode) return;
|
|
96
|
+
var nodeRect;
|
|
97
|
+
var parentRect;
|
|
98
|
+
if (strategy === "async") {
|
|
99
|
+
nodeRect = BoundingRects.get(node);
|
|
100
|
+
parentRect = BoundingRects.get(parentNode);
|
|
101
|
+
if (!nodeRect || !parentRect) return;
|
|
102
|
+
} else {
|
|
103
|
+
nodeRect = node.getBoundingClientRect();
|
|
104
|
+
parentRect = parentNode.getBoundingClientRect();
|
|
105
|
+
}
|
|
106
|
+
var cachedRect = NodeRectCache.get(node);
|
|
107
|
+
var cachedParentRect = NodeRectCache.get(parentNode);
|
|
108
|
+
var nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);
|
|
109
|
+
var parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);
|
|
110
|
+
if (nodeChanged || parentChanged) {
|
|
111
|
+
NodeRectCache.set(node, nodeRect);
|
|
112
|
+
NodeRectCache.set(parentNode, parentRect);
|
|
113
|
+
var event = getElementLayoutEvent(nodeRect, parentRect, node);
|
|
114
|
+
if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] change", {
|
|
115
|
+
tag: node.tagName,
|
|
116
|
+
id: node.id || void 0,
|
|
117
|
+
className: (node.className || "").slice(0, 60) || void 0,
|
|
118
|
+
layout: event.nativeEvent.layout,
|
|
119
|
+
first: !cachedRect
|
|
120
|
+
});
|
|
121
|
+
if (avoidUpdates) queuedUpdates.set(node, function () {
|
|
122
|
+
return onLayout(event);
|
|
123
|
+
});else onLayout(event);
|
|
82
124
|
}
|
|
83
125
|
}
|
|
84
|
-
var
|
|
85
|
-
|
|
126
|
+
var rAF = typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : void 0;
|
|
127
|
+
var userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
|
|
128
|
+
var BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
|
|
129
|
+
var MAX_SKIP_FRAMES = 20;
|
|
130
|
+
var skipFrames = BASE_SKIP_FRAMES;
|
|
131
|
+
var frameCount = 0;
|
|
86
132
|
async function layoutOnAnimationFrame() {
|
|
133
|
+
if (frameCount++ % skipFrames !== 0) {
|
|
134
|
+
rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
87
138
|
if (strategy !== "off") {
|
|
88
|
-
var visibleNodes = []
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
139
|
+
var visibleNodes = [];
|
|
140
|
+
var parentsToObserve = /* @__PURE__ */new Set();
|
|
141
|
+
var _iteratorNormalCompletion = true,
|
|
142
|
+
_didIteratorError = false,
|
|
143
|
+
_iteratorError = void 0;
|
|
144
|
+
try {
|
|
145
|
+
for (var _iterator = Nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
146
|
+
var node = _step.value;
|
|
147
|
+
var parentElement = node.parentElement;
|
|
148
|
+
if (!_instanceof(parentElement, HTMLElement)) {
|
|
149
|
+
cleanupNode(node);
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
var disableKey = LayoutDisableKey.get(node);
|
|
153
|
+
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
154
|
+
if (IntersectionState.get(node) === false) continue;
|
|
155
|
+
visibleNodes.push(node);
|
|
156
|
+
parentsToObserve.add(parentElement);
|
|
157
|
+
}
|
|
158
|
+
} catch (err) {
|
|
159
|
+
_didIteratorError = true;
|
|
160
|
+
_iteratorError = err;
|
|
161
|
+
} finally {
|
|
162
|
+
try {
|
|
163
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
|
|
164
|
+
} finally {
|
|
165
|
+
if (_didIteratorError) throw _iteratorError;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (visibleNodes.length > 0) {
|
|
169
|
+
var io = ensureRectFetchObserver();
|
|
170
|
+
rectFetchStartTime = performance.now();
|
|
171
|
+
for (var i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);
|
|
172
|
+
var _iteratorNormalCompletion1 = true,
|
|
173
|
+
_didIteratorError1 = false,
|
|
174
|
+
_iteratorError1 = void 0;
|
|
175
|
+
try {
|
|
176
|
+
for (var _iterator1 = parentsToObserve[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
177
|
+
var parent = _step1.value;
|
|
178
|
+
io.observe(parent);
|
|
179
|
+
}
|
|
180
|
+
} catch (err) {
|
|
181
|
+
_didIteratorError1 = true;
|
|
182
|
+
_iteratorError1 = err;
|
|
183
|
+
} finally {
|
|
117
184
|
try {
|
|
118
|
-
|
|
119
|
-
var node = _step.value;
|
|
120
|
-
if (_instanceof(node.parentElement, HTMLElement)) {
|
|
121
|
-
var disableKey = LayoutDisableKey.get(node);
|
|
122
|
-
disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (didObserve = !0, io.observe(node), io.observe(node.parentElement), visibleNodes.push(node));
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
} catch (err) {
|
|
126
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
185
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();
|
|
127
186
|
} finally {
|
|
128
|
-
|
|
129
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
130
|
-
} finally {
|
|
131
|
-
if (_didIteratorError) throw _iteratorError;
|
|
132
|
-
}
|
|
187
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
133
188
|
}
|
|
134
|
-
|
|
189
|
+
}
|
|
190
|
+
await new Promise(function (res) {
|
|
191
|
+
rectFetchResolve = res;
|
|
135
192
|
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
193
|
+
for (var i1 = 0; i1 < visibleNodes.length; i1++) io.unobserve(visibleNodes[i1]);
|
|
194
|
+
var _iteratorNormalCompletion2 = true,
|
|
195
|
+
_didIteratorError2 = false,
|
|
196
|
+
_iteratorError2 = void 0;
|
|
197
|
+
try {
|
|
198
|
+
for (var _iterator2 = parentsToObserve[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
199
|
+
var parent1 = _step2.value;
|
|
200
|
+
io.unobserve(parent1);
|
|
201
|
+
}
|
|
202
|
+
} catch (err) {
|
|
203
|
+
_didIteratorError2 = true;
|
|
204
|
+
_iteratorError2 = err;
|
|
205
|
+
} finally {
|
|
206
|
+
try {
|
|
207
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();
|
|
208
|
+
} finally {
|
|
209
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
213
|
+
for (var i2 = 0; i2 < visibleNodes.length; i2++) updateLayoutIfChanged(visibleNodes[i2]);
|
|
214
|
+
}
|
|
139
215
|
}
|
|
140
|
-
setTimeout(layoutOnAnimationFrame, 16
|
|
216
|
+
rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
|
|
141
217
|
}
|
|
142
218
|
layoutOnAnimationFrame();
|
|
143
219
|
}
|
|
144
|
-
var getElementLayoutEvent = function (nodeRect, parentRect) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
top,
|
|
158
|
-
width
|
|
159
|
-
} = a,
|
|
160
|
-
x = left - b.left,
|
|
161
|
-
y = top - b.top;
|
|
162
|
-
return {
|
|
163
|
-
x,
|
|
164
|
-
y,
|
|
165
|
-
width,
|
|
166
|
-
height,
|
|
167
|
-
pageX: a.left,
|
|
168
|
-
pageY: a.top
|
|
169
|
-
};
|
|
220
|
+
var getElementLayoutEvent = function (nodeRect, parentRect, node) {
|
|
221
|
+
return {
|
|
222
|
+
nativeEvent: {
|
|
223
|
+
layout: getRelativeDimensions(nodeRect, parentRect, node),
|
|
224
|
+
target: nodeRect
|
|
225
|
+
},
|
|
226
|
+
timeStamp: Date.now()
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
var getPreTransformDimensions = function (node) {
|
|
230
|
+
return {
|
|
231
|
+
width: node.offsetWidth,
|
|
232
|
+
height: node.offsetHeight
|
|
170
233
|
};
|
|
234
|
+
};
|
|
235
|
+
var getRelativeDimensions = function (a, b, aNode) {
|
|
236
|
+
var {
|
|
237
|
+
left,
|
|
238
|
+
top
|
|
239
|
+
} = a;
|
|
240
|
+
var x = left - b.left;
|
|
241
|
+
var y = top - b.top;
|
|
242
|
+
var {
|
|
243
|
+
width,
|
|
244
|
+
height
|
|
245
|
+
} = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {
|
|
246
|
+
width: a.width,
|
|
247
|
+
height: a.height
|
|
248
|
+
};
|
|
249
|
+
return {
|
|
250
|
+
x,
|
|
251
|
+
y,
|
|
252
|
+
width,
|
|
253
|
+
height,
|
|
254
|
+
pageX: a.left,
|
|
255
|
+
pageY: a.top
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
function registerLayoutNode(node, onChange, disableKey) {
|
|
259
|
+
Nodes.add(node);
|
|
260
|
+
LayoutHandlers.set(node, onChange);
|
|
261
|
+
if (disableKey) LayoutDisableKey.set(node, disableKey);
|
|
262
|
+
startGlobalObservers();
|
|
263
|
+
if (globalIntersectionObserver) {
|
|
264
|
+
globalIntersectionObserver.observe(node);
|
|
265
|
+
IntersectionState.set(node, true);
|
|
266
|
+
}
|
|
267
|
+
return function () {
|
|
268
|
+
return cleanupNode(node);
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
function cleanupNode(node) {
|
|
272
|
+
Nodes.delete(node);
|
|
273
|
+
LayoutHandlers.delete(node);
|
|
274
|
+
LayoutDisableKey.delete(node);
|
|
275
|
+
NodeRectCache.delete(node);
|
|
276
|
+
IntersectionState.delete(node);
|
|
277
|
+
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
278
|
+
}
|
|
279
|
+
var PrevHostNode = /* @__PURE__ */new WeakMap();
|
|
171
280
|
function useElementLayout(ref, onLayout) {
|
|
172
|
-
var _ref_current
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
node && onLayout
|
|
281
|
+
var _ref_current;
|
|
282
|
+
var disableKey = useContext(DisableLayoutContextKey);
|
|
283
|
+
var node = ensureWebElement((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.host);
|
|
284
|
+
if (node && onLayout) {
|
|
285
|
+
LayoutHandlers.set(node, onLayout);
|
|
286
|
+
LayoutDisableKey.set(node, disableKey);
|
|
287
|
+
}
|
|
288
|
+
useIsomorphicLayoutEffect(function () {
|
|
176
289
|
var _ref_current2;
|
|
177
|
-
if (onLayout)
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
290
|
+
if (!onLayout) return;
|
|
291
|
+
var nextNode = ensureWebElement((_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host);
|
|
292
|
+
var prevNode = PrevHostNode.get(ref);
|
|
293
|
+
if (nextNode === prevNode) return;
|
|
294
|
+
if (prevNode) cleanupNode(prevNode);
|
|
295
|
+
PrevHostNode.set(ref, nextNode);
|
|
296
|
+
if (!nextNode) return;
|
|
297
|
+
Nodes.add(nextNode);
|
|
298
|
+
startGlobalObservers();
|
|
299
|
+
if (globalIntersectionObserver) {
|
|
300
|
+
globalIntersectionObserver.observe(nextNode);
|
|
301
|
+
IntersectionState.set(nextNode, true);
|
|
302
|
+
}
|
|
303
|
+
var handler = LayoutHandlers.get(nextNode);
|
|
304
|
+
if (typeof handler !== "function") return;
|
|
305
|
+
var parentNode = nextNode.parentElement;
|
|
306
|
+
if (!parentNode) return;
|
|
307
|
+
var nodeRect = nextNode.getBoundingClientRect();
|
|
308
|
+
var parentRect = parentNode.getBoundingClientRect();
|
|
309
|
+
NodeRectCache.set(nextNode, nodeRect);
|
|
310
|
+
NodeRectCache.set(parentNode, parentRect);
|
|
311
|
+
handler(getElementLayoutEvent(nodeRect, parentRect, nextNode));
|
|
312
|
+
});
|
|
313
|
+
useIsomorphicLayoutEffect(function () {
|
|
314
|
+
var _ref_current2;
|
|
315
|
+
if (!onLayout) return;
|
|
316
|
+
var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
|
|
317
|
+
if (!node2) return;
|
|
318
|
+
Nodes.add(node2);
|
|
319
|
+
startGlobalObservers();
|
|
320
|
+
if (globalIntersectionObserver) {
|
|
321
|
+
globalIntersectionObserver.observe(node2);
|
|
322
|
+
IntersectionState.set(node2, true);
|
|
186
323
|
}
|
|
324
|
+
if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] register", {
|
|
325
|
+
tag: node2.tagName,
|
|
326
|
+
id: node2.id || void 0,
|
|
327
|
+
className: (node2.className || "").slice(0, 60) || void 0,
|
|
328
|
+
totalNodes: Nodes.size
|
|
329
|
+
});
|
|
330
|
+
var parentNode = node2.parentNode;
|
|
331
|
+
if (parentNode) onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
|
|
332
|
+
return function () {
|
|
333
|
+
cleanupNode(node2);
|
|
334
|
+
var swappedNode = PrevHostNode.get(ref);
|
|
335
|
+
if (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);
|
|
336
|
+
PrevHostNode.delete(ref);
|
|
337
|
+
};
|
|
187
338
|
}, [ref, !!onLayout]);
|
|
188
339
|
}
|
|
189
340
|
function ensureWebElement(x) {
|
|
190
|
-
if (
|
|
341
|
+
if (typeof HTMLElement === "undefined") return;
|
|
342
|
+
return _instanceof(x, HTMLElement) ? x : void 0;
|
|
191
343
|
}
|
|
192
344
|
var getBoundingClientRectAsync = function (node) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
io.observe(node);
|
|
345
|
+
return new Promise(function (res) {
|
|
346
|
+
if (!node || node.nodeType !== 1) return res(false);
|
|
347
|
+
var io = new IntersectionObserver(function (entries) {
|
|
348
|
+
io.disconnect();
|
|
349
|
+
return res(entries[0].boundingClientRect);
|
|
350
|
+
}, {
|
|
351
|
+
threshold: 0
|
|
201
352
|
});
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
353
|
+
io.observe(node);
|
|
354
|
+
});
|
|
355
|
+
};
|
|
356
|
+
var measureNode = async function (node, relativeTo) {
|
|
357
|
+
var relativeNode = relativeTo || (node === null || node === void 0 ? void 0 : node.parentElement);
|
|
358
|
+
if (_instanceof(relativeNode, HTMLElement)) {
|
|
359
|
+
var [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
|
|
360
|
+
if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);
|
|
361
|
+
}
|
|
362
|
+
return null;
|
|
363
|
+
};
|
|
364
|
+
var measure = async function (node, callback) {
|
|
365
|
+
var out = await measureNode(node, _instanceof(node.parentNode, HTMLElement) ? node.parentNode : null);
|
|
366
|
+
if (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
|
|
367
|
+
return out;
|
|
368
|
+
};
|
|
215
369
|
function createMeasure(node) {
|
|
216
370
|
return function (callback) {
|
|
217
371
|
return measure(node, callback);
|
|
218
372
|
};
|
|
219
373
|
}
|
|
220
374
|
var measureInWindow = async function (node, callback) {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
},
|
|
229
|
-
measureLayout = async function (node, relativeNode, callback) {
|
|
230
|
-
var out = await measureNode(node, relativeNode);
|
|
231
|
-
return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
|
|
375
|
+
var out = await measureNode(node, null);
|
|
376
|
+
if (out) callback === null || callback === void 0 || callback(out.pageX, out.pageY, out.width, out.height);
|
|
377
|
+
return out;
|
|
378
|
+
};
|
|
379
|
+
var createMeasureInWindow = function (node) {
|
|
380
|
+
return function (callback) {
|
|
381
|
+
return measureInWindow(node, callback);
|
|
232
382
|
};
|
|
383
|
+
};
|
|
384
|
+
var measureLayout = async function (node, relativeNode, callback) {
|
|
385
|
+
var out = await measureNode(node, relativeNode);
|
|
386
|
+
if (out) callback === null || callback === void 0 || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
|
|
387
|
+
return out;
|
|
388
|
+
};
|
|
233
389
|
function createMeasureLayout(node) {
|
|
234
390
|
return function (relativeTo, callback) {
|
|
235
391
|
return measureLayout(node, relativeTo, callback);
|
|
236
392
|
};
|
|
237
393
|
}
|
|
238
|
-
export { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, setOnLayoutStrategy, useElementLayout };
|
|
394
|
+
export { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };
|
|
239
395
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","useIsomorphicLayoutEffect","isEqualShallow","createContext","useContext","useId","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","LayoutMeasurementController","param","disable","children","id","Provider","value","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","LastChangeTime","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","BoundingRects","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","userSkipVal","process","env","TAMAGUI_LAYOUT_FRAME_SKIP","RUN_EVERY_X_FRAMES","layoutOnAnimationFrame","visibleNodes","didRun","res","io","disconnect","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","iterator","_step2","next","done","boundingClientRect","err","return","didObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","HTMLElement","disableKey","observe","push","setTimeout","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","now","a","b","height","top","width","x","y","pageX","pageY","useElementLayout","ref","_ref_current","ensureWebElement","current","host","_ref_current2","node2","add","delete","unobserve","getBoundingClientRectAsync"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","useIsomorphicLayoutEffect","createContext","useContext","useId","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","LayoutMeasurementController","param","disable","children","id","Provider","value","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","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","getElementLayoutEvent","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","registerLayoutNode","onChange","delete","PrevHostNode","useElementLayout","ref","_ref_current","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|