@tamagui/core 2.7.3 → 2.7.5
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/.turbo/turbo-build.log +2 -2
- package/dist/native.cjs +13 -27
- package/dist/test.native.cjs +13 -26
- package/package.json +10 -10
package/.turbo/turbo-build.log
CHANGED
package/dist/native.cjs
CHANGED
|
@@ -879,16 +879,6 @@ function enable() {
|
|
|
879
879
|
}
|
|
880
880
|
}
|
|
881
881
|
}
|
|
882
|
-
function startGlobalObservers() {
|
|
883
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
884
|
-
globalIntersectionObserver = new IntersectionObserver(function(entries) {
|
|
885
|
-
for (var i = 0; i < entries.length; i++) {
|
|
886
|
-
var entry = entries[i];
|
|
887
|
-
var node = entry.target;
|
|
888
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
889
|
-
}
|
|
890
|
-
}, { threshold: 0 });
|
|
891
|
-
}
|
|
892
882
|
function rectsEqual(a, b) {
|
|
893
883
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
894
884
|
}
|
|
@@ -912,11 +902,6 @@ function observeLayoutNode(node, disableKey) {
|
|
|
912
902
|
Nodes.add(node);
|
|
913
903
|
if (disableKey) LayoutDisableKey.set(node, disableKey);
|
|
914
904
|
else LayoutDisableKey.delete(node);
|
|
915
|
-
startGlobalObservers();
|
|
916
|
-
if (globalIntersectionObserver) {
|
|
917
|
-
globalIntersectionObserver.observe(node);
|
|
918
|
-
IntersectionState.set(node, true);
|
|
919
|
-
}
|
|
920
905
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
921
906
|
}
|
|
922
907
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -931,8 +916,6 @@ function cleanupNode(node) {
|
|
|
931
916
|
LayoutHandlers.delete(node);
|
|
932
917
|
LayoutDisableKey.delete(node);
|
|
933
918
|
NodeRectCache.delete(node);
|
|
934
|
-
IntersectionState.delete(node);
|
|
935
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
936
919
|
}
|
|
937
920
|
function emitLayoutSync(node) {
|
|
938
921
|
var onLayout = LayoutHandlers.get(node);
|
|
@@ -995,14 +978,13 @@ function createMeasureLayout(node) {
|
|
|
995
978
|
return measureLayout$1(node, relativeTo, callback);
|
|
996
979
|
};
|
|
997
980
|
}
|
|
998
|
-
var LayoutHandlers, LayoutDisableKey, Nodes,
|
|
981
|
+
var LayoutHandlers, LayoutDisableKey, Nodes, usePretransformDimensions, DisableLayoutContextValues, DisableLayoutContextKey, ENABLE, LayoutMeasurementController, strategy, resumeLayoutLoop, measureOnNextFrame, NodeRectCache, avoidUpdates, queuedUpdates, BoundingRects, rectFetchObserver, rectFetchResolve, rectFetchStartTime, lastCallbackDelay, rAF, userSkipVal, BASE_SKIP_FRAMES, MAX_SKIP_FRAMES, skipFrames, frameCount, frameScheduled, getElementLayoutEvent, getPreTransformDimensions, getRelativeDimensions, PrevHostNode, getBoundingClientRectAsync, measureNode, measure, measureInWindow, createMeasureInWindow, measureLayout$1;
|
|
999
982
|
var init_index_native$11 = __esmMin((() => {
|
|
1000
983
|
init_index_native$7();
|
|
1001
984
|
init_asyncToGenerator();
|
|
1002
985
|
LayoutHandlers = /* @__PURE__ */ new WeakMap();
|
|
1003
986
|
LayoutDisableKey = /* @__PURE__ */ new WeakMap();
|
|
1004
987
|
Nodes = /* @__PURE__ */ new Set();
|
|
1005
|
-
IntersectionState = /* @__PURE__ */ new WeakMap();
|
|
1006
988
|
usePretransformDimensions = function() {
|
|
1007
989
|
return globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
1008
990
|
};
|
|
@@ -1013,14 +995,15 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1013
995
|
var { disable, children } = param;
|
|
1014
996
|
var id = (0, react.useId)();
|
|
1015
997
|
useIsomorphicLayoutEffect(function() {
|
|
998
|
+
var wasDisabled = DisableLayoutContextValues[id] === true;
|
|
1016
999
|
DisableLayoutContextValues[id] = disable;
|
|
1000
|
+
if (wasDisabled && !disable) measureOnNextFrame === null || measureOnNextFrame === void 0 || measureOnNextFrame();
|
|
1017
1001
|
}, [disable, id]);
|
|
1018
1002
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DisableLayoutContextKey.Provider, {
|
|
1019
1003
|
value: id,
|
|
1020
1004
|
children
|
|
1021
1005
|
});
|
|
1022
1006
|
};
|
|
1023
|
-
globalIntersectionObserver = null;
|
|
1024
1007
|
strategy = "async";
|
|
1025
1008
|
NodeRectCache = /* @__PURE__ */ new WeakMap();
|
|
1026
1009
|
avoidUpdates = true;
|
|
@@ -1088,7 +1071,7 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1088
1071
|
}
|
|
1089
1072
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
1090
1073
|
if (strategy !== "off") {
|
|
1091
|
-
var
|
|
1074
|
+
var activeNodes = [];
|
|
1092
1075
|
var parentsToObserve = /* @__PURE__ */ new Set();
|
|
1093
1076
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1094
1077
|
try {
|
|
@@ -1101,8 +1084,7 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1101
1084
|
}
|
|
1102
1085
|
var disableKey = LayoutDisableKey.get(node);
|
|
1103
1086
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
1104
|
-
|
|
1105
|
-
visibleNodes.push(node);
|
|
1087
|
+
activeNodes.push(node);
|
|
1106
1088
|
parentsToObserve.add(parentElement);
|
|
1107
1089
|
}
|
|
1108
1090
|
} catch (err) {
|
|
@@ -1115,10 +1097,10 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1115
1097
|
if (_didIteratorError) throw _iteratorError;
|
|
1116
1098
|
}
|
|
1117
1099
|
}
|
|
1118
|
-
if (
|
|
1100
|
+
if (activeNodes.length > 0) {
|
|
1119
1101
|
var io = ensureRectFetchObserver2();
|
|
1120
1102
|
rectFetchStartTime = performance.now();
|
|
1121
|
-
for (var i = 0; i <
|
|
1103
|
+
for (var i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
1122
1104
|
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1123
1105
|
try {
|
|
1124
1106
|
for (var _iterator1 = parentsToObserve[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
@@ -1138,7 +1120,7 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1138
1120
|
yield new Promise(function(res) {
|
|
1139
1121
|
rectFetchResolve = res;
|
|
1140
1122
|
});
|
|
1141
|
-
for (var i1 = 0; i1 <
|
|
1123
|
+
for (var i1 = 0; i1 < activeNodes.length; i1++) io.unobserve(activeNodes[i1]);
|
|
1142
1124
|
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
1143
1125
|
try {
|
|
1144
1126
|
for (var _iterator2 = parentsToObserve[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
@@ -1157,7 +1139,7 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1157
1139
|
}
|
|
1158
1140
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);
|
|
1159
1141
|
else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
1160
|
-
for (var i2 = 0; i2 <
|
|
1142
|
+
for (var i2 = 0; i2 < activeNodes.length; i2++) updateLayoutIfChanged(activeNodes[i2]);
|
|
1161
1143
|
}
|
|
1162
1144
|
}
|
|
1163
1145
|
frameScheduled = false;
|
|
@@ -1166,6 +1148,10 @@ var init_index_native$11 = __esmMin((() => {
|
|
|
1166
1148
|
return _layoutOnAnimationFrame.apply(this, arguments);
|
|
1167
1149
|
}
|
|
1168
1150
|
resumeLayoutLoop = scheduleLayoutFrame2;
|
|
1151
|
+
measureOnNextFrame = function() {
|
|
1152
|
+
frameCount = 0;
|
|
1153
|
+
scheduleLayoutFrame2();
|
|
1154
|
+
};
|
|
1169
1155
|
document.addEventListener("visibilitychange", scheduleLayoutFrame2);
|
|
1170
1156
|
scheduleLayoutFrame2();
|
|
1171
1157
|
}
|
package/dist/test.native.cjs
CHANGED
|
@@ -7187,7 +7187,6 @@ function _instanceof(left, right) {
|
|
|
7187
7187
|
var LayoutHandlers = /* @__PURE__ */ new WeakMap();
|
|
7188
7188
|
var LayoutDisableKey = /* @__PURE__ */ new WeakMap();
|
|
7189
7189
|
var Nodes = /* @__PURE__ */ new Set();
|
|
7190
|
-
var IntersectionState = /* @__PURE__ */ new WeakMap();
|
|
7191
7190
|
var usePretransformDimensions = function() {
|
|
7192
7191
|
return globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
|
|
7193
7192
|
};
|
|
@@ -7198,16 +7197,18 @@ var LayoutMeasurementController = function(param) {
|
|
|
7198
7197
|
var { disable, children } = param;
|
|
7199
7198
|
var id = (0, react.useId)();
|
|
7200
7199
|
useIsomorphicLayoutEffect(function() {
|
|
7200
|
+
var wasDisabled = DisableLayoutContextValues[id] === true;
|
|
7201
7201
|
DisableLayoutContextValues[id] = disable;
|
|
7202
|
+
if (wasDisabled && !disable) measureOnNextFrame === null || measureOnNextFrame === void 0 || measureOnNextFrame();
|
|
7202
7203
|
}, [disable, id]);
|
|
7203
7204
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DisableLayoutContextKey.Provider, {
|
|
7204
7205
|
value: id,
|
|
7205
7206
|
children
|
|
7206
7207
|
});
|
|
7207
7208
|
};
|
|
7208
|
-
var globalIntersectionObserver = null;
|
|
7209
7209
|
var strategy = "async";
|
|
7210
7210
|
var resumeLayoutLoop;
|
|
7211
|
+
var measureOnNextFrame;
|
|
7211
7212
|
function setOnLayoutStrategy(state) {
|
|
7212
7213
|
strategy = state;
|
|
7213
7214
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
@@ -7226,16 +7227,6 @@ function enable() {
|
|
|
7226
7227
|
}
|
|
7227
7228
|
}
|
|
7228
7229
|
}
|
|
7229
|
-
function startGlobalObservers() {
|
|
7230
|
-
if (!ENABLE || globalIntersectionObserver) return;
|
|
7231
|
-
globalIntersectionObserver = new IntersectionObserver(function(entries) {
|
|
7232
|
-
for (var i = 0; i < entries.length; i++) {
|
|
7233
|
-
var entry = entries[i];
|
|
7234
|
-
var node = entry.target;
|
|
7235
|
-
if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
|
|
7236
|
-
}
|
|
7237
|
-
}, { threshold: 0 });
|
|
7238
|
-
}
|
|
7239
7230
|
function rectsEqual(a, b) {
|
|
7240
7231
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
7241
7232
|
}
|
|
@@ -7302,7 +7293,7 @@ if (ENABLE) {
|
|
|
7302
7293
|
}
|
|
7303
7294
|
if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
|
|
7304
7295
|
if (strategy !== "off") {
|
|
7305
|
-
var
|
|
7296
|
+
var activeNodes = [];
|
|
7306
7297
|
var parentsToObserve = /* @__PURE__ */ new Set();
|
|
7307
7298
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
7308
7299
|
try {
|
|
@@ -7315,8 +7306,7 @@ if (ENABLE) {
|
|
|
7315
7306
|
}
|
|
7316
7307
|
var disableKey = LayoutDisableKey.get(node);
|
|
7317
7308
|
if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
|
|
7318
|
-
|
|
7319
|
-
visibleNodes.push(node);
|
|
7309
|
+
activeNodes.push(node);
|
|
7320
7310
|
parentsToObserve.add(parentElement);
|
|
7321
7311
|
}
|
|
7322
7312
|
} catch (err) {
|
|
@@ -7329,10 +7319,10 @@ if (ENABLE) {
|
|
|
7329
7319
|
if (_didIteratorError) throw _iteratorError;
|
|
7330
7320
|
}
|
|
7331
7321
|
}
|
|
7332
|
-
if (
|
|
7322
|
+
if (activeNodes.length > 0) {
|
|
7333
7323
|
var io = ensureRectFetchObserver2();
|
|
7334
7324
|
rectFetchStartTime = performance.now();
|
|
7335
|
-
for (var i = 0; i <
|
|
7325
|
+
for (var i = 0; i < activeNodes.length; i++) io.observe(activeNodes[i]);
|
|
7336
7326
|
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
7337
7327
|
try {
|
|
7338
7328
|
for (var _iterator1 = parentsToObserve[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
@@ -7352,7 +7342,7 @@ if (ENABLE) {
|
|
|
7352
7342
|
yield new Promise(function(res) {
|
|
7353
7343
|
rectFetchResolve = res;
|
|
7354
7344
|
});
|
|
7355
|
-
for (var i1 = 0; i1 <
|
|
7345
|
+
for (var i1 = 0; i1 < activeNodes.length; i1++) io.unobserve(activeNodes[i1]);
|
|
7356
7346
|
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
7357
7347
|
try {
|
|
7358
7348
|
for (var _iterator2 = parentsToObserve[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
@@ -7371,7 +7361,7 @@ if (ENABLE) {
|
|
|
7371
7361
|
}
|
|
7372
7362
|
if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);
|
|
7373
7363
|
else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
|
|
7374
|
-
for (var i2 = 0; i2 <
|
|
7364
|
+
for (var i2 = 0; i2 < activeNodes.length; i2++) updateLayoutIfChanged(activeNodes[i2]);
|
|
7375
7365
|
}
|
|
7376
7366
|
}
|
|
7377
7367
|
frameScheduled = false;
|
|
@@ -7380,6 +7370,10 @@ if (ENABLE) {
|
|
|
7380
7370
|
return _layoutOnAnimationFrame.apply(this, arguments);
|
|
7381
7371
|
}
|
|
7382
7372
|
resumeLayoutLoop = scheduleLayoutFrame2;
|
|
7373
|
+
measureOnNextFrame = function() {
|
|
7374
|
+
frameCount = 0;
|
|
7375
|
+
scheduleLayoutFrame2();
|
|
7376
|
+
};
|
|
7383
7377
|
document.addEventListener("visibilitychange", scheduleLayoutFrame2);
|
|
7384
7378
|
scheduleLayoutFrame2();
|
|
7385
7379
|
}
|
|
@@ -7435,11 +7429,6 @@ function observeLayoutNode(node, disableKey) {
|
|
|
7435
7429
|
Nodes.add(node);
|
|
7436
7430
|
if (disableKey) LayoutDisableKey.set(node, disableKey);
|
|
7437
7431
|
else LayoutDisableKey.delete(node);
|
|
7438
|
-
startGlobalObservers();
|
|
7439
|
-
if (globalIntersectionObserver) {
|
|
7440
|
-
globalIntersectionObserver.observe(node);
|
|
7441
|
-
IntersectionState.set(node, true);
|
|
7442
|
-
}
|
|
7443
7432
|
resumeLayoutLoop === null || resumeLayoutLoop === void 0 || resumeLayoutLoop();
|
|
7444
7433
|
}
|
|
7445
7434
|
function registerLayoutNode(node, onChange, disableKey) {
|
|
@@ -7454,8 +7443,6 @@ function cleanupNode(node) {
|
|
|
7454
7443
|
LayoutHandlers.delete(node);
|
|
7455
7444
|
LayoutDisableKey.delete(node);
|
|
7456
7445
|
NodeRectCache.delete(node);
|
|
7457
|
-
IntersectionState.delete(node);
|
|
7458
|
-
if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
|
|
7459
7446
|
}
|
|
7460
7447
|
//#endregion
|
|
7461
7448
|
//#region src/getBaseViews.native.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/core",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.5",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -79,17 +79,17 @@
|
|
|
79
79
|
"clean:build": "tamagui-build clean:build"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@tamagui/helpers": "2.7.
|
|
83
|
-
"@tamagui/react-native-media-driver": "2.7.
|
|
84
|
-
"@tamagui/react-native-use-pressable": "2.7.
|
|
85
|
-
"@tamagui/use-element-layout": "2.7.
|
|
86
|
-
"@tamagui/use-event": "2.7.
|
|
87
|
-
"@tamagui/web": "2.7.
|
|
82
|
+
"@tamagui/helpers": "2.7.5",
|
|
83
|
+
"@tamagui/react-native-media-driver": "2.7.5",
|
|
84
|
+
"@tamagui/react-native-use-pressable": "2.7.5",
|
|
85
|
+
"@tamagui/use-element-layout": "2.7.5",
|
|
86
|
+
"@tamagui/use-event": "2.7.5",
|
|
87
|
+
"@tamagui/web": "2.7.5"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@tamagui/build": "2.7.
|
|
91
|
-
"@tamagui/native-bundle": "2.7.
|
|
92
|
-
"@tamagui/react-native-web-lite": "2.7.
|
|
90
|
+
"@tamagui/build": "2.7.5",
|
|
91
|
+
"@tamagui/native-bundle": "2.7.5",
|
|
92
|
+
"@tamagui/react-native-web-lite": "2.7.5",
|
|
93
93
|
"@testing-library/react": "^16.1.0",
|
|
94
94
|
"csstype": "^3.0.10",
|
|
95
95
|
"react": ">=19",
|