@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.
@@ -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
- var LayoutHandlers = /* @__PURE__ */ new WeakMap();
58
- var resizeObserver = null;
59
- typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver(function(entries) {
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
- measureLayout(target, null, function(x, y, width, height, left, top) {
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 cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relativeTo, callback) {
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 (!(!resizeObserver || !onLayout)) {
279
+ if (onLayout) {
141
280
  var node = ref.current;
142
- if (node)
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": "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",
5
- "names": ["useIsomorphicLayoutEffect", "getBoundingClientRect", "LayoutHandlers", "WeakMap", "resizeObserver", "window", "ResizeObserver", "entries", "target", "onLayout", "LayoutHandlers", "get", "measureLayout", "x", "y", "width", "height", "left", "top", "nativeEvent", "layout", "timeStamp", "Date", "now", "cache", "WeakMap", "node", "relativeTo", "callback", "relativeNode", "parentNode", "HTMLElement", "set", "Promise", "all", "getBoundingClientRectAsync", "then", "nodeDim", "relativeNodeDim", "getRelativeDimensions", "a", "b", "element", "resolve", "fallbackToSync", "getBoundingClientRect", "tm", "setTimeout", "observer", "IntersectionObserver", "ob", "clearTimeout", "disconnect", "boundingClientRect", "threshold", "observe", "useElementLayout", "ref", "useIsomorphicLayoutEffect", "current", "unobserve"]
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
  }