@tamagui/use-element-layout 1.130.7 → 1.130.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +39 -82
- package/dist/cjs/index.js +42 -55
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +53 -67
- package/dist/cjs/index.native.js.map +2 -2
- package/dist/esm/index.js +42 -55
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +32 -79
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +40 -81
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +91 -81
- package/types/index.d.ts +19 -7
- package/types/index.d.ts.map +13 -11
package/dist/cjs/index.cjs
CHANGED
|
@@ -20,12 +20,16 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
20
20
|
}), mod);
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
createMeasure: () => createMeasure,
|
|
24
|
+
createMeasureInWindow: () => createMeasureInWindow,
|
|
25
|
+
createMeasureLayout: () => createMeasureLayout,
|
|
23
26
|
enable: () => enable,
|
|
27
|
+
getBoundingClientRectAsync: () => getBoundingClientRectAsync,
|
|
24
28
|
getElementLayoutEvent: () => getElementLayoutEvent,
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
measure: () => measure,
|
|
30
|
+
measureInWindow: () => measureInWindow,
|
|
27
31
|
measureLayout: () => measureLayout,
|
|
28
|
-
|
|
32
|
+
measureNode: () => measureNode,
|
|
29
33
|
setOnLayoutStrategy: () => setOnLayoutStrategy,
|
|
30
34
|
useElementLayout: () => useElementLayout
|
|
31
35
|
});
|
|
@@ -49,7 +53,7 @@ const queuedUpdates = /* @__PURE__ */new Map();
|
|
|
49
53
|
function enable() {
|
|
50
54
|
avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear()));
|
|
51
55
|
}
|
|
52
|
-
function
|
|
56
|
+
function startGlobalObservers() {
|
|
53
57
|
!import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(entries => {
|
|
54
58
|
entries.forEach(entry => {
|
|
55
59
|
const node = entry.target;
|
|
@@ -100,7 +104,8 @@ if (import_constants.isClient) if (rAF) {
|
|
|
100
104
|
}
|
|
101
105
|
rAF(layoutOnAnimationFrame);
|
|
102
106
|
let frameCount = 0;
|
|
103
|
-
const
|
|
107
|
+
const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP,
|
|
108
|
+
RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
|
|
104
109
|
} else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
105
110
|
const getElementLayoutEvent = (nodeRect, parentRect) => ({
|
|
106
111
|
nativeEvent: {
|
|
@@ -109,60 +114,6 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
|
|
|
109
114
|
},
|
|
110
115
|
timeStamp: Date.now()
|
|
111
116
|
}),
|
|
112
|
-
measureLayout = (node, relativeTo, callback) => {
|
|
113
|
-
const relativeNode = relativeTo || node?.parentElement;
|
|
114
|
-
if (relativeNode instanceof HTMLElement) {
|
|
115
|
-
const nodeDim = node.getBoundingClientRect(),
|
|
116
|
-
relativeNodeDim = relativeNode.getBoundingClientRect();
|
|
117
|
-
if (relativeNodeDim && nodeDim) {
|
|
118
|
-
const {
|
|
119
|
-
x,
|
|
120
|
-
y,
|
|
121
|
-
width,
|
|
122
|
-
height,
|
|
123
|
-
left,
|
|
124
|
-
top
|
|
125
|
-
} = getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
126
|
-
callback(x, y, width, height, left, top);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
getElementLayoutEventAsync = async target => {
|
|
131
|
-
const layout = await measureLayoutAsync(target);
|
|
132
|
-
if (!layout) throw new Error("\u203C\uFE0F");
|
|
133
|
-
return {
|
|
134
|
-
nativeEvent: {
|
|
135
|
-
layout,
|
|
136
|
-
target
|
|
137
|
-
},
|
|
138
|
-
timeStamp: Date.now()
|
|
139
|
-
};
|
|
140
|
-
},
|
|
141
|
-
measureLayoutAsync = async (node, relativeTo) => {
|
|
142
|
-
const relativeNode = relativeTo || node?.parentElement;
|
|
143
|
-
if (relativeNode instanceof HTMLElement) {
|
|
144
|
-
const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
|
|
145
|
-
if (relativeNodeDim && nodeDim) {
|
|
146
|
-
const {
|
|
147
|
-
x,
|
|
148
|
-
y,
|
|
149
|
-
width,
|
|
150
|
-
height,
|
|
151
|
-
left,
|
|
152
|
-
top
|
|
153
|
-
} = getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
154
|
-
return {
|
|
155
|
-
x,
|
|
156
|
-
y,
|
|
157
|
-
width,
|
|
158
|
-
height,
|
|
159
|
-
left,
|
|
160
|
-
top
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return null;
|
|
165
|
-
},
|
|
166
117
|
getRelativeDimensions = (a, b) => {
|
|
167
118
|
const {
|
|
168
119
|
height,
|
|
@@ -177,8 +128,8 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
|
|
|
177
128
|
y,
|
|
178
129
|
width,
|
|
179
130
|
height,
|
|
180
|
-
left,
|
|
181
|
-
top
|
|
131
|
+
pageX: a.left,
|
|
132
|
+
pageY: a.top
|
|
182
133
|
};
|
|
183
134
|
};
|
|
184
135
|
function useElementLayout(ref, onLayout) {
|
|
@@ -187,7 +138,7 @@ function useElementLayout(ref, onLayout) {
|
|
|
187
138
|
if (!onLayout) return;
|
|
188
139
|
const node2 = ref.current?.host;
|
|
189
140
|
if (!node2) return;
|
|
190
|
-
Nodes.add(node2),
|
|
141
|
+
Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
|
|
191
142
|
const parentNode = node2.parentNode;
|
|
192
143
|
return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), () => {
|
|
193
144
|
Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
|
|
@@ -204,24 +155,30 @@ const getBoundingClientRectAsync = node => new Promise(res => {
|
|
|
204
155
|
});
|
|
205
156
|
io.observe(node);
|
|
206
157
|
}),
|
|
207
|
-
|
|
208
|
-
|
|
158
|
+
measureNode = async (node, relativeTo) => {
|
|
159
|
+
const relativeNode = relativeTo || node?.parentElement;
|
|
160
|
+
if (relativeNode instanceof HTMLElement) {
|
|
161
|
+
const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
|
|
162
|
+
if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
163
|
+
}
|
|
164
|
+
return null;
|
|
209
165
|
},
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
166
|
+
measure = async (node, callback) => {
|
|
167
|
+
const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
|
|
168
|
+
return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
|
|
169
|
+
};
|
|
170
|
+
function createMeasure(node) {
|
|
171
|
+
return callback => measure(node, callback);
|
|
172
|
+
}
|
|
173
|
+
const measureInWindow = async (node, callback) => {
|
|
174
|
+
const out = await measureNode(node, null);
|
|
175
|
+
return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;
|
|
176
|
+
},
|
|
177
|
+
createMeasureInWindow = node => callback => measureInWindow(node, callback),
|
|
178
|
+
measureLayout = async (node, relativeNode, callback) => {
|
|
179
|
+
const out = await measureNode(node, relativeNode);
|
|
180
|
+
return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
|
|
181
|
+
};
|
|
182
|
+
function createMeasureLayout(node) {
|
|
183
|
+
return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
|
|
184
|
+
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,12 +14,16 @@ var __export = (target, all) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
15
|
var index_exports = {};
|
|
16
16
|
__export(index_exports, {
|
|
17
|
+
createMeasure: () => createMeasure,
|
|
18
|
+
createMeasureInWindow: () => createMeasureInWindow,
|
|
19
|
+
createMeasureLayout: () => createMeasureLayout,
|
|
17
20
|
enable: () => enable,
|
|
21
|
+
getBoundingClientRectAsync: () => getBoundingClientRectAsync,
|
|
18
22
|
getElementLayoutEvent: () => getElementLayoutEvent,
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
measure: () => measure,
|
|
24
|
+
measureInWindow: () => measureInWindow,
|
|
21
25
|
measureLayout: () => measureLayout,
|
|
22
|
-
|
|
26
|
+
measureNode: () => measureNode,
|
|
23
27
|
setOnLayoutStrategy: () => setOnLayoutStrategy,
|
|
24
28
|
useElementLayout: () => useElementLayout
|
|
25
29
|
});
|
|
@@ -36,7 +40,7 @@ const queuedUpdates = /* @__PURE__ */ new Map();
|
|
|
36
40
|
function enable() {
|
|
37
41
|
avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear()));
|
|
38
42
|
}
|
|
39
|
-
function
|
|
43
|
+
function startGlobalObservers() {
|
|
40
44
|
!import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(
|
|
41
45
|
(entries) => {
|
|
42
46
|
entries.forEach((entry) => {
|
|
@@ -94,7 +98,7 @@ if (import_constants.isClient)
|
|
|
94
98
|
}
|
|
95
99
|
rAF(layoutOnAnimationFrame);
|
|
96
100
|
let frameCount = 0;
|
|
97
|
-
const RUN_EVERY_X_FRAMES =
|
|
101
|
+
const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
|
|
98
102
|
} else
|
|
99
103
|
process.env.NODE_ENV === "development" && console.warn(
|
|
100
104
|
"No requestAnimationFrame - please polyfill for onLayout to work correctly"
|
|
@@ -105,48 +109,9 @@ const getElementLayoutEvent = (nodeRect, parentRect) => ({
|
|
|
105
109
|
target: nodeRect
|
|
106
110
|
},
|
|
107
111
|
timeStamp: Date.now()
|
|
108
|
-
}),
|
|
109
|
-
const relativeNode = relativeTo || node?.parentElement;
|
|
110
|
-
if (relativeNode instanceof HTMLElement) {
|
|
111
|
-
const nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
|
|
112
|
-
if (relativeNodeDim && nodeDim) {
|
|
113
|
-
const { x, y, width, height, left, top } = getRelativeDimensions(
|
|
114
|
-
nodeDim,
|
|
115
|
-
relativeNodeDim
|
|
116
|
-
);
|
|
117
|
-
callback(x, y, width, height, left, top);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}, getElementLayoutEventAsync = async (target) => {
|
|
121
|
-
const layout = await measureLayoutAsync(target);
|
|
122
|
-
if (!layout)
|
|
123
|
-
throw new Error("\u203C\uFE0F");
|
|
124
|
-
return {
|
|
125
|
-
nativeEvent: {
|
|
126
|
-
layout,
|
|
127
|
-
target
|
|
128
|
-
},
|
|
129
|
-
timeStamp: Date.now()
|
|
130
|
-
};
|
|
131
|
-
}, measureLayoutAsync = async (node, relativeTo) => {
|
|
132
|
-
const relativeNode = relativeTo || node?.parentElement;
|
|
133
|
-
if (relativeNode instanceof HTMLElement) {
|
|
134
|
-
const [nodeDim, relativeNodeDim] = await Promise.all([
|
|
135
|
-
getBoundingClientRectAsync(node),
|
|
136
|
-
getBoundingClientRectAsync(relativeNode)
|
|
137
|
-
]);
|
|
138
|
-
if (relativeNodeDim && nodeDim) {
|
|
139
|
-
const { x, y, width, height, left, top } = getRelativeDimensions(
|
|
140
|
-
nodeDim,
|
|
141
|
-
relativeNodeDim
|
|
142
|
-
);
|
|
143
|
-
return { x, y, width, height, left, top };
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return null;
|
|
147
|
-
}, getRelativeDimensions = (a, b) => {
|
|
112
|
+
}), getRelativeDimensions = (a, b) => {
|
|
148
113
|
const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
|
|
149
|
-
return { x, y, width, height, left, top };
|
|
114
|
+
return { x, y, width, height, pageX: a.left, pageY: a.top };
|
|
150
115
|
};
|
|
151
116
|
function useElementLayout(ref, onLayout) {
|
|
152
117
|
const node = ensureWebElement(ref.current?.host);
|
|
@@ -154,7 +119,7 @@ function useElementLayout(ref, onLayout) {
|
|
|
154
119
|
if (!onLayout) return;
|
|
155
120
|
const node2 = ref.current?.host;
|
|
156
121
|
if (!node2) return;
|
|
157
|
-
Nodes.add(node2),
|
|
122
|
+
Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
|
|
158
123
|
const parentNode = node2.parentNode;
|
|
159
124
|
return parentNode && onLayout(
|
|
160
125
|
getElementLayoutEvent(
|
|
@@ -179,13 +144,35 @@ const getBoundingClientRectAsync = (node) => new Promise((res) => {
|
|
|
179
144
|
}
|
|
180
145
|
);
|
|
181
146
|
io.observe(node);
|
|
182
|
-
}),
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
147
|
+
}), measureNode = async (node, relativeTo) => {
|
|
148
|
+
const relativeNode = relativeTo || node?.parentElement;
|
|
149
|
+
if (relativeNode instanceof HTMLElement) {
|
|
150
|
+
const [nodeDim, relativeNodeDim] = await Promise.all([
|
|
151
|
+
getBoundingClientRectAsync(node),
|
|
152
|
+
getBoundingClientRectAsync(relativeNode)
|
|
153
|
+
]);
|
|
154
|
+
if (relativeNodeDim && nodeDim)
|
|
155
|
+
return getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}, measure = async (node, callback) => {
|
|
159
|
+
const out = await measureNode(
|
|
160
|
+
node,
|
|
161
|
+
node.parentNode instanceof HTMLElement ? node.parentNode : null
|
|
162
|
+
);
|
|
163
|
+
return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
|
|
190
164
|
};
|
|
165
|
+
function createMeasure(node) {
|
|
166
|
+
return (callback) => measure(node, callback);
|
|
167
|
+
}
|
|
168
|
+
const measureInWindow = async (node, callback) => {
|
|
169
|
+
const out = await measureNode(node, null);
|
|
170
|
+
return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;
|
|
171
|
+
}, createMeasureInWindow = (node) => (callback) => measureInWindow(node, callback), measureLayout = async (node, relativeNode, callback) => {
|
|
172
|
+
const out = await measureNode(node, relativeNode);
|
|
173
|
+
return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
|
|
174
|
+
};
|
|
175
|
+
function createMeasureLayout(node) {
|
|
176
|
+
return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
|
|
177
|
+
}
|
|
191
178
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAoD,+BACpD,0BAA+B;AAG/B,MAAM,iBAAiB,oBAAI,QAA+B,GACpD,QAAQ,oBAAI,IAAiB,GAC7B,oBAAoB,oBAAI,QAA8B;AAG5D,IAAI,6BAA0D,MAQ1D,WAAsC;AAEnC,SAAS,oBAAoB,OAAwC;AAC1E,aAAW;AACb;AAmBA,MAAM,gBAAgB,oBAAI,QAA8B,GAClD,kBAAkB,oBAAI,QAA8B,GACpD,iBAAiB,oBAAI,QAA6B,GAElD,MAAM,OAAO,SAAW,MAAc,OAAO,wBAAwB;AAG3E,IAAI,eAAe;AACnB,MAAM,gBAAgB,oBAAI,IAA2B;AAE9C,SAAS,SAAe;AAC7B,EAAI,iBACF,eAAe,IACX,kBACF,cAAc,QAAQ,CAAC,OAAO,GAAG,CAAC,GAClC,cAAc,MAAM;AAG1B;AAEA,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["node"]
|
|
6
6
|
}
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -15,12 +15,16 @@ var __export = (target, all) => {
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
16
|
var index_exports = {};
|
|
17
17
|
__export(index_exports, {
|
|
18
|
+
createMeasure: () => createMeasure,
|
|
19
|
+
createMeasureInWindow: () => createMeasureInWindow,
|
|
20
|
+
createMeasureLayout: () => createMeasureLayout,
|
|
18
21
|
enable: () => enable,
|
|
22
|
+
getBoundingClientRectAsync: () => getBoundingClientRectAsync,
|
|
19
23
|
getElementLayoutEvent: () => getElementLayoutEvent,
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
measure: () => measure,
|
|
25
|
+
measureInWindow: () => measureInWindow,
|
|
22
26
|
measureLayout: () => measureLayout,
|
|
23
|
-
|
|
27
|
+
measureNode: () => measureNode,
|
|
24
28
|
setOnLayoutStrategy: () => setOnLayoutStrategy,
|
|
25
29
|
useElementLayout: () => useElementLayout
|
|
26
30
|
});
|
|
@@ -35,7 +39,7 @@ function enable() {
|
|
|
35
39
|
return cb();
|
|
36
40
|
}), queuedUpdates.clear()));
|
|
37
41
|
}
|
|
38
|
-
function
|
|
42
|
+
function startGlobalObservers() {
|
|
39
43
|
!import_constants.isClient || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(function(entries) {
|
|
40
44
|
entries.forEach(function(entry) {
|
|
41
45
|
var node = entry.target;
|
|
@@ -93,7 +97,7 @@ if (import_constants.isClient)
|
|
|
93
97
|
}
|
|
94
98
|
}
|
|
95
99
|
rAF(layoutOnAnimationFrame);
|
|
96
|
-
var frameCount = 0, RUN_EVERY_X_FRAMES =
|
|
100
|
+
var frameCount = 0, userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 10;
|
|
97
101
|
} else
|
|
98
102
|
process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
99
103
|
var getElementLayoutEvent = function(nodeRect, parentRect) {
|
|
@@ -104,46 +108,6 @@ var getElementLayoutEvent = function(nodeRect, parentRect) {
|
|
|
104
108
|
},
|
|
105
109
|
timeStamp: Date.now()
|
|
106
110
|
};
|
|
107
|
-
}, measureLayout = function(node, relativeTo, callback) {
|
|
108
|
-
var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
|
|
109
|
-
if (relativeNode instanceof HTMLElement) {
|
|
110
|
-
var nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
|
|
111
|
-
if (relativeNodeDim && nodeDim) {
|
|
112
|
-
var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
113
|
-
callback(x, y, width, height, left, top);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}, getElementLayoutEventAsync = async function(target) {
|
|
117
|
-
var layout = await measureLayoutAsync(target);
|
|
118
|
-
if (!layout)
|
|
119
|
-
throw new Error("\u203C\uFE0F");
|
|
120
|
-
return {
|
|
121
|
-
nativeEvent: {
|
|
122
|
-
layout,
|
|
123
|
-
target
|
|
124
|
-
},
|
|
125
|
-
timeStamp: Date.now()
|
|
126
|
-
};
|
|
127
|
-
}, measureLayoutAsync = async function(node, relativeTo) {
|
|
128
|
-
var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
|
|
129
|
-
if (relativeNode instanceof HTMLElement) {
|
|
130
|
-
var [nodeDim, relativeNodeDim] = await Promise.all([
|
|
131
|
-
getBoundingClientRectAsync(node),
|
|
132
|
-
getBoundingClientRectAsync(relativeNode)
|
|
133
|
-
]);
|
|
134
|
-
if (relativeNodeDim && nodeDim) {
|
|
135
|
-
var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
136
|
-
return {
|
|
137
|
-
x,
|
|
138
|
-
y,
|
|
139
|
-
width,
|
|
140
|
-
height,
|
|
141
|
-
left,
|
|
142
|
-
top
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return null;
|
|
147
111
|
}, getRelativeDimensions = function(a, b) {
|
|
148
112
|
var { height, left, top, width } = a, x = left - b.left, y = top - b.top;
|
|
149
113
|
return {
|
|
@@ -151,8 +115,8 @@ var getElementLayoutEvent = function(nodeRect, parentRect) {
|
|
|
151
115
|
y,
|
|
152
116
|
width,
|
|
153
117
|
height,
|
|
154
|
-
left,
|
|
155
|
-
top
|
|
118
|
+
pageX: a.left,
|
|
119
|
+
pageY: a.top
|
|
156
120
|
};
|
|
157
121
|
};
|
|
158
122
|
function useElementLayout(ref, onLayout) {
|
|
@@ -162,7 +126,7 @@ function useElementLayout(ref, onLayout) {
|
|
|
162
126
|
if (onLayout) {
|
|
163
127
|
var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
|
|
164
128
|
if (node2) {
|
|
165
|
-
Nodes.add(node2),
|
|
129
|
+
Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
|
|
166
130
|
var parentNode = node2.parentNode;
|
|
167
131
|
return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect())), function() {
|
|
168
132
|
Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
|
|
@@ -188,32 +152,54 @@ var getBoundingClientRectAsync = function(node) {
|
|
|
188
152
|
});
|
|
189
153
|
io.observe(node);
|
|
190
154
|
});
|
|
191
|
-
},
|
|
192
|
-
var
|
|
193
|
-
if (
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
x,
|
|
201
|
-
y,
|
|
202
|
-
width: node.offsetWidth,
|
|
203
|
-
height: node.offsetHeight,
|
|
204
|
-
top,
|
|
205
|
-
left
|
|
206
|
-
};
|
|
155
|
+
}, measureNode = async function(node, relativeTo) {
|
|
156
|
+
var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
|
|
157
|
+
if (relativeNode instanceof HTMLElement) {
|
|
158
|
+
var [nodeDim, relativeNodeDim] = await Promise.all([
|
|
159
|
+
getBoundingClientRectAsync(node),
|
|
160
|
+
getBoundingClientRectAsync(relativeNode)
|
|
161
|
+
]);
|
|
162
|
+
if (relativeNodeDim && nodeDim)
|
|
163
|
+
return getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
207
164
|
}
|
|
165
|
+
return null;
|
|
166
|
+
}, measure = async function(node, callback) {
|
|
167
|
+
var out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
|
|
168
|
+
return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
|
|
169
|
+
};
|
|
170
|
+
function createMeasure(node) {
|
|
171
|
+
return function(callback) {
|
|
172
|
+
return measure(node, callback);
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
var measureInWindow = async function(node, callback) {
|
|
176
|
+
var out = await measureNode(node, null);
|
|
177
|
+
return out && (callback == null || callback(out.pageX, out.pageY, out.width, out.height)), out;
|
|
178
|
+
}, createMeasureInWindow = function(node) {
|
|
179
|
+
return function(callback) {
|
|
180
|
+
return measureInWindow(node, callback);
|
|
181
|
+
};
|
|
182
|
+
}, measureLayout = async function(node, relativeNode, callback) {
|
|
183
|
+
var out = await measureNode(node, relativeNode);
|
|
184
|
+
return out && (callback == null || callback(out.x, out.y, out.width, out.height, out.pageX, out.pageY)), out;
|
|
208
185
|
};
|
|
186
|
+
function createMeasureLayout(node) {
|
|
187
|
+
return function(relativeTo, callback) {
|
|
188
|
+
return measureLayout(node, relativeTo, callback);
|
|
189
|
+
};
|
|
190
|
+
}
|
|
209
191
|
// Annotate the CommonJS export names for ESM import in node:
|
|
210
192
|
0 && (module.exports = {
|
|
193
|
+
createMeasure,
|
|
194
|
+
createMeasureInWindow,
|
|
195
|
+
createMeasureLayout,
|
|
211
196
|
enable,
|
|
197
|
+
getBoundingClientRectAsync,
|
|
212
198
|
getElementLayoutEvent,
|
|
213
|
-
|
|
214
|
-
|
|
199
|
+
measure,
|
|
200
|
+
measureInWindow,
|
|
215
201
|
measureLayout,
|
|
216
|
-
|
|
202
|
+
measureNode,
|
|
217
203
|
setOnLayoutStrategy,
|
|
218
204
|
useElementLayout
|
|
219
205
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA
|
|
5
|
-
"names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "IntersectionState", "globalIntersectionObserver", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;uBAAoD,+BACpD,0BAA+B,sCAGzBA,iBAAiB,oBAAIC,QAAAA,GACrBC,QAAQ,oBAAIC,IAAAA,GACZC,oBAAoB,oBAAIH,QAAAA,GAG1BI,6BAA0D,MAQ1DC,WAAsC;AAEnC,SAASC,oBAAoBC,OAAgC;AAClEF,aAAWE;AACb;AAmBA,IAAMC,gBAAgB,oBAAIR,QAAAA,GACpBS,kBAAkB,oBAAIT,QAAAA,GACtBU,iBAAiB,oBAAIV,QAAAA,GAErBW,MAAM,OAAOC,SAAW,MAAcA,OAAOC,wBAAwBC,QAGvEC,eAAe,IACbC,gBAAgB,oBAAIC,IAAAA;AAEnB,SAASC,SAAAA;AACd,EAAIH,iBACFA,eAAe,IACXC,kBACFA,cAAcG,QAAQ,SAACC,IAAAA;WAAOA,GAAAA;MAC9BJ,cAAcK,MAAK;AAGzB;AAEA,SAASC,uBAAAA;AACP,EAAI,CAACC,6BAAYnB,+BAEjBA,6BAA6B,IAAIoB,qBAC/B,SAACC,SAAAA;AACCA,YAAQN,QAAQ,SAACO,OAAAA;AACf,UAAMC,OAAOD,MAAME;AACnB,MAAIzB,kBAAkB0B,IAAIF,IAAAA,MAAUD,MAAMI,kBACxC3B,kBAAkB4B,IAAIJ,MAAMD,MAAMI,cAAc;IAEpD,CAAA;EACF,GACA;IACEE,WAAW;EACb,CAAA;AAEJ;AAEA,IAAIT;AACF,MAAIZ,KAAK;AA6EP,QAASsB,yBAAT,WAASA;AACP,UAAI5B,aAAa,OAAO;AACtB,YAAI6B,eAAeC,uBAAuB,GAAG;AAE3CxB,cAAKsB,sBAAAA;AACL;QACF;AAEA,QAAIC,eAAeE,OAAOC,qBACxBH,aAAa,IAGfjC,MAAMkB,QAAQ,SAACQ,MAAAA;AACbW,gCAAsBX,IAAAA;QACxB,CAAA;MACF;AAEAhB,UAAKsB,sBAAAA;IACP;AAlBSA,QAAAA,0BAAAA,wBA5EHM,0BAA0B,qBAAqBC,SAASC;AAE9D,mBAAeH,sBAAsBX,MAAiB;AACpD,UAAIxB,kBAAkB0B,IAAIF,IAAAA,MAAU,MAKhCe,UAAQC,IAAIC,sCAAsC,OAChDL,2BAA2B,CAAEZ,KAAakB,gBAAe,IAM/D;YAAMC,WAAW/C,eAAe8B,IAAIF,IAAAA;AACpC,YAAI,OAAOmB,YAAa,YAExB;cAAMC,aAAapB,KAAKqB;AACxB,cAAKD,YAEL;gBAAIE,UACAC;AAEJ,gBAAI7C,aAAa,SAAS;AACxB,kBAAM,CAAC8C,IAAIC,EAAAA,IAAM,MAAMC,QAAQC,IAAI;gBACjCC,2BAA2B5B,IAAAA;gBAC3B4B,2BAA2BR,UAAAA;eAC5B;AAED,kBAAII,OAAO,MAASC,OAAO;AACzB;AAGFH,yBAAWE,IACXD,aAAaE;YACf;AACEH,yBAAWtB,KAAK6B,sBAAqB,GACrCN,aAAaH,WAAWS,sBAAqB;AAG/C,gBAAMC,aAAajD,cAAcqB,IAAIF,IAAAA,GAC/B+B,mBAAmBlD,cAAcqB,IAAIkB,UAAAA;AAE3C,gBACE,CAACU;;YAGA,KAACE,wCAAeF,YAAYR,QAAAA;aAE1B,CAACS,oBAAoB,KAACC,wCAAeD,kBAAkBR,UAAAA,IAC1D;AACA1C,4BAAcuB,IAAIJ,MAAMsB,QAAAA,GACxBxC,gBAAgBsB,IAAIgB,YAAYG,UAAAA;AAEhC,kBAAMU,QAAQC,sBAAsBZ,UAAUC,UAAAA;AAE9C,cAAInC,eACFC,cAAce,IAAIJ,MAAM,WAAA;uBAAMmB,SAASc,KAAAA;mBAEvCd,SAASc,KAAAA;YAEb;;;;IACF;AAKAjD,QAAKsB,sBAAAA;AAGL,QAAIC,aAAa,GAEX4B,cAAcpB,QAAQC,IAAIoB,2BAC1B5B,qBAAqB2B,cAAc,CAACA,cAAc;EAqB1D;AACE,IAAIpB,QAAQC,IAAIqB,aAAa,iBAC3BC,QAAQC,KACN,2EAA2E;AAM5E,IAAML,wBAAwB,SACnCZ,UACAC,YAAAA;AAEA,SAAO;IACLiB,aAAa;MACXC,QAAQC,sBAAsBpB,UAAUC,UAAAA;MACxCtB,QAAQqB;IACV;IACAqB,WAAWC,KAAKC,IAAG;EACrB;AACF,GAEMH,wBAAwB,SAACI,GAAoBC,GAAAA;AACjD,MAAM,EAAEC,QAAQC,MAAMC,KAAKC,MAAK,IAAKL,GAC/BM,IAAIH,OAAOF,EAAEE,MACbI,IAAIH,MAAMH,EAAEG;AAClB,SAAO;IAAEE;IAAGC;IAAGF;IAAOH;IAAQM,OAAOR,EAAEG;IAAMM,OAAOT,EAAEI;EAAI;AAC5D;AAEO,SAASM,iBACdC,KACAtC,UAA4C;MAGdsC,cAAxBzD,OAAO0D,kBAAiBD,eAAAA,IAAIE,aAAO,QAAXF,iBAAAA,SAAAA,SAAAA,aAAaG,IAAI;AAC/C,EAAI5D,QAAQmB,YACV/C,eAAegC,IAAIJ,MAAMmB,QAAAA,OAG3B0C,4CAA0B,WAAA;QAEXJ;AADb,QAAKtC,UACL;UAAMnB,SAAOyD,gBAAAA,IAAIE,aAAO,QAAXF,kBAAAA,SAAAA,SAAAA,cAAaG;AAC1B,UAAK5D,OAEL1B;cAAMwF,IAAI9D,KAAAA,GAGVL,qBAAAA,GACIlB,+BACFA,2BAA2BsF,QAAQ/D,KAAAA,GAEnCxB,kBAAkB4B,IAAIJ,OAAM,EAAA;AAI9B,YAAMoB,aAAapB,MAAKoB;AACxB,eAAIA,cACFD,SACEe,sBACElC,MAAK6B,sBAAqB,GAC1BT,WAAWS,sBAAqB,CAAA,CAAA,GAK/B,WAAA;AACLvD,gBAAM0F,OAAOhE,KAAAA,GACb5B,eAAe4F,OAAOhE,KAAAA,GACtBnB,cAAcmF,OAAOhE,KAAAA,GACrBjB,eAAeiF,OAAOhE,KAAAA,GACtBxB,kBAAkBwF,OAAOhE,KAAAA,GAGrBvB,8BACFA,2BAA2BwF,UAAUjE,KAAAA;QAEzC;;;EACF,GAAG;IAACyD;IAAK,CAAC,CAACtC;GAAS;AACtB;AAEA,SAASuC,iBAAoBN,GAAI;AAC/B,MAAI,SAAOc,cAAgB;AAG3B,WAAOd,aAAac,cAAcd,IAAIjE;AACxC;AAEO,IAAMyC,6BAA6B,SACxC5B,MAAAA;AAEA,SAAO,IAAI0B,QAAiC,SAACyC,KAAAA;AAC3C,QAAI,CAACnE,QAAQA,KAAKoE,aAAa,EAAG,QAAOD,IAAI,EAAA;AAE7C,QAAME,KAAK,IAAIxE,qBACb,SAACC,SAAAA;AACCuE,gBAAGC,WAAU,GACNH,IAAIrE,QAAQ,CAAA,EAAGyE,kBAAkB;IAC1C,GACA;MACElE,WAAW;IACb,CAAA;AAEFgE,OAAGN,QAAQ/D,IAAAA;EACb,CAAA;AACF,GAEawE,cAAc,eACzBxE,MACAyE,YAAAA;AAEA,MAAMC,eAAeD,eAAczE,QAAAA,OAAAA,SAAAA,KAAMqB;AACzC,MAAIqD,wBAAwBR,aAAa;AACvC,QAAM,CAACS,SAASC,eAAAA,IAAmB,MAAMlD,QAAQC,IAAI;MACnDC,2BAA2B5B,IAAAA;MAC3B4B,2BAA2B8C,YAAAA;KAC5B;AACD,QAAIE,mBAAmBD;AACrB,aAAOjC,sBAAsBiC,SAASC,eAAAA;EAE1C;AACA,SAAO;AACT,GAaaC,UAAU,eACrB7E,MACA8E,UAAAA;AAEA,MAAMC,MAAM,MAAMP,YAChBxE,MACAA,KAAKoB,sBAAsB8C,cAAclE,KAAKoB,aAAa,IAAA;AAE7D,SAAI2D,QACFD,YAAAA,QAAAA,SAAWC,IAAI3B,GAAG2B,IAAI1B,GAAG0B,IAAI5B,OAAO4B,IAAI/B,QAAQ+B,IAAIzB,OAAOyB,IAAIxB,KAAK,IAE/DwB;AACT;AAEO,SAASC,cACdhF,MAAiB;AAEjB,SAAO,SAAC8E,UAAAA;WAAaD,QAAQ7E,MAAM8E,QAAAA;;AACrC;AAIO,IAAMG,kBAAkB,eAC7BjF,MACA8E,UAAAA;AAEA,MAAMC,MAAM,MAAMP,YAAYxE,MAAM,IAAA;AACpC,SAAI+E,QACFD,YAAAA,QAAAA,SAAWC,IAAIzB,OAAOyB,IAAIxB,OAAOwB,IAAI5B,OAAO4B,IAAI/B,MAAM,IAEjD+B;AACT,GAEaG,wBAAwB,SACnClF,MAAAA;AAEA,SAAO,SAAC8E,UAAAA;WAAaG,gBAAgBjF,MAAM8E,QAAAA;;AAC7C,GAEaK,gBAAgB,eAC3BnF,MACA0E,cACAI,UAAAA;AAEA,MAAMC,MAAM,MAAMP,YAAYxE,MAAM0E,YAAAA;AACpC,SAAIK,QACFD,YAAAA,QAAAA,SAAWC,IAAI3B,GAAG2B,IAAI1B,GAAG0B,IAAI5B,OAAO4B,IAAI/B,QAAQ+B,IAAIzB,OAAOyB,IAAIxB,KAAK,IAE/DwB;AACT;AAEO,SAASK,oBACdpF,MAAiB;AAEjB,SAAO,SAACyE,YAAYK,UAAAA;WAAaK,cAAcnF,MAAMyE,YAAYK,QAAAA;;AACnE;",
|
|
5
|
+
"names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "IntersectionState", "globalIntersectionObserver", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "startGlobalObservers", "isClient", "IntersectionObserver", "entries", "entry", "node", "target", "get", "isIntersecting", "set", "threshold", "layoutOnAnimationFrame", "frameCount", "RUN_EVERY_X_FRAMES", "Number", "MAX_SAFE_INTEGER", "updateLayoutIfChanged", "supportsCheckVisibility", "document", "body", "process", "env", "TAMAGUI_ONLAYOUT_VISIBILITY_CHECK", "checkVisibility", "onLayout", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "event", "getElementLayoutEvent", "userSkipVal", "TAMAGUI_LAYOUT_FRAME_SKIP", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "timeStamp", "Date", "now", "a", "b", "height", "left", "top", "width", "x", "y", "pageX", "pageY", "useElementLayout", "ref", "ensureWebElement", "current", "host", "useIsomorphicLayoutEffect", "add", "observe", "delete", "unobserve", "HTMLElement", "res", "nodeType", "io", "disconnect", "boundingClientRect", "measureNode", "relativeTo", "relativeNode", "nodeDim", "relativeNodeDim", "measure", "callback", "out", "createMeasure", "measureInWindow", "createMeasureInWindow", "measureLayout", "createMeasureLayout"]
|
|
6
6
|
}
|