@tamagui/core 1.126.13-1747874018127 → 1.126.14
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.cjs +6 -5
- package/dist/cjs/hooks/useElementLayout.js +24 -20
- package/dist/cjs/hooks/useElementLayout.js.map +1 -1
- package/dist/cjs/hooks/useElementLayout.native.js +26 -24
- package/dist/cjs/hooks/useElementLayout.native.js.map +2 -2
- package/dist/esm/hooks/useElementLayout.js +24 -20
- package/dist/esm/hooks/useElementLayout.js.map +1 -1
- package/dist/esm/hooks/useElementLayout.mjs +6 -5
- package/dist/esm/hooks/useElementLayout.mjs.map +1 -1
- package/dist/esm/hooks/useElementLayout.native.js +6 -5
- package/dist/esm/hooks/useElementLayout.native.js.map +1 -1
- package/dist/native.js +40 -26
- package/dist/native.js.map +2 -2
- package/dist/test.native.js +18 -6
- package/dist/test.native.js.map +2 -2
- package/package.json +7 -7
- package/src/hooks/useElementLayout.tsx +54 -44
- package/types/hooks/useElementLayout.d.ts.map +1 -1
|
@@ -30,8 +30,9 @@ var import_constants = require("@tamagui/constants"),
|
|
|
30
30
|
const LayoutHandlers = /* @__PURE__ */new WeakMap(),
|
|
31
31
|
Nodes = /* @__PURE__ */new Set(),
|
|
32
32
|
NodeRectCache = /* @__PURE__ */new WeakMap(),
|
|
33
|
-
ParentRectCache = /* @__PURE__ */new WeakMap()
|
|
34
|
-
|
|
33
|
+
ParentRectCache = /* @__PURE__ */new WeakMap(),
|
|
34
|
+
rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
35
|
+
if (import_constants.isClient) if (rAF) {
|
|
35
36
|
let updateLayoutIfChanged = function (node) {
|
|
36
37
|
const nodeRect = node.getBoundingClientRect(),
|
|
37
38
|
parentNode = node.parentElement,
|
|
@@ -49,14 +50,14 @@ if (import_constants.isClient && typeof requestAnimationFrame == "function") {
|
|
|
49
50
|
}
|
|
50
51
|
},
|
|
51
52
|
layoutOnAnimationFrame = function () {
|
|
52
|
-
Nodes.forEach(updateLayoutIfChanged),
|
|
53
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
53
54
|
},
|
|
54
55
|
avoidUpdates = !0;
|
|
55
56
|
const queuedUpdates = /* @__PURE__ */new Map();
|
|
56
57
|
(0, import_web.___onDidFinishClientRender)(() => {
|
|
57
58
|
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear());
|
|
58
|
-
}),
|
|
59
|
-
}
|
|
59
|
+
}), rAF(layoutOnAnimationFrame);
|
|
60
|
+
} else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
60
61
|
const getElementLayoutEvent = target => {
|
|
61
62
|
let res = null;
|
|
62
63
|
if (measureLayout(target, null, (x, y, width, height, left, top) => {
|
|
@@ -20,26 +20,30 @@ __export(useElementLayout_exports, {
|
|
|
20
20
|
});
|
|
21
21
|
module.exports = __toCommonJS(useElementLayout_exports);
|
|
22
22
|
var import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web");
|
|
23
|
-
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap();
|
|
24
|
-
if (import_constants.isClient
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
23
|
+
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
24
|
+
if (import_constants.isClient)
|
|
25
|
+
if (rAF) {
|
|
26
|
+
let updateLayoutIfChanged = function(node) {
|
|
27
|
+
const nodeRect = node.getBoundingClientRect(), parentNode = node.parentElement, parentRect = parentNode?.getBoundingClientRect(), onLayout = LayoutHandlers.get(node);
|
|
28
|
+
if (typeof onLayout != "function") return;
|
|
29
|
+
const cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
|
|
30
|
+
if (!cachedRect || // has changed one rect
|
|
31
|
+
!(0, import_web.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_web.isEqualShallow)(cachedParentRect, parentRect))) {
|
|
32
|
+
NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect);
|
|
33
|
+
const event = getElementLayoutEvent(node);
|
|
34
|
+
avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);
|
|
35
|
+
}
|
|
36
|
+
}, layoutOnAnimationFrame = function() {
|
|
37
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
38
|
+
}, avoidUpdates = !0;
|
|
39
|
+
const queuedUpdates = /* @__PURE__ */ new Map();
|
|
40
|
+
(0, import_web.___onDidFinishClientRender)(() => {
|
|
41
|
+
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear());
|
|
42
|
+
}), rAF(layoutOnAnimationFrame);
|
|
43
|
+
} else
|
|
44
|
+
process.env.NODE_ENV === "development" && console.warn(
|
|
45
|
+
"No requestAnimationFrame - please polyfill for onLayout to work correctly"
|
|
46
|
+
);
|
|
43
47
|
const getElementLayoutEvent = (target) => {
|
|
44
48
|
let res = null;
|
|
45
49
|
if (measureLayout(target, null, (x, y, width, height, left, top) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useElementLayout.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAoD,+BACpD,aAIO;AAGP,MAAM,iBAAiB,oBAAI,QAA+B,GACpD,QAAQ,oBAAI,IAAiB,GAmB7B,gBAAgB,oBAAI,QAA8B,GAClD,kBAAkB,oBAAI,QAA8B
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["node"]
|
|
6
6
|
}
|
|
@@ -20,31 +20,33 @@ __export(useElementLayout_exports, {
|
|
|
20
20
|
useElementLayout: () => useElementLayout
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(useElementLayout_exports);
|
|
23
|
-
var import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web"), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap();
|
|
24
|
-
if (import_constants.isClient
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
var import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web"), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
24
|
+
if (import_constants.isClient)
|
|
25
|
+
if (rAF) {
|
|
26
|
+
let updateLayoutIfChanged = function(node) {
|
|
27
|
+
var nodeRect = node.getBoundingClientRect(), parentNode = node.parentElement, parentRect = parentNode == null ? void 0 : parentNode.getBoundingClientRect(), onLayout = LayoutHandlers.get(node);
|
|
28
|
+
if (typeof onLayout == "function") {
|
|
29
|
+
var cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
|
|
30
|
+
if (!cachedRect || // has changed one rect
|
|
31
|
+
!(0, import_web.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_web.isEqualShallow)(cachedParentRect, parentRect))) {
|
|
32
|
+
NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect);
|
|
33
|
+
var event = getElementLayoutEvent(node);
|
|
34
|
+
avoidUpdates ? queuedUpdates.set(node, function() {
|
|
35
|
+
return onLayout(event);
|
|
36
|
+
}) : onLayout(event);
|
|
37
|
+
}
|
|
36
38
|
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}),
|
|
46
|
-
}
|
|
47
|
-
|
|
39
|
+
}, layoutOnAnimationFrame = function() {
|
|
40
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
41
|
+
};
|
|
42
|
+
var updateLayoutIfChanged2 = updateLayoutIfChanged, layoutOnAnimationFrame2 = layoutOnAnimationFrame, avoidUpdates = !0, queuedUpdates = /* @__PURE__ */ new Map();
|
|
43
|
+
(0, import_web.___onDidFinishClientRender)(function() {
|
|
44
|
+
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(function(cb) {
|
|
45
|
+
return cb();
|
|
46
|
+
}), queuedUpdates.clear());
|
|
47
|
+
}), rAF(layoutOnAnimationFrame);
|
|
48
|
+
} else
|
|
49
|
+
process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
48
50
|
var getElementLayoutEvent = function(target) {
|
|
49
51
|
var res = null;
|
|
50
52
|
if (measureLayout(target, null, function(x, y, width, height, left, top) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useElementLayout.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;uBAAoD,+BACpD,aAIO,yBAGDA,iBAAiB,oBAAIC,QAAAA,GACrBC,QAAQ,oBAAIC,IAAAA,GAmBZC,gBAAgB,oBAAIH,QAAAA,GACpBI,kBAAkB,oBAAIJ,QAAAA
|
|
5
|
-
"names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "NodeRectCache", "ParentRectCache", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "NodeRectCache", "ParentRectCache", "rAF", "window", "requestAnimationFrame", "undefined", "isClient", "updateLayoutIfChanged", "node", "nodeRect", "getBoundingClientRect", "parentNode", "parentElement", "parentRect", "onLayout", "get", "cachedRect", "cachedParentRect", "isEqualShallow", "set", "event", "getElementLayoutEvent", "avoidUpdates", "queuedUpdates", "layoutOnAnimationFrame", "forEach", "Map", "___onDidFinishClientRender", "cb", "clear", "process", "env", "NODE_ENV", "console", "warn", "target", "res", "measureLayout", "x", "y", "width", "height", "left", "top", "nativeEvent", "layout", "timeStamp", "Date", "now", "Error", "relativeTo", "callback", "relativeNode", "HTMLElement", "nodeDim", "relativeNodeDim", "getRelativeDimensions", "a", "b", "useElementLayout", "ref", "current", "host", "useIsomorphicLayoutEffect", "add", "delete"]
|
|
6
6
|
}
|
|
@@ -3,26 +3,30 @@ import {
|
|
|
3
3
|
isEqualShallow,
|
|
4
4
|
___onDidFinishClientRender
|
|
5
5
|
} from "@tamagui/web";
|
|
6
|
-
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap();
|
|
7
|
-
if (isClient
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
6
|
+
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
7
|
+
if (isClient)
|
|
8
|
+
if (rAF) {
|
|
9
|
+
let updateLayoutIfChanged = function(node) {
|
|
10
|
+
const nodeRect = node.getBoundingClientRect(), parentNode = node.parentElement, parentRect = parentNode?.getBoundingClientRect(), onLayout = LayoutHandlers.get(node);
|
|
11
|
+
if (typeof onLayout != "function") return;
|
|
12
|
+
const cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
|
|
13
|
+
if (!cachedRect || // has changed one rect
|
|
14
|
+
!isEqualShallow(cachedRect, nodeRect) && (!cachedParentRect || !isEqualShallow(cachedParentRect, parentRect))) {
|
|
15
|
+
NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect);
|
|
16
|
+
const event = getElementLayoutEvent(node);
|
|
17
|
+
avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);
|
|
18
|
+
}
|
|
19
|
+
}, layoutOnAnimationFrame = function() {
|
|
20
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
21
|
+
}, avoidUpdates = !0;
|
|
22
|
+
const queuedUpdates = /* @__PURE__ */ new Map();
|
|
23
|
+
___onDidFinishClientRender(() => {
|
|
24
|
+
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear());
|
|
25
|
+
}), rAF(layoutOnAnimationFrame);
|
|
26
|
+
} else
|
|
27
|
+
process.env.NODE_ENV === "development" && console.warn(
|
|
28
|
+
"No requestAnimationFrame - please polyfill for onLayout to work correctly"
|
|
29
|
+
);
|
|
26
30
|
const getElementLayoutEvent = (target) => {
|
|
27
31
|
let res = null;
|
|
28
32
|
if (measureLayout(target, null, (x, y, width, height, left, top) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useElementLayout.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAU,iCAAiC;AACpD;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AAGP,MAAM,iBAAiB,oBAAI,QAA+B,GACpD,QAAQ,oBAAI,IAAiB,GAmB7B,gBAAgB,oBAAI,QAA8B,GAClD,kBAAkB,oBAAI,QAA8B
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["node"]
|
|
6
6
|
}
|
|
@@ -3,8 +3,9 @@ import { isEqualShallow, ___onDidFinishClientRender } from "@tamagui/web";
|
|
|
3
3
|
const LayoutHandlers = /* @__PURE__ */new WeakMap(),
|
|
4
4
|
Nodes = /* @__PURE__ */new Set(),
|
|
5
5
|
NodeRectCache = /* @__PURE__ */new WeakMap(),
|
|
6
|
-
ParentRectCache = /* @__PURE__ */new WeakMap()
|
|
7
|
-
|
|
6
|
+
ParentRectCache = /* @__PURE__ */new WeakMap(),
|
|
7
|
+
rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
8
|
+
if (isClient) if (rAF) {
|
|
8
9
|
let updateLayoutIfChanged = function (node) {
|
|
9
10
|
const nodeRect = node.getBoundingClientRect(),
|
|
10
11
|
parentNode = node.parentElement,
|
|
@@ -22,14 +23,14 @@ if (isClient && typeof requestAnimationFrame == "function") {
|
|
|
22
23
|
}
|
|
23
24
|
},
|
|
24
25
|
layoutOnAnimationFrame = function () {
|
|
25
|
-
Nodes.forEach(updateLayoutIfChanged),
|
|
26
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
26
27
|
},
|
|
27
28
|
avoidUpdates = !0;
|
|
28
29
|
const queuedUpdates = /* @__PURE__ */new Map();
|
|
29
30
|
___onDidFinishClientRender(() => {
|
|
30
31
|
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear());
|
|
31
|
-
}),
|
|
32
|
-
}
|
|
32
|
+
}), rAF(layoutOnAnimationFrame);
|
|
33
|
+
} else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
33
34
|
const getElementLayoutEvent = target => {
|
|
34
35
|
let res = null;
|
|
35
36
|
if (measureLayout(target, null, (x, y, width, height, left, top) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","___onDidFinishClientRender","LayoutHandlers","WeakMap","Nodes","Set","NodeRectCache","ParentRectCache","requestAnimationFrame","updateLayoutIfChanged","node","nodeRect","getBoundingClientRect","parentNode","parentElement","parentRect","onLayout","get","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","avoidUpdates","queuedUpdates","layoutOnAnimationFrame","forEach","Map","cb","clear","target","res","measureLayout","x","y","width","height","left","top","nativeEvent","layout","timeStamp","Date","now","Error","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","getRelativeDimensions","a","b","useElementLayout","ref","current","host","node2","add","delete"],"sources":["../../../src/hooks/useElementLayout.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,yBAAA,QAAiC;AACpD,SACEC,cAAA,EAEAC,0BAAA,QACK;AAGP,MAAMC,cAAA,GAAiB,mBAAIC,OAAA,CAA+B;EACpDC,KAAA,GAAQ,mBAAIC,GAAA,CAAiB;EAmB7BC,aAAA,GAAgB,mBAAIH,OAAA,CAA8B;EAClDI,eAAA,GAAkB,mBAAIJ,OAAA,CAA8B;
|
|
1
|
+
{"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","___onDidFinishClientRender","LayoutHandlers","WeakMap","Nodes","Set","NodeRectCache","ParentRectCache","rAF","window","requestAnimationFrame","updateLayoutIfChanged","node","nodeRect","getBoundingClientRect","parentNode","parentElement","parentRect","onLayout","get","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","avoidUpdates","queuedUpdates","layoutOnAnimationFrame","forEach","Map","cb","clear","process","env","NODE_ENV","console","warn","target","res","measureLayout","x","y","width","height","left","top","nativeEvent","layout","timeStamp","Date","now","Error","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","getRelativeDimensions","a","b","useElementLayout","ref","current","host","node2","add","delete"],"sources":["../../../src/hooks/useElementLayout.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,8 +3,9 @@ import { isEqualShallow, ___onDidFinishClientRender } from "@tamagui/web";
|
|
|
3
3
|
var LayoutHandlers = /* @__PURE__ */new WeakMap(),
|
|
4
4
|
Nodes = /* @__PURE__ */new Set(),
|
|
5
5
|
NodeRectCache = /* @__PURE__ */new WeakMap(),
|
|
6
|
-
ParentRectCache = /* @__PURE__ */new WeakMap()
|
|
7
|
-
|
|
6
|
+
ParentRectCache = /* @__PURE__ */new WeakMap(),
|
|
7
|
+
rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
8
|
+
if (isClient) if (rAF) {
|
|
8
9
|
let updateLayoutIfChanged = function (node) {
|
|
9
10
|
var nodeRect = node.getBoundingClientRect(),
|
|
10
11
|
parentNode = node.parentElement,
|
|
@@ -25,7 +26,7 @@ if (isClient && typeof requestAnimationFrame == "function") {
|
|
|
25
26
|
}
|
|
26
27
|
},
|
|
27
28
|
layoutOnAnimationFrame = function () {
|
|
28
|
-
Nodes.forEach(updateLayoutIfChanged),
|
|
29
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
29
30
|
};
|
|
30
31
|
var updateLayoutIfChanged2 = updateLayoutIfChanged,
|
|
31
32
|
layoutOnAnimationFrame2 = layoutOnAnimationFrame,
|
|
@@ -35,8 +36,8 @@ if (isClient && typeof requestAnimationFrame == "function") {
|
|
|
35
36
|
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(function (cb) {
|
|
36
37
|
return cb();
|
|
37
38
|
}), queuedUpdates.clear());
|
|
38
|
-
}),
|
|
39
|
-
}
|
|
39
|
+
}), rAF(layoutOnAnimationFrame);
|
|
40
|
+
} else process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
40
41
|
var getElementLayoutEvent = function (target) {
|
|
41
42
|
var res = null;
|
|
42
43
|
if (measureLayout(target, null, function (x, y, width, height, left, top) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","___onDidFinishClientRender","LayoutHandlers","WeakMap","Nodes","Set","NodeRectCache","ParentRectCache","requestAnimationFrame","updateLayoutIfChanged","node","nodeRect","getBoundingClientRect","parentNode","parentElement","parentRect","onLayout","get","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","avoidUpdates","queuedUpdates","layoutOnAnimationFrame","forEach","updateLayoutIfChanged2","layoutOnAnimationFrame2","Map","cb","clear","target","res","measureLayout","x","y","width","height","left","top","nativeEvent","layout","timeStamp","Date","now","Error","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","getRelativeDimensions","a","b"],"sources":["../../../src/hooks/useElementLayout.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,yBAAA,QAAiC;AACpD,SAAAC,cAAA,EAAAC,0BAAA;AAAA,IACEC,cAAA,sBAAAC,OAAA;EAAAC,KAAA,sBAAAC,GAAA;EAAAC,aAAA,sBAAAH,OAAA;EAAAI,eAAA,sBAAAJ,OAAA;AAAA,
|
|
1
|
+
{"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","___onDidFinishClientRender","LayoutHandlers","WeakMap","Nodes","Set","NodeRectCache","ParentRectCache","rAF","window","requestAnimationFrame","updateLayoutIfChanged","node","nodeRect","getBoundingClientRect","parentNode","parentElement","parentRect","onLayout","get","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","avoidUpdates","queuedUpdates","layoutOnAnimationFrame","forEach","updateLayoutIfChanged2","layoutOnAnimationFrame2","Map","cb","clear","process","env","NODE_ENV","console","warn","target","res","measureLayout","x","y","width","height","left","top","nativeEvent","layout","timeStamp","Date","now","Error","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","getRelativeDimensions","a","b"],"sources":["../../../src/hooks/useElementLayout.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/native.js
CHANGED
|
@@ -10195,13 +10195,25 @@ var require_TamaguiProvider_native = __commonJS({
|
|
|
10195
10195
|
__export2(TamaguiProvider_exports, {
|
|
10196
10196
|
TamaguiProvider: function() {
|
|
10197
10197
|
return TamaguiProvider;
|
|
10198
|
+
},
|
|
10199
|
+
___onDidFinishClientRender: function() {
|
|
10200
|
+
return ___onDidFinishClientRender2;
|
|
10198
10201
|
}
|
|
10199
10202
|
});
|
|
10200
10203
|
module2.exports = __toCommonJS2(TamaguiProvider_exports);
|
|
10201
|
-
var import_jsx_runtime = require("react/jsx-runtime"), import_constants2 = require_index_native2(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), import_ThemeProvider = require_ThemeProvider_native(), import_useMedia = require_useMedia_native();
|
|
10204
|
+
var import_jsx_runtime = require("react/jsx-runtime"), import_constants2 = require_index_native2(), import_react3 = __toESM2(require("react")), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), import_ThemeProvider = require_ThemeProvider_native(), import_useMedia = require_useMedia_native(), listeners = /* @__PURE__ */ new Set(), didRender = !1;
|
|
10205
|
+
function ___onDidFinishClientRender2(cb) {
|
|
10206
|
+
didRender ? cb() : listeners.add(cb);
|
|
10207
|
+
}
|
|
10202
10208
|
function TamaguiProvider(param) {
|
|
10203
10209
|
var { children, disableInjectCSS, config, className, defaultTheme, disableRootThemeClass, reset, themeClassNameOnRoot } = param;
|
|
10204
|
-
return
|
|
10210
|
+
return (0, import_react3.useEffect)(function() {
|
|
10211
|
+
return listeners.forEach(function(cb) {
|
|
10212
|
+
return cb();
|
|
10213
|
+
}), didRender = !0, function() {
|
|
10214
|
+
didRender = !1;
|
|
10215
|
+
};
|
|
10216
|
+
}, []), process.env.TAMAGUI_REACT_19 || import_constants2.isClient && (0, import_constants2.useIsomorphicLayoutEffect)(function() {
|
|
10205
10217
|
if (config && !disableInjectCSS) {
|
|
10206
10218
|
var style = document.createElement("style");
|
|
10207
10219
|
return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), function() {
|
|
@@ -12305,30 +12317,32 @@ var getRect = function(node) {
|
|
|
12305
12317
|
};
|
|
12306
12318
|
|
|
12307
12319
|
// src/hooks/useElementLayout.tsx
|
|
12308
|
-
var import_constants = __toESM(require_index_native2()), import_web = __toESM(require_index_native8()), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap();
|
|
12309
|
-
if (import_constants.isClient
|
|
12310
|
-
|
|
12311
|
-
|
|
12312
|
-
|
|
12313
|
-
|
|
12314
|
-
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
|
|
12318
|
-
|
|
12319
|
-
|
|
12320
|
-
|
|
12321
|
-
|
|
12322
|
-
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12327
|
-
avoidUpdates = !
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12331
|
-
}
|
|
12320
|
+
var import_constants = __toESM(require_index_native2()), import_web = __toESM(require_index_native8()), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0;
|
|
12321
|
+
if (import_constants.isClient)
|
|
12322
|
+
if (rAF) {
|
|
12323
|
+
let updateLayoutIfChanged = function(node) {
|
|
12324
|
+
var nodeRect = node.getBoundingClientRect(), parentNode = node.parentElement, parentRect = parentNode == null ? void 0 : parentNode.getBoundingClientRect(), onLayout = LayoutHandlers.get(node);
|
|
12325
|
+
if (typeof onLayout == "function") {
|
|
12326
|
+
var cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
|
|
12327
|
+
if (!cachedRect || // has changed one rect
|
|
12328
|
+
!(0, import_web.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_web.isEqualShallow)(cachedParentRect, parentRect))) {
|
|
12329
|
+
NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect);
|
|
12330
|
+
var event = getElementLayoutEvent(node);
|
|
12331
|
+
avoidUpdates ? queuedUpdates.set(node, function() {
|
|
12332
|
+
return onLayout(event);
|
|
12333
|
+
}) : onLayout(event);
|
|
12334
|
+
}
|
|
12335
|
+
}
|
|
12336
|
+
}, layoutOnAnimationFrame = function() {
|
|
12337
|
+
Nodes.forEach(updateLayoutIfChanged), rAF(layoutOnAnimationFrame);
|
|
12338
|
+
};
|
|
12339
|
+
updateLayoutIfChanged2 = updateLayoutIfChanged, layoutOnAnimationFrame2 = layoutOnAnimationFrame, avoidUpdates = !0, queuedUpdates = /* @__PURE__ */ new Map(), (0, import_web.___onDidFinishClientRender)(function() {
|
|
12340
|
+
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(function(cb) {
|
|
12341
|
+
return cb();
|
|
12342
|
+
}), queuedUpdates.clear());
|
|
12343
|
+
}), rAF(layoutOnAnimationFrame);
|
|
12344
|
+
} else
|
|
12345
|
+
process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
12332
12346
|
var avoidUpdates, queuedUpdates, updateLayoutIfChanged2, layoutOnAnimationFrame2, getElementLayoutEvent = function(target) {
|
|
12333
12347
|
var res = null;
|
|
12334
12348
|
if (measureLayout(target, null, function(x, y, width, height, left, top) {
|