@tamagui/core 1.92.0 → 1.93.0
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/hooks/useElementLayout.js +39 -18
- package/dist/cjs/hooks/useElementLayout.js.map +1 -1
- package/dist/cjs/hooks/useElementLayout.native.js +177 -25
- package/dist/cjs/hooks/useElementLayout.native.js.map +2 -2
- package/dist/esm/hooks/useElementLayout.js +39 -18
- package/dist/esm/hooks/useElementLayout.js.map +1 -1
- package/dist/esm/hooks/useElementLayout.mjs +32 -11
- package/dist/esm/hooks/useElementLayout.native.js +176 -25
- package/dist/esm/hooks/useElementLayout.native.js.map +2 -2
- package/dist/native.js +192 -131
- package/dist/native.js.map +2 -2
- package/dist/test.native.js +182 -121
- package/dist/test.native.js.map +2 -2
- package/package.json +6 -6
- package/reset.css +1 -0
- package/src/hooks/useElementLayout.tsx +45 -12
- package/types/hooks/useElementLayout.d.ts +2 -1
- package/types/hooks/useElementLayout.d.ts.map +1 -1
|
@@ -10,6 +10,30 @@ function _array_with_holes(arr) {
|
|
|
10
10
|
if (Array.isArray(arr))
|
|
11
11
|
return arr;
|
|
12
12
|
}
|
|
13
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
14
|
+
try {
|
|
15
|
+
var info = gen[key](arg), value = info.value;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
reject(error);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
info.done ? resolve(value) : Promise.resolve(value).then(_next, _throw);
|
|
21
|
+
}
|
|
22
|
+
function _async_to_generator(fn) {
|
|
23
|
+
return function() {
|
|
24
|
+
var self = this, args = arguments;
|
|
25
|
+
return new Promise(function(resolve, reject) {
|
|
26
|
+
var gen = fn.apply(self, args);
|
|
27
|
+
function _next(value) {
|
|
28
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
29
|
+
}
|
|
30
|
+
function _throw(err) {
|
|
31
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
32
|
+
}
|
|
33
|
+
_next(void 0);
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
}
|
|
13
37
|
function _instanceof(left, right) {
|
|
14
38
|
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
15
39
|
}
|
|
@@ -54,9 +78,99 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
54
78
|
return _array_like_to_array(o, minLen);
|
|
55
79
|
}
|
|
56
80
|
}
|
|
57
|
-
|
|
58
|
-
var
|
|
59
|
-
|
|
81
|
+
function _ts_generator(thisArg, body) {
|
|
82
|
+
var f, y, t, g, _ = {
|
|
83
|
+
label: 0,
|
|
84
|
+
sent: function() {
|
|
85
|
+
if (t[0] & 1)
|
|
86
|
+
throw t[1];
|
|
87
|
+
return t[1];
|
|
88
|
+
},
|
|
89
|
+
trys: [],
|
|
90
|
+
ops: []
|
|
91
|
+
};
|
|
92
|
+
return g = {
|
|
93
|
+
next: verb(0),
|
|
94
|
+
throw: verb(1),
|
|
95
|
+
return: verb(2)
|
|
96
|
+
}, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
|
|
97
|
+
return this;
|
|
98
|
+
}), g;
|
|
99
|
+
function verb(n) {
|
|
100
|
+
return function(v) {
|
|
101
|
+
return step([
|
|
102
|
+
n,
|
|
103
|
+
v
|
|
104
|
+
]);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function step(op) {
|
|
108
|
+
if (f)
|
|
109
|
+
throw new TypeError("Generator is already executing.");
|
|
110
|
+
for (; _; )
|
|
111
|
+
try {
|
|
112
|
+
if (f = 1, y && (t = op[0] & 2 ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
113
|
+
return t;
|
|
114
|
+
switch (y = 0, t && (op = [
|
|
115
|
+
op[0] & 2,
|
|
116
|
+
t.value
|
|
117
|
+
]), op[0]) {
|
|
118
|
+
case 0:
|
|
119
|
+
case 1:
|
|
120
|
+
t = op;
|
|
121
|
+
break;
|
|
122
|
+
case 4:
|
|
123
|
+
return _.label++, {
|
|
124
|
+
value: op[1],
|
|
125
|
+
done: !1
|
|
126
|
+
};
|
|
127
|
+
case 5:
|
|
128
|
+
_.label++, y = op[1], op = [
|
|
129
|
+
0
|
|
130
|
+
];
|
|
131
|
+
continue;
|
|
132
|
+
case 7:
|
|
133
|
+
op = _.ops.pop(), _.trys.pop();
|
|
134
|
+
continue;
|
|
135
|
+
default:
|
|
136
|
+
if (t = _.trys, !(t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
137
|
+
_ = 0;
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
141
|
+
_.label = op[1];
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
145
|
+
_.label = t[1], t = op;
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
if (t && _.label < t[2]) {
|
|
149
|
+
_.label = t[2], _.ops.push(op);
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
t[2] && _.ops.pop(), _.trys.pop();
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
op = body.call(thisArg, _);
|
|
156
|
+
} catch (e) {
|
|
157
|
+
op = [
|
|
158
|
+
6,
|
|
159
|
+
e
|
|
160
|
+
], y = 0;
|
|
161
|
+
} finally {
|
|
162
|
+
f = t = 0;
|
|
163
|
+
}
|
|
164
|
+
if (op[0] & 5)
|
|
165
|
+
throw op[1];
|
|
166
|
+
return {
|
|
167
|
+
value: op[0] ? op[1] : void 0,
|
|
168
|
+
done: !0
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
var LayoutHandlers = /* @__PURE__ */ new WeakMap(), resizeListeners = /* @__PURE__ */ new Set(), resizeObserver = null;
|
|
173
|
+
if (typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver(function(entries) {
|
|
60
174
|
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
61
175
|
try {
|
|
62
176
|
for (var _loop = function() {
|
|
@@ -65,21 +179,8 @@ typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new Resiz
|
|
|
65
179
|
return {
|
|
66
180
|
v: void 0
|
|
67
181
|
};
|
|
68
|
-
|
|
69
|
-
onLayout(
|
|
70
|
-
nativeEvent: {
|
|
71
|
-
layout: {
|
|
72
|
-
x,
|
|
73
|
-
y,
|
|
74
|
-
width,
|
|
75
|
-
height,
|
|
76
|
-
left,
|
|
77
|
-
top
|
|
78
|
-
},
|
|
79
|
-
target
|
|
80
|
-
},
|
|
81
|
-
timeStamp: Date.now()
|
|
82
|
-
});
|
|
182
|
+
measureElement(target).then(function(event) {
|
|
183
|
+
onLayout(event);
|
|
83
184
|
});
|
|
84
185
|
}, _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
85
186
|
var _ret = _loop();
|
|
@@ -96,8 +197,46 @@ typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new Resiz
|
|
|
96
197
|
throw _iteratorError;
|
|
97
198
|
}
|
|
98
199
|
}
|
|
99
|
-
}))
|
|
100
|
-
var
|
|
200
|
+
}), typeof window.addEventListener == "function")) {
|
|
201
|
+
var tm;
|
|
202
|
+
window.addEventListener("resize", function() {
|
|
203
|
+
clearTimeout(tm), tm = setTimeout(function() {
|
|
204
|
+
resizeListeners.forEach(function(cb) {
|
|
205
|
+
return cb();
|
|
206
|
+
});
|
|
207
|
+
}, 4);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
var measureElement = function() {
|
|
211
|
+
var _ref = _async_to_generator(function(target) {
|
|
212
|
+
return _ts_generator(this, function(_state) {
|
|
213
|
+
return [
|
|
214
|
+
2,
|
|
215
|
+
new Promise(function(res) {
|
|
216
|
+
measureLayout(target, null, function(x, y, width, height, left, top) {
|
|
217
|
+
res({
|
|
218
|
+
nativeEvent: {
|
|
219
|
+
layout: {
|
|
220
|
+
x,
|
|
221
|
+
y,
|
|
222
|
+
width,
|
|
223
|
+
height,
|
|
224
|
+
left,
|
|
225
|
+
top
|
|
226
|
+
},
|
|
227
|
+
target
|
|
228
|
+
},
|
|
229
|
+
timeStamp: Date.now()
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
})
|
|
233
|
+
];
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
return function(target) {
|
|
237
|
+
return _ref.apply(this, arguments);
|
|
238
|
+
};
|
|
239
|
+
}(), cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relativeTo, callback) {
|
|
101
240
|
var relativeNode = relativeTo || (node == null ? void 0 : node.parentNode);
|
|
102
241
|
if (_instanceof(relativeNode, HTMLElement)) {
|
|
103
242
|
var now = Date.now();
|
|
@@ -137,19 +276,31 @@ var cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relati
|
|
|
137
276
|
};
|
|
138
277
|
function useElementLayout(ref, onLayout) {
|
|
139
278
|
useIsomorphicLayoutEffect(function() {
|
|
140
|
-
if (
|
|
279
|
+
if (onLayout) {
|
|
141
280
|
var node = ref.current;
|
|
142
|
-
|
|
143
|
-
return LayoutHandlers.set(node, onLayout), resizeObserver.observe(node), function() {
|
|
144
|
-
resizeObserver == null || resizeObserver.unobserve(node);
|
|
145
|
-
};
|
|
281
|
+
node && LayoutHandlers.set(node, onLayout);
|
|
146
282
|
}
|
|
147
283
|
}, [
|
|
148
284
|
ref,
|
|
149
285
|
onLayout
|
|
286
|
+
]), useIsomorphicLayoutEffect(function() {
|
|
287
|
+
if (resizeObserver) {
|
|
288
|
+
var node = ref.current;
|
|
289
|
+
if (node && LayoutHandlers.has(node)) {
|
|
290
|
+
var onResize = function() {
|
|
291
|
+
measureElement(node).then(onLayout);
|
|
292
|
+
};
|
|
293
|
+
return resizeListeners.add(onResize), resizeObserver.observe(node), function() {
|
|
294
|
+
resizeListeners.delete(onResize), resizeObserver == null || resizeObserver.unobserve(node);
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}, [
|
|
299
|
+
ref
|
|
150
300
|
]);
|
|
151
301
|
}
|
|
152
302
|
export {
|
|
303
|
+
measureElement,
|
|
153
304
|
measureLayout,
|
|
154
305
|
useElementLayout
|
|
155
306
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/Users/n8/tamagui/packages/core/src/hooks/useElementLayout.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAASA,iCAAiC;AAE1C,SAASC,6BAA6B
|
|
5
|
-
"names": ["useIsomorphicLayoutEffect", "getBoundingClientRect", "LayoutHandlers", "WeakMap", "resizeObserver", "window", "ResizeObserver", "entries", "target", "onLayout", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["useIsomorphicLayoutEffect", "getBoundingClientRect", "LayoutHandlers", "WeakMap", "resizeListeners", "Set", "resizeObserver", "window", "ResizeObserver", "entries", "target", "onLayout", "get", "measureElement", "then", "event", "addEventListener", "tm", "clearTimeout", "setTimeout", "forEach", "cb", "Promise", "res", "measureLayout", "x", "y", "width", "height", "left", "top", "nativeEvent", "layout", "timeStamp", "Date", "now", "cache", "node", "relativeTo", "callback", "relativeNode", "parentNode", "HTMLElement", "set", "all", "getBoundingClientRectAsync", "nodeDim", "relativeNodeDim", "getRelativeDimensions", "a", "b", "element", "resolve", "fallbackToSync", "observer", "IntersectionObserver", "ob", "disconnect", "boundingClientRect", "threshold", "observe", "useElementLayout", "ref", "current", "has", "onResize", "add", "delete", "unobserve"]
|
|
6
6
|
}
|