authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-08-28 19:19:19-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-08-28 19:19:19-07:00
log3e6ab36f6ed303f95f210971f56cc8642214c6fc
tree658eedb2697510d0ad0b732c30862408f22021d0
parent4669eab8e0e01d07141a2cb49ca21a9e15ae1429
signature Signed by PGP key B5690EEEBB952194

chore(mobile): upgrade to Expo SDK 57 (#8609)

Co-authored-by: Julius Marminge <julius@mac.lan>

11 files changed, 3334 insertions(+), 3912 deletions(-)

apps/mobile/package.json+41-36
...@@ -48,8 +48,8 @@...@@ -48,8 +48,8 @@
48 "@clerk/expo": "catalog:",48 "@clerk/expo": "catalog:",
49 "@effect/atom-react": "catalog:",49 "@effect/atom-react": "catalog:",
50 "@expo-google-fonts/dm-sans": "^0.4.2",50 "@expo-google-fonts/dm-sans": "^0.4.2",
51 "@expo/metro-runtime": "~56.0.15",51 "@expo/metro-runtime": "~57.0.14",
52 "@expo/ui": "~56.0.18",52 "@expo/ui": "~57.0.14",
53 "@legendapp/list": "catalog:",53 "@legendapp/list": "catalog:",
54 "@noble/curves": "catalog:",54 "@noble/curves": "catalog:",
55 "@noble/hashes": "catalog:",55 "@noble/hashes": "catalog:",
...@@ -72,52 +72,52 @@...@@ -72,52 +72,52 @@
72 "clsx": "^2.1.1",72 "clsx": "^2.1.1",
73 "diff": "8.0.3",73 "diff": "8.0.3",
74 "effect": "catalog:",74 "effect": "catalog:",
75 "expo": "~56.0.12",75 "expo": "~57.0.18",
76 "expo-asset": "~56.0.17",76 "expo-asset": "~57.0.15",
77 "expo-auth-session": "~56.0.14",77 "expo-auth-session": "~57.0.10",
78 "expo-blur": "~56.0.3",78 "expo-blur": "~57.0.2",
79 "expo-build-properties": "~56.0.19",79 "expo-build-properties": "~57.0.15",
80 "expo-camera": "~56.0.8",80 "expo-camera": "~57.0.4",
81 "expo-clipboard": "~56.0.4",81 "expo-clipboard": "~57.0.1",
82 "expo-constants": "~56.0.18",82 "expo-constants": "~57.0.16",
83 "expo-crypto": "~56.0.4",83 "expo-crypto": "~57.0.2",
84 "expo-dev-client": "~56.0.20",84 "expo-dev-client": "~57.0.16",
85 "expo-device": "~56.0.4",85 "expo-device": "~57.0.1",
86 "expo-file-system": "~56.0.8",86 "expo-file-system": "~57.0.6",
87 "expo-font": "~56.0.7",87 "expo-font": "~57.0.2",
88 "expo-glass-effect": "~56.0.4",88 "expo-glass-effect": "~57.0.1",
89 "expo-haptics": "~56.0.3",89 "expo-haptics": "~57.0.2",
90 "expo-image": "~56.0.11",90 "expo-image": "~57.0.3",
91 "expo-image-picker": "~56.0.18",91 "expo-image-picker": "~57.0.14",
92 "expo-linking": "~56.0.14",92 "expo-linking": "~57.0.8",
93 "expo-network": "~56.0.5",93 "expo-network": "~57.0.1",
94 "expo-notifications": "~56.0.18",94 "expo-notifications": "~57.0.15",
95 "expo-paste-input": "^0.1.15",95 "expo-paste-input": "^0.1.15",
96 "expo-quick-actions": "^6.0.2",96 "expo-quick-actions": "^6.0.2",
97 "expo-secure-store": "~56.0.4",97 "expo-secure-store": "~57.0.2",
98 "expo-sharing": "~56.0.18",98 "expo-sharing": "~57.0.16",
99 "expo-splash-screen": "~56.0.10",99 "expo-splash-screen": "~57.0.8",
100 "expo-sqlite": "~56.0.5",100 "expo-sqlite": "~57.0.2",
101 "expo-symbols": "~56.0.6",101 "expo-symbols": "~57.0.2",
102 "expo-updates": "~56.0.19",102 "expo-updates": "~57.0.19",
103 "expo-web-browser": "~56.0.5",103 "expo-web-browser": "~57.0.2",
104 "expo-widgets": "~56.0.19",104 "expo-widgets": "~57.0.15",
105 "punycode": "^2.3.1",105 "punycode": "^2.3.1",
106 "react": "19.2.3",106 "react": "19.2.3",
107 "react-dom": "19.2.3",107 "react-dom": "19.2.3",
108 "react-native": "0.85.3",108 "react-native": "0.86.3",
109 "react-native-gesture-handler": "~2.31.1",109 "react-native-gesture-handler": "~2.32.0",
110 "react-native-image-viewing": "^0.2.2",110 "react-native-image-viewing": "^0.2.2",
111 "react-native-keyboard-controller": "1.21.13",111 "react-native-keyboard-controller": "1.21.13",
112 "react-native-nitro-markdown": "^0.5.0",112 "react-native-nitro-markdown": "^0.5.0",
113 "react-native-nitro-modules": "0.35.9",113 "react-native-nitro-modules": "0.35.9",
114 "react-native-reanimated": "4.3.1",114 "react-native-reanimated": "4.5.1",
115 "react-native-safe-area-context": "~5.7.0",115 "react-native-safe-area-context": "~5.7.0",
116 "react-native-screens": "4.25.2",116 "react-native-screens": "~4.26.0",
117 "react-native-shiki-engine": "^0.3.12",117 "react-native-shiki-engine": "^0.3.12",
118 "react-native-svg": "15.15.4",118 "react-native-svg": "15.15.4",
119 "react-native-webview": "^13.16.1",119 "react-native-webview": "^13.16.1",
120 "react-native-worklets": "0.8.3",120 "react-native-worklets": "0.10.1",
121 "shiki": "4.2.0",121 "shiki": "4.2.0",
122 "tailwind-merge": "^3.5.0",122 "tailwind-merge": "^3.5.0",
123 "uniwind": "^1.6.2"123 "uniwind": "^1.6.2"
...@@ -126,7 +126,7 @@...@@ -126,7 +126,7 @@
126 "@effect/vitest": "catalog:",126 "@effect/vitest": "catalog:",
127 "@pierre/trees": "1.0.0-beta.4",127 "@pierre/trees": "1.0.0-beta.4",
128 "@types/react": "~19.2.0",128 "@types/react": "~19.2.0",
129 "babel-preset-expo": "~56.0.0",129 "babel-preset-expo": "~57.0.9",
130 "tailwindcss": "^4.0.0",130 "tailwindcss": "^4.0.0",
131 "typescript": "catalog:"131 "typescript": "catalog:"
132 },132 },
...@@ -134,6 +134,11 @@...@@ -134,6 +134,11 @@
134 "react-native-nitro-markdown": "file:deps/react-native-nitro-markdown-0.5.0.tgz"134 "react-native-nitro-markdown": "file:deps/react-native-nitro-markdown-0.5.0.tgz"
135 },135 },
136 "expo": {136 "expo": {
137 "install": {
138 "exclude": [
139 "react-native-keyboard-controller"
140 ]
141 },
137 "autolinking": {142 "autolinking": {
138 "buildFromSource": [143 "buildFromSource": [
139 "react-native-screens",144 "react-native-screens",
patches/@expo%2Fmetro-config@56.0.14.patch deleted-93
...@@ -1,93 +0,0 @@
1diff --git a/build/serializer/sourceMap.js b/build/serializer/sourceMap.js
2index 4cc9aa4..703dfe0 100644
3--- a/build/serializer/sourceMap.js
4+++ b/build/serializer/sourceMap.js
5@@ -20,6 +20,20 @@ function loadRemapping() {
6 }
7 return _remapping;
8 }
9+let _sourceMapCodec;
10+function loadSourceMapCodec() {
11+ if (!_sourceMapCodec) {
12+ _sourceMapCodec = require('@jridgewell/sourcemap-codec');
13+ }
14+ return _sourceMapCodec;
15+}
16+let _traceMapping;
17+function loadTraceMapping() {
18+ if (!_traceMapping) {
19+ _traceMapping = require('@jridgewell/trace-mapping');
20+ }
21+ return _traceMapping;
22+}
23 let _Generator;
24 function loadGenerator() {
25 if (!_Generator) {
26@@ -199,6 +213,58 @@ function patchMetroSourceMapStringForPackedMaps() {
27 stock.sourceMapString = sourceMapString;
28 stock.sourceMapStringNonBlocking = sourceMapStringNonBlocking;
29 }
30+// Hermes can emit mappings for Metro trailer/debug lines that have no
31+// corresponding Metro source-map line. @jridgewell/remapping assumes every
32+// referenced generated line exists, so strip those invalid bridge segments.
33+function getGeneratedLineCount(map) {
34+ const { TraceMap, decodedMappings } = loadTraceMapping();
35+ return decodedMappings(new TraceMap(map)).length;
36+}
37+function dropInvalidOriginalSegments(map, maxOriginalLine) {
38+ const { TraceMap, decodedMappings } = loadTraceMapping();
39+ const decoded = decodedMappings(new TraceMap(map));
40+ let didChange = false;
41+ const filtered = decoded.map((line) => {
42+ const filteredLine = line.filter((segment) => {
43+ if (segment.length < 4) {
44+ return true;
45+ }
46+ const sourceIndex = segment[1];
47+ const sourceLine = segment[2];
48+ const sourceColumn = segment[3];
49+ return (sourceIndex >= 0 &&
50+ sourceIndex < map.sources.length &&
51+ sourceLine >= 0 &&
52+ sourceLine < maxOriginalLine &&
53+ sourceColumn >= 0);
54+ });
55+ if (filteredLine.length !== line.length) {
56+ didChange = true;
57+ }
58+ return filteredLine;
59+ });
60+ if (!didChange) {
61+ return map;
62+ }
63+ return {
64+ ...map,
65+ mappings: loadSourceMapCodec().encode(filtered),
66+ };
67+}
68+function sanitizeSourceMapsForComposition(maps) {
69+ let sanitized = maps;
70+ for (let index = 1; index < maps.length; index++) {
71+ const maxOriginalLine = getGeneratedLineCount(sanitized[index - 1]);
72+ const next = dropInvalidOriginalSegments(sanitized[index], maxOriginalLine);
73+ if (next !== sanitized[index]) {
74+ if (sanitized === maps) {
75+ sanitized = maps.slice();
76+ }
77+ sanitized[index] = next;
78+ }
79+ }
80+ return sanitized;
81+}
82 // `maps[0]` is the original-most transform; `maps[maps.length - 1]` is
83 // the most recent. Built on `@jridgewell/remapping` instead of mozilla's
84 // `SourceMapConsumer`-based composer.
85@@ -226,7 +292,7 @@ function composeSourceMaps(maps) {
86 return { ...map, ignoreList: map.x_google_ignoreList };
87 });
88 // Metro convention is original-first; remapping is most-recent first.
89- const reversed = normalized.slice().reverse();
90+ const reversed = sanitizeSourceMapsForComposition(normalized).slice().reverse();
91 const composed = loadRemapping()(reversed, () => null);
92 // Re-emit as a plain object — remapping returns a `SourceMap` class
93 // instance, which doesn't round-trip JSON cleanly.
patches/@expo__metro-config@57.0.12.patch created+86
...@@ -0,0 +1,86 @@
1diff --git a/build/serializer/sourceMap.js b/build/serializer/sourceMap.js
2index 547e53377a7c560db8dfd983601606de15896e07..29a0c855088bceacb7ba00a627615539cbf37738 100644
3--- a/build/serializer/sourceMap.js
4+++ b/build/serializer/sourceMap.js
5@@ -27,6 +27,13 @@ function loadSourcemapCodec() {
6 }
7 return _sourcemapCodec;
8 }
9+let _traceMapping;
10+function loadTraceMapping() {
11+ if (!_traceMapping) {
12+ _traceMapping = require('@jridgewell/trace-mapping');
13+ }
14+ return _traceMapping;
15+}
16 let _Generator;
17 function loadGenerator() {
18 if (!_Generator) {
19@@ -224,6 +231,58 @@ function repairInvalidNegativeIndices(map) {
20 }
21 return changed ? { ...map, mappings: encode(decoded) } : map;
22 }
23+// Hermes can emit mappings for Metro trailer/debug lines that have no
24+// corresponding Metro source-map line. @jridgewell/remapping assumes every
25+// referenced generated line exists, so strip those invalid bridge segments.
26+function getGeneratedLineCount(map) {
27+ const { TraceMap, decodedMappings } = loadTraceMapping();
28+ return decodedMappings(new TraceMap(map)).length;
29+}
30+function dropInvalidOriginalSegments(map, maxOriginalLine) {
31+ const { TraceMap, decodedMappings } = loadTraceMapping();
32+ const decoded = decodedMappings(new TraceMap(map));
33+ let didChange = false;
34+ const filtered = decoded.map((line) => {
35+ const filteredLine = line.filter((segment) => {
36+ if (segment.length < 4) {
37+ return true;
38+ }
39+ const sourceIndex = segment[1];
40+ const sourceLine = segment[2];
41+ const sourceColumn = segment[3];
42+ return (sourceIndex >= 0 &&
43+ sourceIndex < map.sources.length &&
44+ sourceLine >= 0 &&
45+ sourceLine < maxOriginalLine &&
46+ sourceColumn >= 0);
47+ });
48+ if (filteredLine.length !== line.length) {
49+ didChange = true;
50+ }
51+ return filteredLine;
52+ });
53+ if (!didChange) {
54+ return map;
55+ }
56+ return {
57+ ...map,
58+ mappings: loadSourcemapCodec().encode(filtered),
59+ };
60+}
61+function sanitizeSourceMapsForComposition(maps) {
62+ let sanitized = maps;
63+ for (let index = 1; index < maps.length; index++) {
64+ const maxOriginalLine = getGeneratedLineCount(sanitized[index - 1]);
65+ const next = dropInvalidOriginalSegments(sanitized[index], maxOriginalLine);
66+ if (next !== sanitized[index]) {
67+ if (sanitized === maps) {
68+ sanitized = maps.slice();
69+ }
70+ sanitized[index] = next;
71+ }
72+ }
73+ return sanitized;
74+}
75 // `maps[0]` is the original-most transform; `maps[maps.length - 1]` is
76 // the most recent. Built on `@jridgewell/remapping` instead of mozilla's
77 // `SourceMapConsumer`-based composer.
78@@ -251,7 +310,7 @@ function composeSourceMaps(maps) {
79 return { ...map, ignoreList: map.x_google_ignoreList };
80 });
81 // Metro convention is original-first; remapping is most-recent first.
82- let input = normalized.slice().reverse();
83+ let input = sanitizeSourceMapsForComposition(normalized).slice().reverse();
84 const remap = loadRemapping();
85 let composed;
86 try {
patches/@react-native__gradle-plugin@0.85.3.patch deleted-13
...@@ -1,13 +0,0 @@
1diff --git a/settings.gradle.kts b/settings.gradle.kts
2index b3c46a3bf5eb21c0bb1c9435b5582aecbc57d57a..14f1e9c2063ef10ca3f2ecbb2336b8a4aacfcc9c 100644
3--- a/settings.gradle.kts
4+++ b/settings.gradle.kts
5@@ -13,7 +13,7 @@ pluginManagement {
6 }
7 }
8
9-plugins { id("org.gradle.toolchains.foojay-resolver-convention").version("0.5.0") }
10+plugins { id("org.gradle.toolchains.foojay-resolver-convention").version("1.0.0") }
11
12 include(
13 ":react-native-gradle-plugin",
patches/expo-modules-jsi@56.0.10.patch deleted-21
...@@ -1,21 +0,0 @@
1diff --git a/apple/Sources/ExpoModulesJSI/Runtime/JavaScriptRuntime.swift b/apple/Sources/ExpoModulesJSI/Runtime/JavaScriptRuntime.swift
2index a0e3e24d6070c5ec0a220af3cb56fe3373fe1968..d610cc38dd8dee363ea2f1822aea0c4a492cf825 100644
3--- a/apple/Sources/ExpoModulesJSI/Runtime/JavaScriptRuntime.swift
4+++ b/apple/Sources/ExpoModulesJSI/Runtime/JavaScriptRuntime.swift
5@@ -215,8 +215,15 @@ open class JavaScriptRuntime: Equatable, @unchecked Sendable {
6 .toOpaque()
7 // Pass a null setter to C++ when the Swift setter is nil so that JS assignment
8 // raises a `jsi::JSError` directly, without crossing the Swift boundary.
9+ if set == nil {
10+ let callbacks = expo.HostObjectCallbacks(
11+ context, getter, nil, propertyNamesGetter, deallocate)
12+ let hostObject = expo.HostObject.makeObject(pointee, consume callbacks)
13+
14+ return JavaScriptObject(self, hostObject)
15+ }
16 let callbacks = expo.HostObjectCallbacks(
17- context, getter, set == nil ? nil : setter, propertyNamesGetter, deallocate)
18+ context, getter, setter, propertyNamesGetter, deallocate)
19 let hostObject = expo.HostObject.makeObject(pointee, consume callbacks)
20
21 return JavaScriptObject(self, hostObject)
patches/react-native-gesture-handler@2.31.2.patch deleted-124
...@@ -1,124 +0,0 @@
1diff --git a/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js b/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js
2index 551ab92bf58db0b79d428dcd2f2df898ef686493..f1c355b8e40cd4f583ef3a501b044fb6770f4a24 100644
3--- a/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js
4+++ b/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js
5@@ -34,6 +34,7 @@ const Swipeable = props => {
6 enableTrackpadTwoFingerGesture = DEFAULT_ENABLE_TRACKING_TWO_FINGER_GESTURE,
7 dragOffsetFromLeftEdge = DEFAULT_DRAG_OFFSET,
8 dragOffsetFromRightEdge = DEFAULT_DRAG_OFFSET,
9+ failOffsetY,
10 friction = DEFAULT_FRICTION,
11 overshootFriction = DEFAULT_OVERSHOOT_FRICTION,
12 onSwipeableOpenStartDrag,
13@@ -285,11 +286,14 @@ const Swipeable = props => {
14 }).onFinalize(() => {
15 dragStarted.value = false;
16 });
17+ if (failOffsetY !== undefined) {
18+ pan.failOffsetY(failOffsetY);
19+ }
20 Object.entries(relationProps).forEach(([relationName, relation]) => {
21 (0, _utils.applyRelationProp)(pan, relationName, relation);
22 });
23 return pan;
24- }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
25+ }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, failOffsetY, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
26 (0, _react.useImperativeHandle)(ref, () => swipeableMethods, [swipeableMethods]);
27 const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
28 transform: [{
29diff --git a/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js b/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js
30index a2835d5416ffd5cf9a04e98774516b9e6569691e..b73c177227bf3a232737b0eb1c0e2bb830493c22 100644
31--- a/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js
32+++ b/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js
33@@ -29,6 +29,7 @@ const Swipeable = props => {
34 enableTrackpadTwoFingerGesture = DEFAULT_ENABLE_TRACKING_TWO_FINGER_GESTURE,
35 dragOffsetFromLeftEdge = DEFAULT_DRAG_OFFSET,
36 dragOffsetFromRightEdge = DEFAULT_DRAG_OFFSET,
37+ failOffsetY,
38 friction = DEFAULT_FRICTION,
39 overshootFriction = DEFAULT_OVERSHOOT_FRICTION,
40 onSwipeableOpenStartDrag,
41@@ -280,11 +281,14 @@ const Swipeable = props => {
42 }).onFinalize(() => {
43 dragStarted.value = false;
44 });
45+ if (failOffsetY !== undefined) {
46+ pan.failOffsetY(failOffsetY);
47+ }
48 Object.entries(relationProps).forEach(([relationName, relation]) => {
49 applyRelationProp(pan, relationName, relation);
50 });
51 return pan;
52- }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
53+ }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, failOffsetY, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
54 useImperativeHandle(ref, () => swipeableMethods, [swipeableMethods]);
55 const animatedStyle = useAnimatedStyle(() => ({
56 transform: [{
57diff --git a/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts b/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts
58index ac8b76830d468edfbc29052b452a36221323c3de..589e329d2aa706ddfff0d1037df0d85a050edbb0 100644
59--- a/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts
60+++ b/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts
61@@ -64,6 +64,13 @@ export interface SwipeableProps {
62 * a swipe. The default value is 10.
63 */
64 dragOffsetFromRightEdge?: number;
65+ /**
66+ * Range along the Y axis (in points) that, once exceeded before the swipe
67+ * activates, makes the pan fail. Lets vertically-dominant pans (list
68+ * scrolling, especially trackpad two-finger pans) skip the swipe entirely.
69+ * Passed straight to the underlying Pan gesture's `failOffsetY`.
70+ */
71+ failOffsetY?: number | [start: number, end: number];
72 /**
73 * Value indicating if the swipeable panel can be pulled further than the left
74 * actions panel's width. It is set to true by default as long as the left
75diff --git a/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx b/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx
76index b6134c908624adc590ebd264e90e558b88e235d5..41535348e937ad7762bd531d5b63ba6e092ea997 100644
77--- a/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx
78+++ b/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx
79@@ -58,6 +58,7 @@ const Swipeable = (props: SwipeableProps) => {
80 enableTrackpadTwoFingerGesture = DEFAULT_ENABLE_TRACKING_TWO_FINGER_GESTURE,
81 dragOffsetFromLeftEdge = DEFAULT_DRAG_OFFSET,
82 dragOffsetFromRightEdge = DEFAULT_DRAG_OFFSET,
83+ failOffsetY,
84 friction = DEFAULT_FRICTION,
85 overshootFriction = DEFAULT_OVERSHOOT_FRICTION,
86 onSwipeableOpenStartDrag,
87@@ -537,6 +538,10 @@ const Swipeable = (props: SwipeableProps) => {
88 dragStarted.value = false;
89 });
90
91+ if (failOffsetY !== undefined) {
92+ pan.failOffsetY(failOffsetY);
93+ }
94+
95 Object.entries(relationProps).forEach(([relationName, relation]) => {
96 applyRelationProp(
97 pan,
98@@ -552,6 +557,7 @@ const Swipeable = (props: SwipeableProps) => {
99 enableTrackpadTwoFingerGesture,
100 dragOffsetFromRightEdge,
101 dragOffsetFromLeftEdge,
102+ failOffsetY,
103 updateElementWidths,
104 relationProps,
105 userDrag,
106diff --git a/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts b/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts
107index 0c0e517e0d340faf50ff78c3d48e7a2bbcf808ec..d4b6ff508077728c8be83762923d866dc95b144c 100644
108--- a/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts
109+++ b/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts
110@@ -77,6 +77,14 @@ export interface SwipeableProps {
111 */
112 dragOffsetFromRightEdge?: number;
113
114+ /**
115+ * Range along the Y axis (in points) that, once exceeded before the swipe
116+ * activates, makes the pan fail. Lets vertically-dominant pans (list
117+ * scrolling, especially trackpad two-finger pans) skip the swipe entirely.
118+ * Passed straight to the underlying Pan gesture's `failOffsetY`.
119+ */
120+ failOffsetY?: number | [start: number, end: number];
121+
122 /**
123 * Value indicating if the swipeable panel can be pulled further than the left
124 * actions panel's width. It is set to true by default as long as the left
patches/react-native-gesture-handler@2.32.0.patch created+124
...@@ -0,0 +1,124 @@
1diff --git a/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js b/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js
2index 551ab92bf58db0b79d428dcd2f2df898ef686493..f1c355b8e40cd4f583ef3a501b044fb6770f4a24 100644
3--- a/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js
4+++ b/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js
5@@ -34,6 +34,7 @@ const Swipeable = props => {
6 enableTrackpadTwoFingerGesture = DEFAULT_ENABLE_TRACKING_TWO_FINGER_GESTURE,
7 dragOffsetFromLeftEdge = DEFAULT_DRAG_OFFSET,
8 dragOffsetFromRightEdge = DEFAULT_DRAG_OFFSET,
9+ failOffsetY,
10 friction = DEFAULT_FRICTION,
11 overshootFriction = DEFAULT_OVERSHOOT_FRICTION,
12 onSwipeableOpenStartDrag,
13@@ -285,11 +286,14 @@ const Swipeable = props => {
14 }).onFinalize(() => {
15 dragStarted.value = false;
16 });
17+ if (failOffsetY !== undefined) {
18+ pan.failOffsetY(failOffsetY);
19+ }
20 Object.entries(relationProps).forEach(([relationName, relation]) => {
21 (0, _utils.applyRelationProp)(pan, relationName, relation);
22 });
23 return pan;
24- }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
25+ }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, failOffsetY, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
26 (0, _react.useImperativeHandle)(ref, () => swipeableMethods, [swipeableMethods]);
27 const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
28 transform: [{
29diff --git a/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js b/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js
30index a2835d5416ffd5cf9a04e98774516b9e6569691e..b73c177227bf3a232737b0eb1c0e2bb830493c22 100644
31--- a/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js
32+++ b/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js
33@@ -29,6 +29,7 @@ const Swipeable = props => {
34 enableTrackpadTwoFingerGesture = DEFAULT_ENABLE_TRACKING_TWO_FINGER_GESTURE,
35 dragOffsetFromLeftEdge = DEFAULT_DRAG_OFFSET,
36 dragOffsetFromRightEdge = DEFAULT_DRAG_OFFSET,
37+ failOffsetY,
38 friction = DEFAULT_FRICTION,
39 overshootFriction = DEFAULT_OVERSHOOT_FRICTION,
40 onSwipeableOpenStartDrag,
41@@ -280,11 +281,14 @@ const Swipeable = props => {
42 }).onFinalize(() => {
43 dragStarted.value = false;
44 });
45+ if (failOffsetY !== undefined) {
46+ pan.failOffsetY(failOffsetY);
47+ }
48 Object.entries(relationProps).forEach(([relationName, relation]) => {
49 applyRelationProp(pan, relationName, relation);
50 });
51 return pan;
52- }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
53+ }, [enabled, hitSlop, enableTrackpadTwoFingerGesture, dragOffsetFromRightEdge, dragOffsetFromLeftEdge, failOffsetY, updateElementWidths, relationProps, userDrag, rowState, dragStarted, updateAnimatedEvent, onSwipeableOpenStartDrag, onSwipeableCloseStartDrag, handleRelease]);
54 useImperativeHandle(ref, () => swipeableMethods, [swipeableMethods]);
55 const animatedStyle = useAnimatedStyle(() => ({
56 transform: [{
57diff --git a/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts b/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts
58index ac8b76830d468edfbc29052b452a36221323c3de..589e329d2aa706ddfff0d1037df0d85a050edbb0 100644
59--- a/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts
60+++ b/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts
61@@ -64,6 +64,13 @@ export interface SwipeableProps {
62 * a swipe. The default value is 10.
63 */
64 dragOffsetFromRightEdge?: number;
65+ /**
66+ * Range along the Y axis (in points) that, once exceeded before the swipe
67+ * activates, makes the pan fail. Lets vertically-dominant pans (list
68+ * scrolling, especially trackpad two-finger pans) skip the swipe entirely.
69+ * Passed straight to the underlying Pan gesture's `failOffsetY`.
70+ */
71+ failOffsetY?: number | [start: number, end: number];
72 /**
73 * Value indicating if the swipeable panel can be pulled further than the left
74 * actions panel's width. It is set to true by default as long as the left
75diff --git a/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx b/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx
76index b6134c908624adc590ebd264e90e558b88e235d5..41535348e937ad7762bd531d5b63ba6e092ea997 100644
77--- a/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx
78+++ b/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx
79@@ -58,6 +58,7 @@ const Swipeable = (props: SwipeableProps) => {
80 enableTrackpadTwoFingerGesture = DEFAULT_ENABLE_TRACKING_TWO_FINGER_GESTURE,
81 dragOffsetFromLeftEdge = DEFAULT_DRAG_OFFSET,
82 dragOffsetFromRightEdge = DEFAULT_DRAG_OFFSET,
83+ failOffsetY,
84 friction = DEFAULT_FRICTION,
85 overshootFriction = DEFAULT_OVERSHOOT_FRICTION,
86 onSwipeableOpenStartDrag,
87@@ -537,6 +538,10 @@ const Swipeable = (props: SwipeableProps) => {
88 dragStarted.value = false;
89 });
90
91+ if (failOffsetY !== undefined) {
92+ pan.failOffsetY(failOffsetY);
93+ }
94+
95 Object.entries(relationProps).forEach(([relationName, relation]) => {
96 applyRelationProp(
97 pan,
98@@ -552,6 +557,7 @@ const Swipeable = (props: SwipeableProps) => {
99 enableTrackpadTwoFingerGesture,
100 dragOffsetFromRightEdge,
101 dragOffsetFromLeftEdge,
102+ failOffsetY,
103 updateElementWidths,
104 relationProps,
105 userDrag,
106diff --git a/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts b/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts
107index 0c0e517e0d340faf50ff78c3d48e7a2bbcf808ec..d4b6ff508077728c8be83762923d866dc95b144c 100644
108--- a/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts
109+++ b/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts
110@@ -77,6 +77,14 @@ export interface SwipeableProps {
111 */
112 dragOffsetFromRightEdge?: number;
113
114+ /**
115+ * Range along the Y axis (in points) that, once exceeded before the swipe
116+ * activates, makes the pan fail. Lets vertically-dominant pans (list
117+ * scrolling, especially trackpad two-finger pans) skip the swipe entirely.
118+ * Passed straight to the underlying Pan gesture's `failOffsetY`.
119+ */
120+ failOffsetY?: number | [start: number, end: number];
121+
122 /**
123 * Value indicating if the swipeable panel can be pulled further than the left
124 * actions panel's width. It is set to true by default as long as the left
patches/react-native-screens@4.25.2.patch deleted-1950
...@@ -1,1950 +0,0 @@
1diff --git a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt
2index 03d8d9f3a5c403c93282d53cbacf1a339e877e85..54d5eabc6c8a408e711a5be97286fdbb8ab1c461 100644
3--- a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt
4+++ b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt
5@@ -103,6 +103,34 @@ class ScreenStackHeaderConfigViewManager :
6 config.setTitle(title)
7 }
8
9+ // The t3 patch adds these iOS glass-chrome props to the native spec; they have
10+ // no Android implementation, but the codegen-generated interface requires the
11+ // setters to exist. No-ops keep the Android build compiling.
12+ override fun setSubtitle(
13+ config: ScreenStackHeaderConfig,
14+ subtitle: String?,
15+ ) = Unit
16+
17+ override fun setLargeSubtitle(
18+ config: ScreenStackHeaderConfig,
19+ largeSubtitle: String?,
20+ ) = Unit
21+
22+ override fun setNavigationItemStyle(
23+ config: ScreenStackHeaderConfig,
24+ navigationItemStyle: String?,
25+ ) = Unit
26+
27+ override fun setHeaderCenterBarButtonItems(
28+ config: ScreenStackHeaderConfig,
29+ headerCenterBarButtonItems: ReadableArray?,
30+ ) = Unit
31+
32+ override fun setHeaderToolbarItems(
33+ config: ScreenStackHeaderConfig,
34+ headerToolbarItems: ReadableArray?,
35+ ) = Unit
36+
37 override fun setTitleFontFamily(
38 config: ScreenStackHeaderConfig,
39 titleFontFamily: String?,
40diff --git a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt
41index 64f14f0c5ade16eb9519b8780d4ce013f88fbd3a..6cb1d69f97a95759c662a6006a9626925d9fefd9 100644
42--- a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt
43+++ b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt
44@@ -47,6 +47,12 @@ class ScreenStackHeaderSubviewManager :
45 Log.w("[RNScreens]", "hidesSharedBackground prop is not available on Android")
46 }
47
48+ // Bar button transition identifiers only apply on iOS.
49+ override fun setIdentifier(
50+ view: ScreenStackHeaderSubview,
51+ identifier: String?,
52+ ) = Unit
53+
54 // synchronousShadowStateUpdatesEnabled is not available on Android atm,
55 // however we must override their setters
56 override fun setSynchronousShadowStateUpdatesEnabled(
57diff --git a/ios/RNSBarButtonItem.h b/ios/RNSBarButtonItem.h
58index ea5325ea8d17b1ddfa790ff8dab48ce83142d4d3..acd2fd7ceb7162ed300abc4d3c9f0c24f4d63898 100644
59--- a/ios/RNSBarButtonItem.h
60+++ b/ios/RNSBarButtonItem.h
61@@ -13,4 +13,8 @@ typedef void (^RNSBarButtonMenuItemAction)(NSString *menuId);
62 menuAction:(RNSBarButtonMenuItemAction)menuAction
63 imageLoader:(RCTImageLoader *)imageLoader;
64
65++ (UIMenu *)initUIMenuWithDict:(NSDictionary<NSString *, id> *)dict
66+ menuAction:(RNSBarButtonMenuItemAction)menuAction
67+ imageLoader:(RCTImageLoader *)imageLoader;
68+
69 @end
70diff --git a/ios/RNSBarButtonItem.mm b/ios/RNSBarButtonItem.mm
71index 0eb1f09dee82edd99e3e614938233db5cdeaebfe..73298f10807520970f625e166d7f5dd1338206f1 100644
72--- a/ios/RNSBarButtonItem.mm
73+++ b/ios/RNSBarButtonItem.mm
74@@ -110,6 +110,58 @@ - (instancetype)initWithConfig:(NSDictionary<NSString *, id> *)dict
75 if (dict[@"accessibilityHint"]) {
76 self.accessibilityHint = dict[@"accessibilityHint"];
77 }
78+#if !TARGET_OS_TV && RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
79+ NSNumber *glassEffectNum = dict[@"glassEffect"];
80+ if (@available(iOS 26.0, *)) {
81+ if ([glassEffectNum boolValue]) {
82+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
83+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
84+ UIBackgroundConfiguration *background = configuration.background;
85+ background.strokeWidth = 0.0;
86+ background.strokeColor = UIColor.clearColor;
87+ configuration.background = background;
88+ configuration.contentInsets = NSDirectionalEdgeInsetsZero;
89+ if (title != nil) {
90+ configuration.title = title;
91+ }
92+
93+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
94+ button.translatesAutoresizingMaskIntoConstraints = NO;
95+ button.enabled = self.enabled;
96+ button.accessibilityLabel = self.accessibilityLabel;
97+ button.accessibilityHint = self.accessibilityHint;
98+
99+ CGFloat resolvedWidth = width != nil ? width.doubleValue : 56.0;
100+ [button.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
101+ [button.heightAnchor constraintEqualToConstant:50.0].active = YES;
102+
103+ [[self class] resolveImageFromConfig:dict
104+ imageLoader:imageLoader
105+ completionBlock:^(UIImage *img) {
106+ UIButtonConfiguration *updatedConfiguration = button.configuration;
107+ updatedConfiguration.image = img;
108+ button.configuration = updatedConfiguration;
109+ }];
110+
111+ NSDictionary *menu = dict[@"menu"];
112+ if (menu) {
113+ button.menu = [[self class] initUIMenuWithDict:menu menuAction:menuAction imageLoader:imageLoader];
114+ button.showsMenuAsPrimaryAction = YES;
115+ } else {
116+ NSString *buttonId = dict[@"buttonId"];
117+ if (buttonId && action) {
118+ UIAction *pressAction = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull sender) {
119+ action(buttonId);
120+ }];
121+ [button addAction:pressAction forControlEvents:UIControlEventTouchUpInside];
122+ }
123+ }
124+
125+ self.customView = button;
126+ return self;
127+ }
128+ }
129+#endif
130
131 #if !TARGET_OS_TV || __TV_OS_VERSION_MAX_ALLOWED >= 170000
132 if (@available(tvOS 17.0, *)) {
133diff --git a/ios/RNSScreenStackHeaderConfig.h b/ios/RNSScreenStackHeaderConfig.h
134index 919b984edc9f91ee9ac26faf257d8a721e26457c..5bb0cd6736ed6bc51db57e2a9326f758f22c51d8 100644
135--- a/ios/RNSScreenStackHeaderConfig.h
136+++ b/ios/RNSScreenStackHeaderConfig.h
137@@ -21,6 +21,8 @@
138 NS_ASSUME_NONNULL_BEGIN
139
140 @property (nonatomic, retain) NSString *title;
141+@property (nonatomic, retain) NSString *subtitle;
142+@property (nonatomic, retain) NSString *largeSubtitle;
143 @property (nonatomic, retain) NSString *titleFontFamily;
144 @property (nonatomic, retain) NSNumber *titleFontSize;
145 @property (nonatomic, retain) NSString *titleFontWeight;
146@@ -45,9 +47,12 @@ NS_ASSUME_NONNULL_BEGIN
147 @property (nonatomic) BOOL backButtonInCustomView;
148 @property (nonatomic) UISemanticContentAttribute direction;
149 @property (nonatomic) UINavigationItemBackButtonDisplayMode backButtonDisplayMode;
150+@property (nonatomic) NSInteger navigationItemStyle;
151 @property (nonatomic) RNSBlurEffectStyle blurEffect;
152 @property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerRightBarButtonItems;
153 @property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerLeftBarButtonItems;
154+@property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerCenterBarButtonItems;
155+@property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerToolbarItems;
156 @property (nonatomic, readwrite) BOOL synchronousShadowStateUpdatesEnabled;
157
158 NS_ASSUME_NONNULL_END
159diff --git a/ios/RNSScreenStackHeaderConfig.mm b/ios/RNSScreenStackHeaderConfig.mm
160index 5970e3e3a624b9498b8dedfc16831df03a274d0c..c23776376110b6eda77072b134da29428f4bcba3 100644
161--- a/ios/RNSScreenStackHeaderConfig.mm
162+++ b/ios/RNSScreenStackHeaderConfig.mm
163@@ -25,11 +25,46 @@
164 #import "RNSSearchBar.h"
165 #import "UINavigationBar+RNSUtility.h"
166
167+#import <objc/runtime.h>
168+
169 namespace react = facebook::react;
170
171 static const NSNumber *const DEFAULT_TITLE_FONT_SIZE = @17;
172+
173+#if !TARGET_OS_TV
174+// Each placement keeps its own cache so changes to one side do not move live
175+// items on the other side into new groups during a navigation transition.
176+static char RNSAppliedLeadingHeaderItemsKey;
177+static char RNSAppliedTrailingHeaderItemsKey;
178+static char RNSAppliedCenterHeaderItemsKey;
179+
180+// Records a placement's owner and contents, returning whether they changed.
181+static BOOL RNSUpdateHeaderItemsCache(UINavigationItem *navitem, const void *key, NSArray *itemsKey)
182+{
183+ if ([objc_getAssociatedObject(navitem, key) isEqual:itemsKey]) {
184+ return NO;
185+ }
186+ objc_setAssociatedObject(navitem, key, itemsKey, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
187+ return YES;
188+}
189+#endif
190+static char RNSAppliedToolbarConfigsKey;
191 static const NSNumber *const DEFAULT_TITLE_LARGE_FONT_SIZE = @34;
192
193+static NSInteger navigationItemStyleFromCppEquivalent(
194+ react::RNSScreenStackHeaderConfigNavigationItemStyle navigationItemStyle)
195+{
196+ switch (navigationItemStyle) {
197+ case react::RNSScreenStackHeaderConfigNavigationItemStyle::Browser:
198+ return UINavigationItemStyleBrowser;
199+ case react::RNSScreenStackHeaderConfigNavigationItemStyle::Editor:
200+ return UINavigationItemStyleEditor;
201+ case react::RNSScreenStackHeaderConfigNavigationItemStyle::Navigator:
202+ default:
203+ return UINavigationItemStyleNavigator;
204+ }
205+}
206+
207 @interface RCTImageLoader (Private)
208 - (id<RCTImageCache>)imageCache;
209 @end
210@@ -47,6 +82,9 @@ + (BOOL)rnscreens_isBlankOrNull:(NSString *)string
211 @end
212
213 @interface RNSScreenStackHeaderConfig () <RCTMountingTransactionObserving>
214+#if !TARGET_OS_TV
215+- (NSArray<UIBarButtonItemGroup *> *)barButtonItemGroupsFromItems:(NSArray<UIBarButtonItem *> *)items;
216+#endif
217 @end
218
219 @implementation RNSScreenStackHeaderConfig {
220@@ -81,6 +119,7 @@ - (void)initProps
221 self.hidden = YES;
222 _reactSubviews = [NSMutableArray new];
223 _backTitleVisible = YES;
224+ _navigationItemStyle = UINavigationItemStyleNavigator;
225 _blurEffect = RNSBlurEffectStyleNone;
226 }
227
228@@ -496,6 +535,10 @@ + (void)updateViewController:(UIViewController *)vc
229
230 if (shouldHide) {
231 navitem.title = config.title;
232+ if (@available(iOS 26.0, *)) {
233+ navitem.subtitle = config.subtitle;
234+ navitem.largeSubtitle = config.largeSubtitle;
235+ }
236
237 // Setting navigation bar visibility is split to mitigate iOS 26 bug with bar button items.
238 [navctr setNavigationBarHidden:YES animated:animated];
239@@ -512,11 +555,19 @@ + (void)updateViewController:(UIViewController *)vc
240 }
241 navitem.largeTitleDisplayMode =
242 config.largeTitle ? UINavigationItemLargeTitleDisplayModeAlways : UINavigationItemLargeTitleDisplayModeNever;
243+
244+ if (@available(iOS 16.0, *)) {
245+ navitem.style = (UINavigationItemStyle)config.navigationItemStyle;
246+ }
247 #endif
248
249 UINavigationBarAppearance *appearance = [self buildAppearance:vc withConfig:config];
250 navitem.standardAppearance = appearance;
251 navitem.compactAppearance = appearance;
252+ if (@available(iOS 26.0, *)) {
253+ navitem.subtitle = config.subtitle;
254+ navitem.largeSubtitle = config.largeSubtitle;
255+ }
256
257 // appearance does not apply to the tvOS so we need to use lagacy customization
258 #if TARGET_OS_TV
259@@ -548,8 +599,6 @@ + (void)updateViewController:(UIViewController *)vc
260 navitem.leftItemsSupplementBackButton = config.backButtonInCustomView;
261 #endif
262 navitem.titleView = nil;
263- navitem.leftBarButtonItems = nil;
264- navitem.rightBarButtonItems = nil;
265
266 #if !TARGET_OS_TV
267 // We want to set navitem.searchController to nil only if we are sure
268@@ -557,22 +606,18 @@ + (void)updateViewController:(UIViewController *)vc
269 bool searchBarPresent = false;
270 #endif /* !TARGET_OS_TV */
271
272+ NSMutableArray<UIBarButtonItem *> *subviewLeftItems = [NSMutableArray array];
273+ NSMutableArray<UIBarButtonItem *> *subviewRightItems = [NSMutableArray array];
274 for (RNSScreenStackHeaderSubview *subview in config.reactSubviews) {
275 // This code should be kept in sync on Fabric with analogous switch statement in
276 // `- [RNSScreenStackHeaderConfig replaceNavigationBarViewsWithSnapshotOfSubview:]` method.
277 switch (subview.type) {
278 case RNSScreenStackHeaderSubviewTypeLeft: {
279- NSArray<UIBarButtonItem *> *currentItems = navitem.leftBarButtonItems ?: @[];
280- NSMutableArray<UIBarButtonItem *> *mutableItems = [currentItems mutableCopy];
281- [mutableItems addObject:[subview getUIBarButtonItem]];
282- navitem.leftBarButtonItems = mutableItems;
283+ [subviewLeftItems addObject:[subview getUIBarButtonItem]];
284 break;
285 }
286 case RNSScreenStackHeaderSubviewTypeRight: {
287- NSArray<UIBarButtonItem *> *currentItems = navitem.rightBarButtonItems ?: @[];
288- NSMutableArray<UIBarButtonItem *> *mutableItems = [currentItems mutableCopy];
289- [mutableItems addObject:[subview getUIBarButtonItem]];
290- navitem.rightBarButtonItems = mutableItems;
291+ [subviewRightItems addObject:[subview getUIBarButtonItem]];
292 break;
293 }
294 case RNSScreenStackHeaderSubviewTypeCenter:
295@@ -637,10 +682,453 @@ + (void)updateViewController:(UIViewController *)vc
296 // This assignment should be done after `navitem.titleView = ...` assignment (iOS 16.0 bug).
297 // See: https://github.com/software-mansion/react-native-screens/issues/1570 (comments)
298 navitem.title = config.title;
299- navitem.leftBarButtonItems = [config barButtonItemsFromConfigs:config.headerLeftBarButtonItems
300- withCurrentItems:navitem.leftBarButtonItems];
301- navitem.rightBarButtonItems = [config barButtonItemsFromConfigs:config.headerRightBarButtonItems
302- withCurrentItems:navitem.rightBarButtonItems];
303+ // Retain the config in the key so its address cannot be reused while cached.
304+ // Items capture this config's event emitter in their press handlers, so a
305+ // remounted header-config view with value-equal configs must still rebuild
306+ // instead of dispatching presses into the old config's emitter.
307+ // getUIBarButtonItem is stable for the lifetime of its React header
308+ // subview. Include those native identities in the key so React-backed
309+ // items can use the same cache without reusing a group after its view was
310+ // replaced.
311+ // A bar button item can belong to only one group. Even if the item itself
312+ // is reused, constructing a new group removes it from the old group that
313+ // UIKit may still be animating. Preserve each unchanged placement's group,
314+ // including the empty leading group beside the system back button.
315+#if !TARGET_OS_TV
316+ if (@available(iOS 16.0, *)) {
317+ NSArray *headerLeftConfigs = config.headerLeftBarButtonItems ?: @[];
318+ NSArray *headerRightConfigs = config.headerRightBarButtonItems ?: @[];
319+ NSArray *headerCenterConfigs = config.headerCenterBarButtonItems ?: @[];
320+ if (RNSUpdateHeaderItemsCache(
321+ navitem, &RNSAppliedLeadingHeaderItemsKey, @[ config, headerLeftConfigs, subviewLeftItems ])) {
322+ NSArray *items = [config barButtonItemsFromConfigs:config.headerLeftBarButtonItems
323+ withCurrentItems:subviewLeftItems
324+ navigationItem:navitem];
325+ navitem.leadingItemGroups = [config barButtonItemGroupsFromItems:items];
326+ }
327+ if (RNSUpdateHeaderItemsCache(
328+ navitem, &RNSAppliedTrailingHeaderItemsKey, @[ config, headerRightConfigs, subviewRightItems ])) {
329+ NSArray *items = [config barButtonItemsFromConfigs:config.headerRightBarButtonItems
330+ withCurrentItems:subviewRightItems
331+ navigationItem:navitem];
332+ navitem.trailingItemGroups = [config barButtonItemGroupsFromItems:items];
333+ }
334+ if (@available(iOS 26.0, *)) {
335+ if (RNSUpdateHeaderItemsCache(navitem, &RNSAppliedCenterHeaderItemsKey, @[ config, headerCenterConfigs ])) {
336+ NSArray *items = [config barButtonItemsFromConfigs:config.headerCenterBarButtonItems
337+ withCurrentItems:@[]
338+ navigationItem:navitem];
339+ navitem.centerItemGroups = [config barButtonItemGroupsFromItems:items];
340+ }
341+ }
342+ } else
343+#endif
344+ {
345+ NSArray<UIBarButtonItem *> *leftBarButtonItems = [config barButtonItemsFromConfigs:config.headerLeftBarButtonItems
346+ withCurrentItems:subviewLeftItems
347+ navigationItem:navitem];
348+ NSArray<UIBarButtonItem *> *rightBarButtonItems = [config barButtonItemsFromConfigs:config.headerRightBarButtonItems
349+ withCurrentItems:subviewRightItems
350+ navigationItem:navitem];
351+ navitem.leftBarButtonItems = leftBarButtonItems;
352+ navitem.rightBarButtonItems = rightBarButtonItems;
353+ }
354+ NSDictionary<NSString *, id> *mailSearchToolbarConfig = nil;
355+ for (NSDictionary<NSString *, id> *toolbarConfig in config.headerToolbarItems) {
356+ if (toolbarConfig[@"mailSearchToolbar"]) {
357+ mailSearchToolbarConfig = toolbarConfig;
358+ break;
359+ }
360+ }
361+ if (mailSearchToolbarConfig == nil) {
362+ for (NSDictionary<NSString *, id> *rightConfig in config.headerRightBarButtonItems) {
363+ if ([rightConfig[@"bottomMailSearchToolbar"] boolValue]) {
364+ mailSearchToolbarConfig = rightConfig;
365+ break;
366+ }
367+ }
368+ }
369+
370+ static NSInteger const RNSMailSearchToolbarViewTag = 260628;
371+ UIView *chromeHostView = vc.view;
372+ UIView *existingMailSearchToolbar = [chromeHostView viewWithTag:RNSMailSearchToolbarViewTag];
373+ if (existingMailSearchToolbar == nil) {
374+ existingMailSearchToolbar = [vc.view viewWithTag:RNSMailSearchToolbarViewTag];
375+ }
376+ // Reuse the live toolbar when nothing it was built from changed: rebuilding
377+ // replaces the fallback UISearchTextField with a fresh empty one, dropping
378+ // the user's in-progress search text and first responder on every unrelated
379+ // header update. Keyed on the config instance (the button/search blocks
380+ // capture its event emitter), the toolbar config values, and the host width
381+ // (the width constraint constant is resolved from it at build time).
382+ static char RNSAppliedMailSearchToolbarConfigKey;
383+ NSArray *mailSearchToolbarKey = mailSearchToolbarConfig != nil
384+ ? @[ @((uintptr_t)config), mailSearchToolbarConfig, @(chromeHostView.bounds.size.width) ]
385+ : nil;
386+ BOOL reuseMailSearchToolbar = existingMailSearchToolbar != nil && mailSearchToolbarKey != nil &&
387+ [objc_getAssociatedObject(existingMailSearchToolbar, &RNSAppliedMailSearchToolbarConfigKey)
388+ isEqual:mailSearchToolbarKey];
389+ if (!reuseMailSearchToolbar) {
390+ [existingMailSearchToolbar removeFromSuperview];
391+ }
392+
393+ if (mailSearchToolbarConfig != nil && !reuseMailSearchToolbar) {
394+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
395+ if (@available(iOS 26.0, *)) {
396+ CGFloat horizontalInset = 18.0;
397+ NSNumber *width = mailSearchToolbarConfig[@"width"];
398+ CGFloat hostWidth = chromeHostView.bounds.size.width;
399+ if (hostWidth <= 0.0) {
400+ hostWidth = vc.view.bounds.size.width;
401+ }
402+ if (hostWidth <= 0.0) {
403+ hostWidth = [UIScreen mainScreen].bounds.size.width;
404+ }
405+ CGFloat fallbackWidth = MIN(560.0, MAX(300.0, hostWidth - (horizontalInset * 2.0)));
406+ CGFloat resolvedWidth = width != nil ? width.doubleValue : fallbackWidth;
407+ if (hostWidth > 0.0) {
408+ resolvedWidth = MIN(resolvedWidth, MAX(260.0, hostWidth - 12.0));
409+ }
410+
411+ CGFloat toolbarHeight = 48.0;
412+ CGFloat toolbarRadius = toolbarHeight / 2.0;
413+ CGFloat buttonSize = toolbarHeight;
414+ CGFloat sideButtonReserve = buttonSize + 8.0;
415+ CGFloat searchFieldHeight = 42.0;
416+ CGFloat toolbarBottomSpacing = 4.0;
417+ UIFont *searchFont = [UIFont preferredFontForTextStyle:UIFontTextStyleTitle3];
418+ NSDictionary<NSAttributedStringKey, id> *placeholderAttributes = @{
419+ NSForegroundColorAttributeName : UIColor.secondaryLabelColor,
420+ NSFontAttributeName : searchFont,
421+ };
422+ UIKeyboardLayoutGuide *keyboardLayoutGuide = chromeHostView.keyboardLayoutGuide;
423+
424+ UIView *toolbarHost = [[UIView alloc] init];
425+ toolbarHost.tag = RNSMailSearchToolbarViewTag;
426+ objc_setAssociatedObject(
427+ toolbarHost,
428+ &RNSAppliedMailSearchToolbarConfigKey,
429+ mailSearchToolbarKey,
430+ OBJC_ASSOCIATION_RETAIN_NONATOMIC);
431+ toolbarHost.translatesAutoresizingMaskIntoConstraints = NO;
432+ [chromeHostView addSubview:toolbarHost];
433+ // The screen stays mounted beneath pushed routes, so its keyboard layout
434+ // guide can track a keyboard owned by another screen. Keep the toolbar at
435+ // rest unless its own search field is editing.
436+ NSLayoutConstraint *keyboardAvoidConstraint =
437+ [toolbarHost.bottomAnchor constraintEqualToAnchor:keyboardLayoutGuide.topAnchor
438+ constant:-toolbarBottomSpacing];
439+ keyboardAvoidConstraint.priority = UILayoutPriorityDefaultLow;
440+ NSLayoutConstraint *restingBottomConstraint =
441+ [toolbarHost.bottomAnchor constraintEqualToAnchor:chromeHostView.safeAreaLayoutGuide.bottomAnchor
442+ constant:-toolbarBottomSpacing];
443+ restingBottomConstraint.priority = UILayoutPriorityDefaultHigh;
444+ [NSLayoutConstraint activateConstraints:@[
445+ [toolbarHost.centerXAnchor constraintEqualToAnchor:chromeHostView.centerXAnchor],
446+ [toolbarHost.bottomAnchor constraintLessThanOrEqualToAnchor:chromeHostView.safeAreaLayoutGuide.bottomAnchor
447+ constant:-toolbarBottomSpacing],
448+ keyboardAvoidConstraint,
449+ restingBottomConstraint,
450+ [toolbarHost.widthAnchor constraintEqualToConstant:resolvedWidth],
451+ [toolbarHost.heightAnchor constraintEqualToConstant:toolbarHeight],
452+ ]];
453+ [chromeHostView bringSubviewToFront:toolbarHost];
454+
455+ UIGlassEffect *glassEffect = [UIGlassEffect effectWithStyle:UIGlassEffectStyleRegular];
456+ glassEffect.interactive = YES;
457+ UIVisualEffectView *glassView = [[UIVisualEffectView alloc] initWithEffect:glassEffect];
458+ glassView.clipsToBounds = YES;
459+ glassView.layer.cornerRadius = toolbarRadius;
460+ glassView.translatesAutoresizingMaskIntoConstraints = NO;
461+ [toolbarHost addSubview:glassView];
462+ BOOL hasFilterButton =
463+ mailSearchToolbarConfig[@"filterButtonId"] != nil || mailSearchToolbarConfig[@"filterMenu"] != nil;
464+ BOOL hasComposeButton =
465+ mailSearchToolbarConfig[@"composeButtonId"] != nil || mailSearchToolbarConfig[@"composeMenu"] != nil;
466+ CGFloat glassLeadingInset = hasFilterButton ? sideButtonReserve : 0.0;
467+ CGFloat glassTrailingInset = hasComposeButton ? -sideButtonReserve : 0.0;
468+ NSLayoutConstraint *glassLeadingConstraint =
469+ [glassView.leadingAnchor constraintEqualToAnchor:toolbarHost.leadingAnchor constant:glassLeadingInset];
470+ NSLayoutConstraint *glassTrailingConstraint =
471+ [glassView.trailingAnchor constraintEqualToAnchor:toolbarHost.trailingAnchor constant:glassTrailingInset];
472+ [NSLayoutConstraint activateConstraints:@[
473+ glassLeadingConstraint,
474+ glassTrailingConstraint,
475+ [glassView.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
476+ [glassView.heightAnchor constraintEqualToConstant:toolbarHeight],
477+ ]];
478+
479+ void (^emitButtonPress)(NSString *) = ^(NSString *buttonId) {
480+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
481+ config->_eventEmitter);
482+ if (eventEmitter && buttonId) {
483+ eventEmitter->onPressHeaderBarButtonItem(
484+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonItem{
485+ .buttonId = std::string([buttonId UTF8String])});
486+ }
487+ };
488+
489+ void (^emitMenuPress)(NSString *) = ^(NSString *menuId) {
490+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
491+ config->_eventEmitter);
492+ if (eventEmitter && menuId) {
493+ eventEmitter->onPressHeaderBarButtonMenuItem(
494+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonMenuItem{
495+ .menuId = std::string([menuId UTF8String])});
496+ }
497+ };
498+
499+ UIButton *(^makeGlassButton)(NSString *, NSString *, NSDictionary *) =
500+ ^UIButton *(NSString *systemImageName, NSString *buttonId, NSDictionary *menuConfig) {
501+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
502+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
503+ configuration.image = [UIImage systemImageNamed:systemImageName ?: @"circle"];
504+ configuration.baseForegroundColor = UIColor.labelColor;
505+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
506+ if (menuConfig != nil) {
507+ button.menu = [RNSBarButtonItem initUIMenuWithDict:menuConfig
508+ menuAction:emitMenuPress
509+ imageLoader:config->_imageLoader];
510+ button.showsMenuAsPrimaryAction = YES;
511+ } else if (buttonId != nil) {
512+ UIAction *action = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
513+ emitButtonPress(buttonId);
514+ }];
515+ [button addAction:action forControlEvents:UIControlEventTouchUpInside];
516+ }
517+ return button;
518+ };
519+
520+ BOOL useFallbackSearchField = [mailSearchToolbarConfig[@"useFallbackSearchField"] boolValue];
521+ UISearchBar *searchBar =
522+ !useFallbackSearchField && navitem.searchController != nil ? navitem.searchController.searchBar : nil;
523+ NSString *placeholder = mailSearchToolbarConfig[@"placeholder"];
524+ UITextField *resolvedSearchTextField = nil;
525+ if (searchBar != nil) {
526+ if (placeholder != nil) {
527+ searchBar.placeholder = placeholder;
528+ }
529+ searchBar.hidden = NO;
530+ searchBar.alpha = 1.0;
531+ searchBar.userInteractionEnabled = YES;
532+ searchBar.searchBarStyle = UISearchBarStyleMinimal;
533+ searchBar.backgroundImage = [UIImage new];
534+ searchBar.searchTextField.hidden = NO;
535+ searchBar.searchTextField.alpha = 1.0;
536+ searchBar.searchTextField.backgroundColor = UIColor.clearColor;
537+ searchBar.searchTextField.font = searchFont;
538+ searchBar.searchTextField.adjustsFontForContentSizeCategory = YES;
539+ searchBar.searchTextField.textColor = UIColor.labelColor;
540+ searchBar.searchTextField.tintColor = UIColor.labelColor;
541+ resolvedSearchTextField = searchBar.searchTextField;
542+ if (placeholder != nil) {
543+ searchBar.searchTextField.attributedPlaceholder =
544+ [[NSAttributedString alloc] initWithString:placeholder attributes:placeholderAttributes];
545+ }
546+ searchBar.translatesAutoresizingMaskIntoConstraints = NO;
547+ [glassView.contentView addSubview:searchBar];
548+ [NSLayoutConstraint activateConstraints:@[
549+ [searchBar.leadingAnchor constraintEqualToAnchor:glassView.contentView.leadingAnchor constant:8.0],
550+ [searchBar.trailingAnchor constraintEqualToAnchor:glassView.contentView.trailingAnchor constant:-8.0],
551+ [searchBar.centerYAnchor constraintEqualToAnchor:glassView.contentView.centerYAnchor],
552+ [searchBar.heightAnchor constraintEqualToConstant:searchFieldHeight],
553+ ]];
554+ } else {
555+ UISearchTextField *searchField = [UISearchTextField new];
556+ if (placeholder != nil) {
557+ searchField.placeholder = placeholder;
558+ searchField.attributedPlaceholder =
559+ [[NSAttributedString alloc] initWithString:placeholder attributes:placeholderAttributes];
560+ }
561+ NSString *searchTextChangeId = mailSearchToolbarConfig[@"searchTextChangeId"];
562+ if (searchTextChangeId != nil) {
563+ [searchField addAction:[UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
564+ UISearchTextField *field = (UISearchTextField *)action.sender;
565+ emitButtonPress([NSString stringWithFormat:@"%@:%@", searchTextChangeId, field.text ?: @""]);
566+ }]
567+ forControlEvents:UIControlEventEditingChanged];
568+ }
569+ searchField.borderStyle = UITextBorderStyleNone;
570+ searchField.font = searchFont;
571+ searchField.adjustsFontForContentSizeCategory = YES;
572+ searchField.textColor = UIColor.labelColor;
573+ searchField.tintColor = UIColor.labelColor;
574+ resolvedSearchTextField = searchField;
575+ searchField.translatesAutoresizingMaskIntoConstraints = NO;
576+ [glassView.contentView addSubview:searchField];
577+ [NSLayoutConstraint activateConstraints:@[
578+ [searchField.leadingAnchor constraintEqualToAnchor:glassView.contentView.leadingAnchor constant:14.0],
579+ [searchField.trailingAnchor constraintEqualToAnchor:glassView.contentView.trailingAnchor constant:-14.0],
580+ [searchField.centerYAnchor constraintEqualToAnchor:glassView.contentView.centerYAnchor],
581+ [searchField.heightAnchor constraintEqualToConstant:searchFieldHeight],
582+ ]];
583+ }
584+
585+ UIButton *filterButton = nil;
586+ if (hasFilterButton) {
587+ filterButton = makeGlassButton(
588+ mailSearchToolbarConfig[@"filterSystemImageName"] ?: @"line.3.horizontal.decrease",
589+ mailSearchToolbarConfig[@"filterButtonId"],
590+ mailSearchToolbarConfig[@"filterMenu"]);
591+ filterButton.translatesAutoresizingMaskIntoConstraints = NO;
592+ [toolbarHost addSubview:filterButton];
593+ [NSLayoutConstraint activateConstraints:@[
594+ [filterButton.leadingAnchor constraintEqualToAnchor:toolbarHost.leadingAnchor],
595+ [filterButton.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
596+ [filterButton.widthAnchor constraintEqualToConstant:buttonSize],
597+ [filterButton.heightAnchor constraintEqualToConstant:buttonSize],
598+ ]];
599+ }
600+
601+ UIButton *composeButton = nil;
602+ if (hasComposeButton) {
603+ composeButton = makeGlassButton(
604+ mailSearchToolbarConfig[@"composeSystemImageName"] ?: @"square.and.pencil",
605+ mailSearchToolbarConfig[@"composeButtonId"],
606+ mailSearchToolbarConfig[@"composeMenu"]);
607+ composeButton.translatesAutoresizingMaskIntoConstraints = NO;
608+ [toolbarHost addSubview:composeButton];
609+ [NSLayoutConstraint activateConstraints:@[
610+ [composeButton.trailingAnchor constraintEqualToAnchor:toolbarHost.trailingAnchor],
611+ [composeButton.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
612+ [composeButton.widthAnchor constraintEqualToConstant:buttonSize],
613+ [composeButton.heightAnchor constraintEqualToConstant:buttonSize],
614+ ]];
615+ }
616+
617+ BOOL showsSearchDismissButton =
618+ [mailSearchToolbarConfig[@"showsSearchDismissButton"] boolValue] && resolvedSearchTextField != nil;
619+ UIButton *searchDismissButton = nil;
620+ if (showsSearchDismissButton) {
621+ searchDismissButton = makeGlassButton(@"xmark", nil, nil);
622+ searchDismissButton.accessibilityLabel = @"Dismiss search keyboard";
623+ searchDismissButton.alpha = 0.0;
624+ searchDismissButton.hidden = YES;
625+ searchDismissButton.translatesAutoresizingMaskIntoConstraints = NO;
626+ [toolbarHost addSubview:searchDismissButton];
627+ [NSLayoutConstraint activateConstraints:@[
628+ [searchDismissButton.trailingAnchor constraintEqualToAnchor:toolbarHost.trailingAnchor],
629+ [searchDismissButton.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
630+ [searchDismissButton.widthAnchor constraintEqualToConstant:buttonSize],
631+ [searchDismissButton.heightAnchor constraintEqualToConstant:buttonSize],
632+ ]];
633+ __weak UITextField *weakSearchTextField = resolvedSearchTextField;
634+ [searchDismissButton
635+ addAction:[UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
636+ [weakSearchTextField resignFirstResponder];
637+ }]
638+ forControlEvents:UIControlEventTouchUpInside];
639+ }
640+
641+ __weak UIButton *weakFilterButton = filterButton;
642+ __weak UIButton *weakComposeButton = composeButton;
643+ __weak UIButton *weakSearchDismissButton = searchDismissButton;
644+ __weak NSLayoutConstraint *weakGlassLeadingConstraint = glassLeadingConstraint;
645+ __weak NSLayoutConstraint *weakGlassTrailingConstraint = glassTrailingConstraint;
646+ __weak NSLayoutConstraint *weakKeyboardAvoidConstraint = keyboardAvoidConstraint;
647+ __weak NSLayoutConstraint *weakRestingBottomConstraint = restingBottomConstraint;
648+ __weak UIView *weakToolbarHost = toolbarHost;
649+ __weak UITextField *weakSearchTextField = resolvedSearchTextField;
650+ void (^setSearchEditingAppearance)(BOOL, BOOL) = ^(BOOL isEditing, BOOL animated) {
651+ weakKeyboardAvoidConstraint.priority =
652+ isEditing ? UILayoutPriorityDefaultHigh : UILayoutPriorityDefaultLow;
653+ weakRestingBottomConstraint.priority =
654+ isEditing ? UILayoutPriorityDefaultLow : UILayoutPriorityDefaultHigh;
655+
656+ if (showsSearchDismissButton) {
657+ if (isEditing) {
658+ weakSearchDismissButton.hidden = NO;
659+ } else {
660+ weakFilterButton.hidden = NO;
661+ weakComposeButton.hidden = NO;
662+ }
663+ weakGlassLeadingConstraint.constant = isEditing ? 0.0 : glassLeadingInset;
664+ weakGlassTrailingConstraint.constant = isEditing ? -sideButtonReserve : glassTrailingInset;
665+
666+ void (^changes)(void) = ^{
667+ weakFilterButton.alpha = isEditing ? 0.0 : 1.0;
668+ weakComposeButton.alpha = isEditing ? 0.0 : 1.0;
669+ weakSearchDismissButton.alpha = isEditing ? 1.0 : 0.0;
670+ [weakToolbarHost layoutIfNeeded];
671+ };
672+ void (^completion)(BOOL) = ^(BOOL finished) {
673+ if (!finished || weakSearchTextField.isFirstResponder != isEditing) {
674+ return;
675+ }
676+ weakFilterButton.hidden = isEditing;
677+ weakComposeButton.hidden = isEditing;
678+ weakSearchDismissButton.hidden = !isEditing;
679+ };
680+ if (animated) {
681+ [UIView animateWithDuration:0.2
682+ delay:0.0
683+ options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveEaseInOut
684+ animations:changes
685+ completion:completion];
686+ } else {
687+ changes();
688+ completion(YES);
689+ }
690+ }
691+ [weakToolbarHost setNeedsLayout];
692+ };
693+
694+ setSearchEditingAppearance(resolvedSearchTextField.isFirstResponder, NO);
695+ NSString *beginActionIdentifier = @"org.react-native-screens.mail-search-toolbar.keyboard-begin";
696+ NSString *endActionIdentifier = @"org.react-native-screens.mail-search-toolbar.keyboard-end";
697+ [resolvedSearchTextField removeActionForIdentifier:beginActionIdentifier
698+ forControlEvents:UIControlEventEditingDidBegin];
699+ [resolvedSearchTextField removeActionForIdentifier:endActionIdentifier
700+ forControlEvents:UIControlEventEditingDidEnd];
701+ [resolvedSearchTextField
702+ addAction:[UIAction actionWithTitle:@""
703+ image:nil
704+ identifier:beginActionIdentifier
705+ handler:^(__kindof UIAction *_Nonnull action) {
706+ setSearchEditingAppearance(YES, YES);
707+ }]
708+ forControlEvents:UIControlEventEditingDidBegin];
709+ [resolvedSearchTextField
710+ addAction:[UIAction actionWithTitle:@""
711+ image:nil
712+ identifier:endActionIdentifier
713+ handler:^(__kindof UIAction *_Nonnull action) {
714+ setSearchEditingAppearance(NO, YES);
715+ }]
716+ forControlEvents:UIControlEventEditingDidEnd];
717+ }
718+#endif
719+ }
720+
721+ NSArray<NSDictionary<NSString *, id> *> *navigationToolbarConfigs = config.headerToolbarItems;
722+ if (mailSearchToolbarConfig != nil) {
723+ navigationToolbarConfigs = @[];
724+ }
725+
726+ NSArray *toolbarConfigsKey = navigationToolbarConfigs ?: @[];
727+ // Same reuse rule as the header item groups above (including the config
728+ // identity — cached toolbar items capture this config's event emitter).
729+ // The top-view-controller and hidden-state checks scope the skip to
730+ // same-screen refreshes, so transitions between screens with different
731+ // toolbars still reapply.
732+ NSArray *toolbarCacheKey = @[ @((uintptr_t)config), toolbarConfigsKey ];
733+ BOOL reuseToolbarItems = navctr.topViewController == vc &&
734+ navctr.isToolbarHidden == (toolbarConfigsKey.count == 0) &&
735+ [objc_getAssociatedObject(navitem, &RNSAppliedToolbarConfigsKey) isEqual:toolbarCacheKey];
736+ if (!reuseToolbarItems) {
737+ NSArray<UIBarButtonItem *> *toolbarItems = [config barButtonItemsFromConfigs:navigationToolbarConfigs
738+ withCurrentItems:@[]
739+ navigationItem:navitem];
740+ if (toolbarItems.count > 0) {
741+ vc.toolbarItems = toolbarItems;
742+ [navctr setToolbarHidden:NO animated:animated];
743+ } else {
744+ vc.toolbarItems = nil;
745+ [navctr setToolbarHidden:YES animated:animated];
746+ }
747+ objc_setAssociatedObject(
748+ navitem, &RNSAppliedToolbarConfigsKey, toolbarCacheKey, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
749+ }
750
751 // Setting navigation bar visibility is split to mitigate iOS 26 bug with bar button items
752 // (setting nav bar visibility should be done after `navitem.*BarButtonItems`).
753@@ -773,6 +1261,7 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
754
755 - (NSArray<UIBarButtonItem *> *)barButtonItemsFromConfigs:(NSArray<NSDictionary<NSString *, id> *> *)dicts
756 withCurrentItems:(NSArray<UIBarButtonItem *> *)currentItems
757+ navigationItem:(UINavigationItem *)navitem
758 {
759 if (dicts.count == 0) {
760 return currentItems;
761@@ -781,7 +1270,197 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
762 [items addObjectsFromArray:currentItems];
763 for (NSUInteger i = 0; i < dicts.count; i++) {
764 NSDictionary *dict = dicts[i];
765- if (dict[@"buttonId"] || dict[@"menu"]) {
766+ if (dict[@"mailSearchToolbar"]) {
767+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
768+ if (@available(iOS 26.0, *)) {
769+ NSNumber *width = dict[@"width"];
770+ CGFloat resolvedWidth = width != nil ? width.doubleValue : MAX(320.0, [UIScreen mainScreen].bounds.size.width - 56.0);
771+ CGFloat resolvedHeight = 58.0;
772+ UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, resolvedWidth, resolvedHeight)];
773+ container.translatesAutoresizingMaskIntoConstraints = NO;
774+ [container.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
775+ [container.heightAnchor constraintEqualToConstant:resolvedHeight].active = YES;
776+
777+ UIStackView *stackView = [[UIStackView alloc] initWithFrame:container.bounds];
778+ stackView.axis = UILayoutConstraintAxisHorizontal;
779+ stackView.alignment = UIStackViewAlignmentCenter;
780+ stackView.distribution = UIStackViewDistributionFill;
781+ stackView.spacing = 10.0;
782+ stackView.translatesAutoresizingMaskIntoConstraints = NO;
783+ [container addSubview:stackView];
784+ [NSLayoutConstraint activateConstraints:@[
785+ [stackView.leadingAnchor constraintEqualToAnchor:container.leadingAnchor],
786+ [stackView.trailingAnchor constraintEqualToAnchor:container.trailingAnchor],
787+ [stackView.centerYAnchor constraintEqualToAnchor:container.centerYAnchor],
788+ [stackView.heightAnchor constraintEqualToConstant:50.0],
789+ ]];
790+
791+ void (^emitButtonPress)(NSString *) = ^(NSString *buttonId) {
792+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
793+ self->_eventEmitter);
794+ if (eventEmitter && buttonId) {
795+ eventEmitter->onPressHeaderBarButtonItem(
796+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonItem{
797+ .buttonId = std::string([buttonId UTF8String])});
798+ }
799+ };
800+
801+ void (^emitMenuPress)(NSString *) = ^(NSString *menuId) {
802+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
803+ self->_eventEmitter);
804+ if (eventEmitter && menuId) {
805+ eventEmitter->onPressHeaderBarButtonMenuItem(
806+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonMenuItem{
807+ .menuId = std::string([menuId UTF8String])});
808+ }
809+ };
810+
811+ UIButton *(^makeGlassButton)(NSString *, NSString *, NSDictionary *) =
812+ ^UIButton *(NSString *systemImageName, NSString *buttonId, NSDictionary *menuConfig) {
813+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
814+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
815+ configuration.image = [UIImage systemImageNamed:systemImageName ?: @"circle"];
816+
817+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
818+ button.translatesAutoresizingMaskIntoConstraints = NO;
819+ [button.widthAnchor constraintEqualToConstant:58.0].active = YES;
820+ [button.heightAnchor constraintEqualToConstant:50.0].active = YES;
821+ if (menuConfig != nil) {
822+ button.menu = [RNSBarButtonItem initUIMenuWithDict:menuConfig
823+ menuAction:emitMenuPress
824+ imageLoader:self->_imageLoader];
825+ button.showsMenuAsPrimaryAction = YES;
826+ } else if (buttonId != nil) {
827+ UIAction *action = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
828+ emitButtonPress(buttonId);
829+ }];
830+ [button addAction:action forControlEvents:UIControlEventTouchUpInside];
831+ }
832+ return button;
833+ };
834+
835+ BOOL hasFilterButton = dict[@"filterButtonId"] != nil || dict[@"filterMenu"] != nil;
836+ BOOL hasComposeButton = dict[@"composeButtonId"] != nil || dict[@"composeMenu"] != nil;
837+
838+ if (hasFilterButton) {
839+ UIButton *filterButton = makeGlassButton(
840+ dict[@"filterSystemImageName"] ?: @"line.3.horizontal.decrease",
841+ dict[@"filterButtonId"],
842+ dict[@"filterMenu"]);
843+ [stackView addArrangedSubview:filterButton];
844+ }
845+
846+ UISearchBar *searchBar = navitem.searchController != nil ? navitem.searchController.searchBar : [UISearchBar new];
847+ NSString *placeholder = dict[@"placeholder"];
848+ if (placeholder != nil) {
849+ searchBar.placeholder = placeholder;
850+ }
851+ searchBar.searchBarStyle = UISearchBarStyleMinimal;
852+ searchBar.translatesAutoresizingMaskIntoConstraints = NO;
853+ [searchBar.heightAnchor constraintEqualToConstant:50.0].active = YES;
854+ [stackView addArrangedSubview:searchBar];
855+
856+ if (hasComposeButton) {
857+ UIButton *composeButton = makeGlassButton(
858+ dict[@"composeSystemImageName"] ?: @"square.and.pencil",
859+ dict[@"composeButtonId"],
860+ dict[@"composeMenu"]);
861+ [stackView addArrangedSubview:composeButton];
862+ }
863+
864+ UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:container];
865+ [items addObject:item];
866+ }
867+#endif
868+ } else if (dict[@"searchField"]) {
869+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
870+ if (@available(iOS 26.0, *)) {
871+ NSNumber *width = dict[@"width"];
872+ CGFloat resolvedWidth = width != nil ? width.doubleValue : 280.0;
873+ UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, resolvedWidth, 44.0)];
874+ container.translatesAutoresizingMaskIntoConstraints = NO;
875+ [container.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
876+ [container.heightAnchor constraintEqualToConstant:44.0].active = YES;
877+
878+ UISearchTextField *searchField = [UISearchTextField new];
879+ NSString *placeholder = dict[@"placeholder"];
880+ if (placeholder != nil) {
881+ searchField.placeholder = placeholder;
882+ }
883+ searchField.translatesAutoresizingMaskIntoConstraints = NO;
884+ [container addSubview:searchField];
885+ [NSLayoutConstraint activateConstraints:@[
886+ [searchField.leadingAnchor constraintEqualToAnchor:container.leadingAnchor],
887+ [searchField.trailingAnchor constraintEqualToAnchor:container.trailingAnchor],
888+ [searchField.centerYAnchor constraintEqualToAnchor:container.centerYAnchor],
889+ [searchField.heightAnchor constraintEqualToConstant:40.0],
890+ ]];
891+
892+ UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:container];
893+ [items addObject:item];
894+ }
895+#endif
896+ } else if (dict[@"searchBarPlacement"]) {
897+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
898+ if (@available(iOS 26.0, *)) {
899+ NSNumber *width = dict[@"width"];
900+ UIBarButtonItem *item = nil;
901+ if ([dict[@"activatesSearchController"] boolValue]) {
902+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
903+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
904+ configuration.image = [UIImage systemImageNamed:@"magnifyingglass"];
905+ configuration.baseForegroundColor = UIColor.labelColor;
906+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
907+ button.translatesAutoresizingMaskIntoConstraints = NO;
908+ [button.widthAnchor constraintEqualToConstant:56.0].active = YES;
909+ [button.heightAnchor constraintEqualToConstant:56.0].active = YES;
910+ UIAction *action = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
911+ if (navitem.searchController != nil) {
912+ [navitem.searchController setActive:YES];
913+ [navitem.searchController.searchBar becomeFirstResponder];
914+ }
915+ }];
916+ [button addAction:action forControlEvents:UIControlEventTouchUpInside];
917+ item = [[UIBarButtonItem alloc] initWithCustomView:button];
918+ } else if ([dict[@"customView"] boolValue] && navitem.searchController != nil) {
919+ UISearchBar *searchBar = navitem.searchController.searchBar;
920+ CGFloat resolvedWidth = width != nil ? width.doubleValue : searchBar.frame.size.width;
921+ CGFloat resolvedHeight = searchBar.frame.size.height > 0 ? searchBar.frame.size.height : 44.0;
922+ UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, resolvedWidth, resolvedHeight)];
923+ container.translatesAutoresizingMaskIntoConstraints = NO;
924+ [container.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
925+ [container.heightAnchor constraintEqualToConstant:resolvedHeight].active = YES;
926+ searchBar.frame = container.bounds;
927+ searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
928+ [container addSubview:searchBar];
929+ item = [[UIBarButtonItem alloc] initWithCustomView:container];
930+ } else {
931+ item = navitem.searchBarPlacementBarButtonItem;
932+ if (width != nil) {
933+ item.width = width.doubleValue;
934+ }
935+ }
936+ NSNumber *index = dict[@"index"];
937+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
938+ if (@available(iOS 26.0, *)) {
939+ NSNumber *sharesBackground = dict[@"sharesBackground"];
940+ if (sharesBackground != nil) {
941+ item.sharesBackground = sharesBackground.boolValue;
942+ }
943+ NSNumber *hidesSharedBackground = dict[@"hidesSharedBackground"];
944+ if (hidesSharedBackground != nil) {
945+ item.hidesSharedBackground = hidesSharedBackground.boolValue;
946+ }
947+ }
948+#endif
949+ if (index != nil && index.integerValue >= 0 && index.integerValue < items.count) {
950+ [items insertObject:item atIndex:index.integerValue];
951+ } else {
952+ [items addObject:item];
953+ }
954+ }
955+#endif
956+ } else if (dict[@"buttonId"] || dict[@"menu"]) {
957 RNSBarButtonItem *item = [[RNSBarButtonItem alloc] initWithConfig:dict
958 action:^(NSString *buttonId) {
959 auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
960@@ -803,19 +1482,23 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
961 }
962 imageLoader:_imageLoader];
963 NSNumber *index = dict[@"index"];
964- if (index.integerValue < items.count) {
965+ if (index != nil && index.integerValue >= 0 && index.integerValue < items.count) {
966 [items insertObject:item atIndex:index.integerValue];
967 } else {
968 [items addObject:item];
969 }
970 } else if (dict[@"spacing"]) {
971- UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
972- target:nil
973- action:nil];
974+ BOOL flexible = [dict[@"flexible"] boolValue];
975+ UIBarButtonItem *item = [[UIBarButtonItem alloc]
976+ initWithBarButtonSystemItem:(flexible ? UIBarButtonSystemItemFlexibleSpace : UIBarButtonSystemItemFixedSpace)
977+ target:nil
978+ action:nil];
979 NSNumber *spacingValue = dict[@"spacing"];
980- item.width = [spacingValue doubleValue];
981+ if (!flexible) {
982+ item.width = [spacingValue doubleValue];
983+ }
984 NSNumber *index = dict[@"index"];
985- if (index.integerValue < items.count) {
986+ if (index != nil && index.integerValue >= 0 && index.integerValue < items.count) {
987 [items insertObject:item atIndex:index.integerValue];
988 } else {
989 [items addObject:item];
990@@ -825,6 +1508,47 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
991 return items;
992 }
993
994+#if !TARGET_OS_TV
995+- (NSArray<UIBarButtonItemGroup *> *)barButtonItemGroupsFromItems:(NSArray<UIBarButtonItem *> *)items
996+{
997+ if (items.count == 0) {
998+ return @[];
999+ }
1000+
1001+ NSMutableArray<UIBarButtonItemGroup *> *groups = [NSMutableArray array];
1002+ NSMutableArray<UIBarButtonItem *> *sharedRun = [NSMutableArray array];
1003+
1004+ void (^flushSharedRun)(void) = ^{
1005+ if (sharedRun.count == 0) {
1006+ return;
1007+ }
1008+ [groups addObject:[UIBarButtonItemGroup fixedGroupWithRepresentativeItem:nil
1009+ items:[sharedRun copy]]];
1010+ [sharedRun removeAllObjects];
1011+ };
1012+
1013+ for (UIBarButtonItem *item in items) {
1014+ BOOL shouldShareBackground = NO;
1015+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
1016+ if (@available(iOS 26.0, *)) {
1017+ shouldShareBackground = item.sharesBackground && !item.hidesSharedBackground;
1018+ }
1019+#endif
1020+
1021+ if (shouldShareBackground) {
1022+ [sharedRun addObject:item];
1023+ continue;
1024+ }
1025+
1026+ flushSharedRun();
1027+ [groups addObject:[UIBarButtonItemGroup fixedGroupWithRepresentativeItem:nil items:@[ item ]]];
1028+ }
1029+
1030+ flushSharedRun();
1031+ return groups;
1032+}
1033+#endif
1034+
1035 RNS_IGNORE_SUPER_CALL_BEGIN
1036 - (void)insertReactSubview:(RNSScreenStackHeaderSubview *)subview atIndex:(NSInteger)atIndex
1037 {
1038@@ -1013,6 +1737,8 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1039 }
1040
1041 _title = RCTNSStringFromStringNilIfEmpty(newScreenProps.title);
1042+ _subtitle = RCTNSStringFromStringNilIfEmpty(newScreenProps.subtitle);
1043+ _largeSubtitle = RCTNSStringFromStringNilIfEmpty(newScreenProps.largeSubtitle);
1044 if (newScreenProps.titleFontFamily != oldScreenProps.titleFontFamily) {
1045 _titleFontFamily = RCTNSStringFromStringNilIfEmpty(newScreenProps.titleFontFamily);
1046 }
1047@@ -1038,6 +1764,7 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1048 _disableBackButtonMenu = newScreenProps.disableBackButtonMenu;
1049 _backButtonDisplayMode =
1050 [RNSConvert UINavigationItemBackButtonDisplayModeFromCppEquivalent:newScreenProps.backButtonDisplayMode];
1051+ _navigationItemStyle = navigationItemStyleFromCppEquivalent(newScreenProps.navigationItemStyle);
1052
1053 if (newScreenProps.userInterfaceStyle != oldScreenProps.userInterfaceStyle) {
1054 _userInterfaceStyle = [RNSConvert UIUserInterfaceStyleFromCppEquivalent:newScreenProps.userInterfaceStyle];
1055@@ -1084,6 +1811,30 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1056 _headerRightBarButtonItems = array;
1057 }
1058
1059+ if (newScreenProps.headerCenterBarButtonItems != oldScreenProps.headerCenterBarButtonItems) {
1060+ const auto &vec = newScreenProps.headerCenterBarButtonItems;
1061+ NSMutableArray<NSDictionary<NSString *, id> *> *array = [NSMutableArray arrayWithCapacity:vec.size()];
1062+ for (const auto &item : vec) {
1063+ NSDictionary *dict = [RNSConvert idFromFollyDynamic:item];
1064+ if ([dict isKindOfClass:[NSDictionary class]]) {
1065+ [array addObject:dict];
1066+ }
1067+ }
1068+ _headerCenterBarButtonItems = array;
1069+ }
1070+
1071+ if (newScreenProps.headerToolbarItems != oldScreenProps.headerToolbarItems) {
1072+ const auto &vec = newScreenProps.headerToolbarItems;
1073+ NSMutableArray<NSDictionary<NSString *, id> *> *array = [NSMutableArray arrayWithCapacity:vec.size()];
1074+ for (const auto &item : vec) {
1075+ NSDictionary *dict = [RNSConvert idFromFollyDynamic:item];
1076+ if ([dict isKindOfClass:[NSDictionary class]]) {
1077+ [array addObject:dict];
1078+ }
1079+ }
1080+ _headerToolbarItems = array;
1081+ }
1082+
1083 [self updateViewControllerIfNeeded];
1084
1085 if (needsNavigationControllerLayout) {
1086diff --git a/ios/RNSScreenStackHeaderSubview.mm b/ios/RNSScreenStackHeaderSubview.mm
1087index 15c0da5242372c4be833a1403663bd1dfa244362..d1f838cdfd831abd6397be6fe61e00a50f87bea3 100644
1088--- a/ios/RNSScreenStackHeaderSubview.mm
1089+++ b/ios/RNSScreenStackHeaderSubview.mm
1090@@ -21,6 +21,7 @@ @implementation RNSScreenStackHeaderSubview {
1091 // This is a strong reference to UIBarButtonItem which creates a retain cycle.
1092 // The cycle is cleared via `invalidateUIBarButtonItem` method, called by `invalidate` callback.
1093 UIBarButtonItem *_barButtonItem;
1094+ NSString *_barButtonItemIdentifier;
1095 BOOL _hidesSharedBackground;
1096 }
1097
1098@@ -128,6 +129,7 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1099 const auto &newHeaderSubviewProps = *std::static_pointer_cast<const react::RNSScreenStackHeaderSubviewProps>(props);
1100
1101 [self setType:[RNSConvert RNSScreenStackHeaderSubviewTypeFromCppEquivalent:newHeaderSubviewProps.type]];
1102+ [self setBarButtonItemIdentifier:RCTNSStringFromStringNilIfEmpty(newHeaderSubviewProps.identifier)];
1103 [self setHidesSharedBackground:newHeaderSubviewProps.hidesSharedBackground];
1104 [self setSynchronousShadowStateUpdatesEnabled:newHeaderSubviewProps.synchronousShadowStateUpdatesEnabled];
1105 [super updateProps:props oldProps:oldProps];
1106@@ -281,7 +283,14 @@ - (void)configureBarButtonItem
1107 #if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
1108 if (@available(iOS 26.0, *)) {
1109 if (_barButtonItem != nil) {
1110- [_barButtonItem setHidesSharedBackground:_hidesSharedBackground];
1111+ NSString *currentIdentifier = _barButtonItem.identifier;
1112+ if (currentIdentifier != _barButtonItemIdentifier &&
1113+ ![currentIdentifier isEqualToString:_barButtonItemIdentifier]) {
1114+ _barButtonItem.identifier = _barButtonItemIdentifier;
1115+ }
1116+ if (_barButtonItem.hidesSharedBackground != _hidesSharedBackground) {
1117+ _barButtonItem.hidesSharedBackground = _hidesSharedBackground;
1118+ }
1119 }
1120 }
1121 #endif // RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
1122@@ -289,10 +298,22 @@ - (void)configureBarButtonItem
1123
1124 - (void)setHidesSharedBackground:(BOOL)hidesSharedBackground
1125 {
1126+ if (_hidesSharedBackground == hidesSharedBackground) {
1127+ return;
1128+ }
1129 _hidesSharedBackground = hidesSharedBackground;
1130 [self configureBarButtonItem];
1131 }
1132
1133+- (void)setBarButtonItemIdentifier:(nullable NSString *)identifier
1134+{
1135+ if (_barButtonItemIdentifier == identifier || [_barButtonItemIdentifier isEqualToString:identifier]) {
1136+ return;
1137+ }
1138+ _barButtonItemIdentifier = [identifier copy];
1139+ [self configureBarButtonItem];
1140+}
1141+
1142 #pragma mark - Dynamic frameworks support
1143
1144 // Needed because of this: https://github.com/facebook/react-native/pull/37274
1145diff --git a/lib/commonjs/components/ScreenStackHeaderConfig.js b/lib/commonjs/components/ScreenStackHeaderConfig.js
1146index 16b979bb3dfb41ff247403f1632c300a9a60d549..01415d4cba66086a8d8e5af728f809aee5190d91 100644
1147--- a/lib/commonjs/components/ScreenStackHeaderConfig.js
1148+++ b/lib/commonjs/components/ScreenStackHeaderConfig.js
1149@@ -23,18 +23,42 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1150 } = (0, _TopInsetApplicationContext.useTopInsetApplication)(!props.hidden, props.disableTopInsetApplication ?? false);
1151 const {
1152 headerLeftBarButtonItems,
1153- headerRightBarButtonItems
1154+ headerRightBarButtonItems,
1155+ headerCenterBarButtonItems,
1156+ headerToolbarItems
1157 } = props;
1158 const preparedHeaderLeftBarButtonItems = headerLeftBarButtonItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerLeftBarButtonItems, 'left') : undefined;
1159 const preparedHeaderRightBarButtonItems = headerRightBarButtonItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerRightBarButtonItems, 'right') : undefined;
1160- const hasHeaderBarButtonItems = _utils.isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length);
1161+ const preparedHeaderCenterBarButtonItems = headerCenterBarButtonItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerCenterBarButtonItems, 'right') : undefined;
1162+ const preparedHeaderToolbarItems = headerToolbarItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerToolbarItems, 'right') : undefined;
1163+ const hasHeaderBarButtonItems = _utils.isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length || preparedHeaderCenterBarButtonItems?.length || preparedHeaderToolbarItems?.length);
1164
1165 // Handle bar button item presses
1166 const onPressHeaderBarButtonItem = hasHeaderBarButtonItems ? event => {
1167- const pressedItem = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])].find(item => item && 'buttonId' in item && item.buttonId === event.nativeEvent.buttonId);
1168+ const buttonId = event.nativeEvent.buttonId;
1169+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1170+ const pressedItem = allItems.find(item => item && 'buttonId' in item && item.buttonId === buttonId);
1171 if (pressedItem && pressedItem.type === 'button' && pressedItem.onPress) {
1172 pressedItem.onPress();
1173 }
1174+ for (const item of allItems) {
1175+ if (!item || item.type !== 'mailSearchToolbar') {
1176+ continue;
1177+ }
1178+ if (item.filterButtonId === buttonId) {
1179+ item.onFilterPress?.();
1180+ return;
1181+ }
1182+ if (item.composeButtonId === buttonId) {
1183+ item.onComposePress?.();
1184+ return;
1185+ }
1186+ const searchTextChangePrefix = item.searchTextChangeId ? `${item.searchTextChangeId}:` : undefined;
1187+ if (searchTextChangePrefix && buttonId.startsWith(searchTextChangePrefix)) {
1188+ item.onSearchTextChange?.(buttonId.slice(searchTextChangePrefix.length));
1189+ return;
1190+ }
1191+ }
1192 } : undefined;
1193
1194 // Handle bar button menu item presses by deep-searching nested menus
1195@@ -56,7 +80,7 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1196 };
1197
1198 // Check each bar-button item with a menu
1199- const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])];
1200+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1201 for (const item of allItems) {
1202 if (item && item.type === 'menu' && item.menu) {
1203 const action = findInMenu(item.menu, event.nativeEvent.menuId);
1204@@ -64,6 +88,15 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1205 action.onPress();
1206 return;
1207 }
1208+ } else if (item && item.type === 'mailSearchToolbar') {
1209+ const toolbarMenus = [item.filterMenu, item.composeMenu].filter(Boolean);
1210+ for (const toolbarMenu of toolbarMenus) {
1211+ const action = findInMenu(toolbarMenu, event.nativeEvent.menuId);
1212+ if (action) {
1213+ action.onPress();
1214+ return;
1215+ }
1216+ }
1217 }
1218 }
1219 } : undefined;
1220@@ -71,6 +104,8 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1221 userInterfaceStyle: props.experimental_userInterfaceStyle,
1222 headerLeftBarButtonItems: preparedHeaderLeftBarButtonItems,
1223 headerRightBarButtonItems: preparedHeaderRightBarButtonItems,
1224+ headerCenterBarButtonItems: preparedHeaderCenterBarButtonItems,
1225+ headerToolbarItems: preparedHeaderToolbarItems,
1226 onPressHeaderBarButtonItem: onPressHeaderBarButtonItem,
1227 onPressHeaderBarButtonMenuItem: onPressHeaderBarButtonMenuItem,
1228 ref: ref,
1229diff --git a/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js b/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js
1230index ab93f62e4a7049d63c6681cecbd6cf8b1d07ce10..b5ea122473b023f84eabdb1914aef09a28c6d525 100644
1231--- a/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js
1232+++ b/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js
1233@@ -41,10 +41,31 @@ const prepareMenu = (menu, index, side, path = '') => {
1234 };
1235 };
1236 const prepareHeaderBarButtonItems = (barButtonItems, side) => {
1237- return barButtonItems?.map((item, index) => {
1238+ const items = Array.isArray(barButtonItems) ? barButtonItems : barButtonItems && typeof barButtonItems === 'object' && 'type' in barButtonItems ? [barButtonItems] : undefined;
1239+ return items?.map((item, index) => {
1240 if (item.type === 'spacing') {
1241 return item;
1242 }
1243+ if (item.type === 'searchBarPlacement') {
1244+ return {
1245+ ...item,
1246+ searchBarPlacement: true
1247+ };
1248+ }
1249+ if (item.type === 'searchField') {
1250+ return {
1251+ ...item,
1252+ searchField: true
1253+ };
1254+ }
1255+ if (item.type === 'mailSearchToolbar') {
1256+ return {
1257+ ...item,
1258+ mailSearchToolbar: true,
1259+ filterMenu: item.filterMenu ? prepareMenu(item.filterMenu, index, side, 'filter') : undefined,
1260+ composeMenu: item.composeMenu ? prepareMenu(item.composeMenu, index, side, 'compose') : undefined
1261+ };
1262+ }
1263 let imageSource, templateSource;
1264 if (item.icon?.type === 'imageSource') {
1265 imageSource = _reactNative.Image.resolveAssetSource(item.icon.imageSource);
1266diff --git a/lib/module/components/ScreenStackHeaderConfig.js b/lib/module/components/ScreenStackHeaderConfig.js
1267index cf15f36f25e51d95c896fbc3a31ccba90156a5b6..dd66167c4ab0e5640ad27400e08dcfb4d20dce2a 100644
1268--- a/lib/module/components/ScreenStackHeaderConfig.js
1269+++ b/lib/module/components/ScreenStackHeaderConfig.js
1270@@ -19,18 +19,42 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1271 } = useTopInsetApplication(!props.hidden, props.disableTopInsetApplication ?? false);
1272 const {
1273 headerLeftBarButtonItems,
1274- headerRightBarButtonItems
1275+ headerRightBarButtonItems,
1276+ headerCenterBarButtonItems,
1277+ headerToolbarItems
1278 } = props;
1279 const preparedHeaderLeftBarButtonItems = headerLeftBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerLeftBarButtonItems, 'left') : undefined;
1280 const preparedHeaderRightBarButtonItems = headerRightBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerRightBarButtonItems, 'right') : undefined;
1281- const hasHeaderBarButtonItems = isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length);
1282+ const preparedHeaderCenterBarButtonItems = headerCenterBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerCenterBarButtonItems, 'right') : undefined;
1283+ const preparedHeaderToolbarItems = headerToolbarItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerToolbarItems, 'right') : undefined;
1284+ const hasHeaderBarButtonItems = isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length || preparedHeaderCenterBarButtonItems?.length || preparedHeaderToolbarItems?.length);
1285
1286 // Handle bar button item presses
1287 const onPressHeaderBarButtonItem = hasHeaderBarButtonItems ? event => {
1288- const pressedItem = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])].find(item => item && 'buttonId' in item && item.buttonId === event.nativeEvent.buttonId);
1289+ const buttonId = event.nativeEvent.buttonId;
1290+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1291+ const pressedItem = allItems.find(item => item && 'buttonId' in item && item.buttonId === buttonId);
1292 if (pressedItem && pressedItem.type === 'button' && pressedItem.onPress) {
1293 pressedItem.onPress();
1294 }
1295+ for (const item of allItems) {
1296+ if (!item || item.type !== 'mailSearchToolbar') {
1297+ continue;
1298+ }
1299+ if (item.filterButtonId === buttonId) {
1300+ item.onFilterPress?.();
1301+ return;
1302+ }
1303+ if (item.composeButtonId === buttonId) {
1304+ item.onComposePress?.();
1305+ return;
1306+ }
1307+ const searchTextChangePrefix = item.searchTextChangeId ? `${item.searchTextChangeId}:` : undefined;
1308+ if (searchTextChangePrefix && buttonId.startsWith(searchTextChangePrefix)) {
1309+ item.onSearchTextChange?.(buttonId.slice(searchTextChangePrefix.length));
1310+ return;
1311+ }
1312+ }
1313 } : undefined;
1314
1315 // Handle bar button menu item presses by deep-searching nested menus
1316@@ -52,7 +76,7 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1317 };
1318
1319 // Check each bar-button item with a menu
1320- const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])];
1321+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1322 for (const item of allItems) {
1323 if (item && item.type === 'menu' && item.menu) {
1324 const action = findInMenu(item.menu, event.nativeEvent.menuId);
1325@@ -60,6 +84,15 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1326 action.onPress();
1327 return;
1328 }
1329+ } else if (item && item.type === 'mailSearchToolbar') {
1330+ const toolbarMenus = [item.filterMenu, item.composeMenu].filter(Boolean);
1331+ for (const toolbarMenu of toolbarMenus) {
1332+ const action = findInMenu(toolbarMenu, event.nativeEvent.menuId);
1333+ if (action) {
1334+ action.onPress();
1335+ return;
1336+ }
1337+ }
1338 }
1339 }
1340 } : undefined;
1341@@ -67,6 +100,8 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1342 userInterfaceStyle: props.experimental_userInterfaceStyle,
1343 headerLeftBarButtonItems: preparedHeaderLeftBarButtonItems,
1344 headerRightBarButtonItems: preparedHeaderRightBarButtonItems,
1345+ headerCenterBarButtonItems: preparedHeaderCenterBarButtonItems,
1346+ headerToolbarItems: preparedHeaderToolbarItems,
1347 onPressHeaderBarButtonItem: onPressHeaderBarButtonItem,
1348 onPressHeaderBarButtonMenuItem: onPressHeaderBarButtonMenuItem,
1349 ref: ref,
1350diff --git a/lib/module/components/helpers/prepareHeaderBarButtonItems.js b/lib/module/components/helpers/prepareHeaderBarButtonItems.js
1351index 8a70ffd78617147418d628c03c580bb7ff9a8a72..8dbd0ba2ee61ee54d44cdf286a720ce26af01f26 100644
1352--- a/lib/module/components/helpers/prepareHeaderBarButtonItems.js
1353+++ b/lib/module/components/helpers/prepareHeaderBarButtonItems.js
1354@@ -35,10 +35,31 @@ const prepareMenu = (menu, index, side, path = '') => {
1355 };
1356 };
1357 export const prepareHeaderBarButtonItems = (barButtonItems, side) => {
1358- return barButtonItems?.map((item, index) => {
1359+ const items = Array.isArray(barButtonItems) ? barButtonItems : barButtonItems && typeof barButtonItems === 'object' && 'type' in barButtonItems ? [barButtonItems] : undefined;
1360+ return items?.map((item, index) => {
1361 if (item.type === 'spacing') {
1362 return item;
1363 }
1364+ if (item.type === 'searchBarPlacement') {
1365+ return {
1366+ ...item,
1367+ searchBarPlacement: true
1368+ };
1369+ }
1370+ if (item.type === 'searchField') {
1371+ return {
1372+ ...item,
1373+ searchField: true
1374+ };
1375+ }
1376+ if (item.type === 'mailSearchToolbar') {
1377+ return {
1378+ ...item,
1379+ mailSearchToolbar: true,
1380+ filterMenu: item.filterMenu ? prepareMenu(item.filterMenu, index, side, 'filter') : undefined,
1381+ composeMenu: item.composeMenu ? prepareMenu(item.composeMenu, index, side, 'compose') : undefined
1382+ };
1383+ }
1384 let imageSource, templateSource;
1385 if (item.icon?.type === 'imageSource') {
1386 imageSource = Image.resolveAssetSource(item.icon.imageSource);
1387diff --git a/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts b/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts
1388index b7568ecfebd4f4420f2a8d3fec5184d7fc728dd1..41ca1f273f0175929e73105faa463978323837e3 100644
1389--- a/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts
1390+++ b/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts
1391@@ -9,6 +9,7 @@ type OnPressHeaderBarButtonMenuItemEvent = Readonly<{
1392 menuId: string;
1393 }>;
1394 type BackButtonDisplayMode = 'minimal' | 'default' | 'generic';
1395+type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1396 type BlurEffect = 'none' | 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
1397 type UserInterfaceStyle = 'unspecified' | 'light' | 'dark';
1398 export interface NativeProps extends ViewProps {
1399@@ -32,18 +33,23 @@ export interface NativeProps extends ViewProps {
1400 largeTitleColor?: ColorValue | undefined;
1401 translucent?: boolean | undefined;
1402 title?: string | undefined;
1403+ subtitle?: string | undefined;
1404+ largeSubtitle?: string | undefined;
1405 titleFontFamily?: string | undefined;
1406 titleFontSize?: CT.Int32 | undefined;
1407 titleFontWeight?: string | undefined;
1408 titleColor?: ColorValue | undefined;
1409 disableBackButtonMenu?: boolean | undefined;
1410 backButtonDisplayMode?: CT.WithDefault<BackButtonDisplayMode, 'default'>;
1411+ navigationItemStyle?: CT.WithDefault<NavigationItemStyle, 'navigator'>;
1412 hideBackButton?: boolean | undefined;
1413 backButtonInCustomView?: boolean | undefined;
1414 blurEffect?: CT.WithDefault<BlurEffect, 'none'>;
1415 topInsetEnabled?: boolean | undefined;
1416 headerLeftBarButtonItems?: CT.UnsafeMixed[] | undefined;
1417 headerRightBarButtonItems?: CT.UnsafeMixed[] | undefined;
1418+ headerCenterBarButtonItems?: CT.UnsafeMixed[] | undefined;
1419+ headerToolbarItems?: CT.UnsafeMixed[] | undefined;
1420 onPressHeaderBarButtonItem?: CT.DirectEventHandler<OnPressHeaderBarButtonItemEvent> | undefined;
1421 onPressHeaderBarButtonMenuItem?: CT.DirectEventHandler<OnPressHeaderBarButtonMenuItemEvent> | undefined;
1422 synchronousShadowStateUpdatesEnabled?: CT.WithDefault<boolean, false>;
1423diff --git a/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts b/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts
1424index 1da0ea65ede8082de83884dd38c7c46b1988db67..1168b5d031efd3f796bb4448c1128e14de70f3fa 100644
1425--- a/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts
1426+++ b/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts
1427@@ -3,6 +3,7 @@ export type HeaderSubviewTypes = 'back' | 'right' | 'left' | 'title' | 'center'
1428 export interface NativeProps extends ViewProps {
1429 type?: CT.WithDefault<HeaderSubviewTypes, 'left'>;
1430 hidesSharedBackground?: boolean | undefined;
1431+ identifier?: string | undefined;
1432 synchronousShadowStateUpdatesEnabled?: CT.WithDefault<boolean, false>;
1433 }
1434 declare const _default: import("react-native").HostComponent<NativeProps>;
1435diff --git a/lib/typescript/types.d.ts b/lib/typescript/types.d.ts
1436index 3b384e03891e38e936f370372a682d73440e7ec2..f8ec3b46a92bf20e2845eb5867af5c372215a532 100644
1437--- a/lib/typescript/types.d.ts
1438+++ b/lib/typescript/types.d.ts
1439@@ -10,6 +10,7 @@ export type SearchBarCommands = {
1440 cancelSearch: () => void;
1441 };
1442 export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
1443+export type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1444 export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet' | 'pageSheet';
1445 export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios_from_right' | 'ios_from_left';
1446 export type BlurEffectTypes = BlurEffect;
1447@@ -631,6 +632,14 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1448 * @platform ios
1449 */
1450 backButtonDisplayMode?: BackButtonDisplayMode | undefined;
1451+ /**
1452+ * Controls the UIKit `UINavigationItem.style` used by native iOS headers.
1453+ *
1454+ * `editor` matches modern document/editor-style bars with leading-aligned compact titles and glass controls.
1455+ *
1456+ * @platform ios
1457+ */
1458+ navigationItemStyle?: NavigationItemStyle | undefined;
1459 /**
1460 * Array of UIBarButtomItems to the left side of the header.
1461 *
1462@@ -643,6 +652,26 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1463 * @platform ios
1464 */
1465 headerRightBarButtonItems?: HeaderBarButtonItem[] | undefined;
1466+ /**
1467+ * Array of UIBarButtonItems to the centered item group in modern iOS headers.
1468+ *
1469+ * This maps to `UINavigationItem.centerItemGroups` on iOS 26+ and lets
1470+ * document/editor-style chrome keep primary actions visually centered while
1471+ * leaving trailing search separate.
1472+ *
1473+ * @platform ios
1474+ */
1475+ headerCenterBarButtonItems?: HeaderBarButtonItem[] | undefined;
1476+ /**
1477+ * Array of UIBarButtonItems to display in the native toolbar attached to
1478+ * the current screen's navigation controller.
1479+ *
1480+ * On iOS 26+, this can contain a `searchBarPlacement` item to let UIKit
1481+ * render integrated Mail-style search chrome using the attached SearchBar.
1482+ *
1483+ * @platform ios
1484+ */
1485+ headerToolbarItems?: HeaderBarButtonItem[] | undefined;
1486 /**
1487 * When set to true the header will be hidden while the parent Screen is on the top of the stack. The default value is false.
1488 */
1489@@ -704,6 +733,20 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1490 * String that can be displayed in the header as a fallback for `headerTitle`.
1491 */
1492 title?: string | undefined;
1493+ /**
1494+ * String displayed below the compact navigation title on iOS 26+.
1495+ *
1496+ * @platform ios
1497+ */
1498+ subtitle?: string | undefined;
1499+ /**
1500+ * String displayed below the large navigation title on iOS 26+.
1501+ *
1502+ * Falls back to `subtitle` when omitted.
1503+ *
1504+ * @platform ios
1505+ */
1506+ largeSubtitle?: string | undefined;
1507 /**
1508 * Allows for setting text color of the title.
1509 */
1510@@ -963,6 +1006,13 @@ export interface SearchBarProps {
1511 shouldShowHintSearchIcon?: boolean | undefined;
1512 }
1513 export interface ScreenStackHeaderSubviewProps {
1514+ /**
1515+ * An identifier used to match this item across navigation bar transitions.
1516+ * Only applicable to type="right" and type="left" subviews on iOS 26.0 and later.
1517+ *
1518+ * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/identifier
1519+ */
1520+ identifier?: string | undefined;
1521 /**
1522 * A boolean value indicating whether the background this item may share with other items in the bar should be hidden.
1523 * Only applicable to type="right" and type="left" subviews.
1524@@ -1001,6 +1051,11 @@ interface SharedHeaderBarButtonItem {
1525 * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.property
1526 */
1527 variant?: 'plain' | 'done' | 'prominent' | undefined;
1528+ /**
1529+ * Render the item with UIButtonConfiguration.glassButtonConfiguration.
1530+ * Only available from iOS 26.0 and later.
1531+ */
1532+ glassEffect?: boolean | undefined;
1533 /**
1534 * The tint color to apply to the item.
1535 *
1536@@ -1145,8 +1200,38 @@ export interface HeaderBarButtonItemWithMenu extends SharedHeaderBarButtonItem {
1537 export interface HeaderBarButtonItemSpacing {
1538 type: 'spacing';
1539 spacing: number;
1540+ flexible?: boolean | undefined;
1541+}
1542+export interface HeaderBarButtonSearchBarPlacementItem {
1543+ type: 'searchBarPlacement';
1544+ activatesSearchController?: boolean | undefined;
1545+ customView?: boolean | undefined;
1546+ index?: number | undefined;
1547+ width?: number | undefined;
1548+}
1549+export interface HeaderBarButtonSearchFieldItem {
1550+ type: 'searchField';
1551+ placeholder?: string | undefined;
1552+ width?: number | undefined;
1553+}
1554+export interface HeaderBarButtonMailSearchToolbarItem {
1555+ type: 'mailSearchToolbar';
1556+ composeButtonId?: string | undefined;
1557+ composeMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1558+ composeSystemImageName?: string | undefined;
1559+ filterButtonId?: string | undefined;
1560+ filterMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1561+ filterSystemImageName?: string | undefined;
1562+ onComposePress?: (() => void) | undefined;
1563+ onFilterPress?: (() => void) | undefined;
1564+ onSearchTextChange?: ((text: string) => void) | undefined;
1565+ placeholder?: string | undefined;
1566+ searchTextChangeId?: string | undefined;
1567+ showsSearchDismissButton?: boolean | undefined;
1568+ useFallbackSearchField?: boolean | undefined;
1569+ width?: number | undefined;
1570 }
1571-export type HeaderBarButtonItem = HeaderBarButtonItemWithAction | HeaderBarButtonItemWithMenu | HeaderBarButtonItemSpacing;
1572+export type HeaderBarButtonItem = HeaderBarButtonItemWithAction | HeaderBarButtonItemWithMenu | HeaderBarButtonMailSearchToolbarItem | HeaderBarButtonSearchFieldItem | HeaderBarButtonSearchBarPlacementItem | HeaderBarButtonItemSpacing;
1573 /**
1574 * Custom Screen Transition
1575 */
1576diff --git a/src/components/ScreenStackHeaderConfig.tsx b/src/components/ScreenStackHeaderConfig.tsx
1577index 421b3c2545426ae957271bd6515bcf827437541c..0ca6f1d7f324eaf257891a3bbb0aab210aa30f6f 100644
1578--- a/src/components/ScreenStackHeaderConfig.tsx
1579+++ b/src/components/ScreenStackHeaderConfig.tsx
1580@@ -39,7 +39,12 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1581 props.disableTopInsetApplication ?? false,
1582 );
1583
1584- const { headerLeftBarButtonItems, headerRightBarButtonItems } = props;
1585+ const {
1586+ headerLeftBarButtonItems,
1587+ headerRightBarButtonItems,
1588+ headerCenterBarButtonItems,
1589+ headerToolbarItems,
1590+ } = props;
1591
1592 const preparedHeaderLeftBarButtonItems =
1593 headerLeftBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform
1594@@ -49,22 +54,36 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1595 headerRightBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform
1596 ? prepareHeaderBarButtonItems(headerRightBarButtonItems, 'right')
1597 : undefined;
1598+ const preparedHeaderCenterBarButtonItems =
1599+ headerCenterBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform
1600+ ? prepareHeaderBarButtonItems(headerCenterBarButtonItems, 'right')
1601+ : undefined;
1602+ const preparedHeaderToolbarItems =
1603+ headerToolbarItems && isHeaderBarButtonsAvailableForCurrentPlatform
1604+ ? prepareHeaderBarButtonItems(headerToolbarItems, 'right')
1605+ : undefined;
1606 const hasHeaderBarButtonItems =
1607 isHeaderBarButtonsAvailableForCurrentPlatform &&
1608 (preparedHeaderLeftBarButtonItems?.length ||
1609- preparedHeaderRightBarButtonItems?.length);
1610+ preparedHeaderRightBarButtonItems?.length ||
1611+ preparedHeaderCenterBarButtonItems?.length ||
1612+ preparedHeaderToolbarItems?.length);
1613
1614 // Handle bar button item presses
1615 const onPressHeaderBarButtonItem = hasHeaderBarButtonItems
1616 ? (event: NativeSyntheticEvent<{ buttonId: string }>) => {
1617- const pressedItem = [
1618+ const buttonId = event.nativeEvent.buttonId;
1619+ const allItems = [
1620 ...(preparedHeaderLeftBarButtonItems ?? []),
1621 ...(preparedHeaderRightBarButtonItems ?? []),
1622- ].find(
1623+ ...(preparedHeaderCenterBarButtonItems ?? []),
1624+ ...(preparedHeaderToolbarItems ?? []),
1625+ ];
1626+ const pressedItem = allItems.find(
1627 item =>
1628 item &&
1629 'buttonId' in item &&
1630- item.buttonId === event.nativeEvent.buttonId,
1631+ item.buttonId === buttonId,
1632 );
1633 if (
1634 pressedItem &&
1635@@ -73,6 +92,31 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1636 ) {
1637 pressedItem.onPress();
1638 }
1639+ for (const item of allItems) {
1640+ if (!item || item.type !== 'mailSearchToolbar') {
1641+ continue;
1642+ }
1643+ if (item.filterButtonId === buttonId) {
1644+ item.onFilterPress?.();
1645+ return;
1646+ }
1647+ if (item.composeButtonId === buttonId) {
1648+ item.onComposePress?.();
1649+ return;
1650+ }
1651+ const searchTextChangePrefix = item.searchTextChangeId
1652+ ? `${item.searchTextChangeId}:`
1653+ : undefined;
1654+ if (
1655+ searchTextChangePrefix &&
1656+ buttonId.startsWith(searchTextChangePrefix)
1657+ ) {
1658+ item.onSearchTextChange?.(
1659+ buttonId.slice(searchTextChangePrefix.length),
1660+ );
1661+ return;
1662+ }
1663+ }
1664 }
1665 : undefined;
1666
1667@@ -102,6 +146,8 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1668 const allItems = [
1669 ...(preparedHeaderLeftBarButtonItems ?? []),
1670 ...(preparedHeaderRightBarButtonItems ?? []),
1671+ ...(preparedHeaderCenterBarButtonItems ?? []),
1672+ ...(preparedHeaderToolbarItems ?? []),
1673 ];
1674 for (const item of allItems) {
1675 if (item && item.type === 'menu' && item.menu) {
1676@@ -110,6 +156,17 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1677 action.onPress();
1678 return;
1679 }
1680+ } else if (item && item.type === 'mailSearchToolbar') {
1681+ const toolbarMenus = [item.filterMenu, item.composeMenu].filter(
1682+ Boolean,
1683+ );
1684+ for (const toolbarMenu of toolbarMenus) {
1685+ const action = findInMenu(toolbarMenu, event.nativeEvent.menuId);
1686+ if (action) {
1687+ action.onPress();
1688+ return;
1689+ }
1690+ }
1691 }
1692 }
1693 }
1694@@ -121,6 +178,8 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1695 userInterfaceStyle={props.experimental_userInterfaceStyle}
1696 headerLeftBarButtonItems={preparedHeaderLeftBarButtonItems}
1697 headerRightBarButtonItems={preparedHeaderRightBarButtonItems}
1698+ headerCenterBarButtonItems={preparedHeaderCenterBarButtonItems}
1699+ headerToolbarItems={preparedHeaderToolbarItems}
1700 onPressHeaderBarButtonItem={onPressHeaderBarButtonItem}
1701 onPressHeaderBarButtonMenuItem={onPressHeaderBarButtonMenuItem}
1702 ref={ref}
1703diff --git a/src/components/helpers/prepareHeaderBarButtonItems.ts b/src/components/helpers/prepareHeaderBarButtonItems.ts
1704index be2c24dfee77f5883b5ab1d7473be80933b5dc6f..0b038d2005b2d51bbb2ab1d7dba7eaccda83d42f 100644
1705--- a/src/components/helpers/prepareHeaderBarButtonItems.ts
1706+++ b/src/components/helpers/prepareHeaderBarButtonItems.ts
1707@@ -50,13 +50,43 @@ const prepareMenu = (
1708 };
1709
1710 export const prepareHeaderBarButtonItems = (
1711- barButtonItems: HeaderBarButtonItem[],
1712+ barButtonItems:
1713+ | HeaderBarButtonItem[]
1714+ | HeaderBarButtonItem
1715+ | null
1716+ | undefined,
1717 side: 'left' | 'right',
1718 ) => {
1719- return barButtonItems?.map((item, index) => {
1720+ const items = Array.isArray(barButtonItems)
1721+ ? barButtonItems
1722+ : barButtonItems && typeof barButtonItems === 'object' && 'type' in barButtonItems
1723+ ? [barButtonItems]
1724+ : undefined;
1725+
1726+ return items?.map((item, index) => {
1727 if (item.type === 'spacing') {
1728 return item;
1729 }
1730+ if (item.type === 'searchBarPlacement') {
1731+ return {
1732+ ...item,
1733+ searchBarPlacement: true,
1734+ };
1735+ }
1736+ if (item.type === 'searchField') {
1737+ return {
1738+ ...item,
1739+ searchField: true,
1740+ };
1741+ }
1742+ if (item.type === 'mailSearchToolbar') {
1743+ return {
1744+ ...item,
1745+ mailSearchToolbar: true,
1746+ filterMenu: item.filterMenu ? prepareMenu(item.filterMenu, index, side, 'filter') : undefined,
1747+ composeMenu: item.composeMenu ? prepareMenu(item.composeMenu, index, side, 'compose') : undefined,
1748+ };
1749+ }
1750 let imageSource, templateSource;
1751 if (item.icon?.type === 'imageSource') {
1752 imageSource = Image.resolveAssetSource(item.icon.imageSource);
1753diff --git a/src/fabric/ScreenStackHeaderConfigNativeComponent.ts b/src/fabric/ScreenStackHeaderConfigNativeComponent.ts
1754index ba2479de0f49c112470f78c5084059ddd9e2f3e8..8677583a8f8daa4839340467466bfab8d73111ab 100644
1755--- a/src/fabric/ScreenStackHeaderConfigNativeComponent.ts
1756+++ b/src/fabric/ScreenStackHeaderConfigNativeComponent.ts
1757@@ -14,6 +14,7 @@ type OnPressHeaderBarButtonItemEvent = Readonly<{ buttonId: string }>;
1758 type OnPressHeaderBarButtonMenuItemEvent = Readonly<{ menuId: string }>;
1759
1760 type BackButtonDisplayMode = 'minimal' | 'default' | 'generic';
1761+type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1762
1763 type BlurEffect =
1764 | 'none'
1765@@ -61,12 +62,15 @@ export interface NativeProps extends ViewProps {
1766 largeTitleColor?: ColorValue | undefined;
1767 translucent?: boolean | undefined;
1768 title?: string | undefined;
1769+ subtitle?: string | undefined;
1770+ largeSubtitle?: string | undefined;
1771 titleFontFamily?: string | undefined;
1772 titleFontSize?: CT.Int32 | undefined;
1773 titleFontWeight?: string | undefined;
1774 titleColor?: ColorValue | undefined;
1775 disableBackButtonMenu?: boolean | undefined;
1776 backButtonDisplayMode?: CT.WithDefault<BackButtonDisplayMode, 'default'>;
1777+ navigationItemStyle?: CT.WithDefault<NavigationItemStyle, 'navigator'>;
1778 hideBackButton?: boolean | undefined;
1779 backButtonInCustomView?: boolean | undefined;
1780 blurEffect?: CT.WithDefault<BlurEffect, 'none'>;
1781@@ -74,6 +78,8 @@ export interface NativeProps extends ViewProps {
1782 topInsetEnabled?: boolean | undefined;
1783 headerLeftBarButtonItems?: CT.UnsafeMixed[] | undefined;
1784 headerRightBarButtonItems?: CT.UnsafeMixed[] | undefined;
1785+ headerCenterBarButtonItems?: CT.UnsafeMixed[] | undefined;
1786+ headerToolbarItems?: CT.UnsafeMixed[] | undefined;
1787 onPressHeaderBarButtonItem?:
1788 | CT.DirectEventHandler<OnPressHeaderBarButtonItemEvent>
1789 | undefined;
1790diff --git a/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts b/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts
1791index 9b7832bff0e1c8226ed652d3c90b3a330c6d9b20..17a7eace328f9a825c570a92d549d69195e94568 100644
1792--- a/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts
1793+++ b/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts
1794@@ -14,6 +14,7 @@ export type HeaderSubviewTypes =
1795 export interface NativeProps extends ViewProps {
1796 type?: CT.WithDefault<HeaderSubviewTypes, 'left'>;
1797 hidesSharedBackground?: boolean | undefined;
1798+ identifier?: string | undefined;
1799 synchronousShadowStateUpdatesEnabled?: CT.WithDefault<boolean, false>;
1800 }
1801
1802diff --git a/src/types.tsx b/src/types.tsx
1803index 76a83f3acb6fd3f0af7f027798848b7124100286..39f0ae8065f4dc99a1571a3fc1cb3398caf03ff7 100644
1804--- a/src/types.tsx
1805+++ b/src/types.tsx
1806@@ -26,6 +26,7 @@ export type SearchBarCommands = {
1807 };
1808
1809 export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
1810+export type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1811 export type StackPresentationTypes =
1812 | 'push'
1813 | 'modal'
1814@@ -735,6 +736,14 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1815 * @platform ios
1816 */
1817 backButtonDisplayMode?: BackButtonDisplayMode | undefined;
1818+ /**
1819+ * Controls the UIKit `UINavigationItem.style` used by native iOS headers.
1820+ *
1821+ * `editor` matches modern document/editor-style bars with leading-aligned compact titles and glass controls.
1822+ *
1823+ * @platform ios
1824+ */
1825+ navigationItemStyle?: NavigationItemStyle | undefined;
1826 /**
1827 * Array of UIBarButtomItems to the left side of the header.
1828 *
1829@@ -747,6 +756,26 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1830 * @platform ios
1831 */
1832 headerRightBarButtonItems?: HeaderBarButtonItem[] | undefined;
1833+ /**
1834+ * Array of UIBarButtonItems to the centered item group in modern iOS headers.
1835+ *
1836+ * This maps to `UINavigationItem.centerItemGroups` on iOS 26+ and lets
1837+ * document/editor-style chrome keep primary actions visually centered while
1838+ * leaving trailing search separate.
1839+ *
1840+ * @platform ios
1841+ */
1842+ headerCenterBarButtonItems?: HeaderBarButtonItem[] | undefined;
1843+ /**
1844+ * Array of UIBarButtonItems to display in the native toolbar attached to
1845+ * the current screen's navigation controller.
1846+ *
1847+ * On iOS 26+, this can contain a `searchBarPlacement` item to let UIKit
1848+ * render integrated Mail-style search chrome using the attached SearchBar.
1849+ *
1850+ * @platform ios
1851+ */
1852+ headerToolbarItems?: HeaderBarButtonItem[] | undefined;
1853 /**
1854 * When set to true the header will be hidden while the parent Screen is on the top of the stack. The default value is false.
1855 */
1856@@ -808,6 +837,20 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1857 * String that can be displayed in the header as a fallback for `headerTitle`.
1858 */
1859 title?: string | undefined;
1860+ /**
1861+ * String displayed below the compact navigation title on iOS 26+.
1862+ *
1863+ * @platform ios
1864+ */
1865+ subtitle?: string | undefined;
1866+ /**
1867+ * String displayed below the large navigation title on iOS 26+.
1868+ *
1869+ * Falls back to `subtitle` when omitted.
1870+ *
1871+ * @platform ios
1872+ */
1873+ largeSubtitle?: string | undefined;
1874 /**
1875 * Allows for setting text color of the title.
1876 */
1877@@ -1084,6 +1127,13 @@ export interface SearchBarProps {
1878 }
1879
1880 export interface ScreenStackHeaderSubviewProps {
1881+ /**
1882+ * An identifier used to match this item across navigation bar transitions.
1883+ * Only applicable to type="right" and type="left" subviews on iOS 26.0 and later.
1884+ *
1885+ * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/identifier
1886+ */
1887+ identifier?: string | undefined;
1888 /**
1889 * A boolean value indicating whether the background this item may share with other items in the bar should be hidden.
1890 * Only applicable to type="right" and type="left" subviews.
1891@@ -1125,6 +1175,11 @@ interface SharedHeaderBarButtonItem {
1892 * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.property
1893 */
1894 variant?: 'plain' | 'done' | 'prominent' | undefined;
1895+ /**
1896+ * Render the item with UIButtonConfiguration.glassButtonConfiguration.
1897+ * Only available from iOS 26.0 and later.
1898+ */
1899+ glassEffect?: boolean | undefined;
1900 /**
1901 * The tint color to apply to the item.
1902 *
1903@@ -1279,11 +1334,47 @@ export interface HeaderBarButtonItemWithMenu extends SharedHeaderBarButtonItem {
1904 export interface HeaderBarButtonItemSpacing {
1905 type: 'spacing';
1906 spacing: number;
1907+ flexible?: boolean | undefined;
1908+}
1909+
1910+export interface HeaderBarButtonSearchBarPlacementItem {
1911+ type: 'searchBarPlacement';
1912+ activatesSearchController?: boolean | undefined;
1913+ customView?: boolean | undefined;
1914+ index?: number | undefined;
1915+ width?: number | undefined;
1916+}
1917+
1918+export interface HeaderBarButtonSearchFieldItem {
1919+ type: 'searchField';
1920+ placeholder?: string | undefined;
1921+ width?: number | undefined;
1922+}
1923+
1924+export interface HeaderBarButtonMailSearchToolbarItem {
1925+ type: 'mailSearchToolbar';
1926+ composeButtonId?: string | undefined;
1927+ composeMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1928+ composeSystemImageName?: string | undefined;
1929+ filterButtonId?: string | undefined;
1930+ filterMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1931+ filterSystemImageName?: string | undefined;
1932+ onComposePress?: (() => void) | undefined;
1933+ onFilterPress?: (() => void) | undefined;
1934+ onSearchTextChange?: ((text: string) => void) | undefined;
1935+ placeholder?: string | undefined;
1936+ searchTextChangeId?: string | undefined;
1937+ showsSearchDismissButton?: boolean | undefined;
1938+ useFallbackSearchField?: boolean | undefined;
1939+ width?: number | undefined;
1940 }
1941
1942 export type HeaderBarButtonItem =
1943 | HeaderBarButtonItemWithAction
1944 | HeaderBarButtonItemWithMenu
1945+ | HeaderBarButtonMailSearchToolbarItem
1946+ | HeaderBarButtonSearchFieldItem
1947+ | HeaderBarButtonSearchBarPlacementItem
1948 | HeaderBarButtonItemSpacing;
1949
1950 /**
patches/react-native-screens@4.26.2.patch created+1952
...@@ -0,0 +1,1952 @@
1diff --git a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt
2index fa1b77317f609983ae2434764174072e51130550..270c81c90971b0ff3038b999973dd4d128a9d140 100644
3--- a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt
4+++ b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt
5@@ -124,6 +124,34 @@ class ScreenStackHeaderConfigViewManager :
6 config.setTitle(title)
7 }
8
9+ // The t3 patch adds these iOS glass-chrome props to the native spec; they have
10+ // no Android implementation, but the codegen-generated interface requires the
11+ // setters to exist. No-ops keep the Android build compiling.
12+ override fun setSubtitle(
13+ config: ScreenStackHeaderConfig,
14+ subtitle: String?,
15+ ) = Unit
16+
17+ override fun setLargeSubtitle(
18+ config: ScreenStackHeaderConfig,
19+ largeSubtitle: String?,
20+ ) = Unit
21+
22+ override fun setNavigationItemStyle(
23+ config: ScreenStackHeaderConfig,
24+ navigationItemStyle: String?,
25+ ) = Unit
26+
27+ override fun setHeaderCenterBarButtonItems(
28+ config: ScreenStackHeaderConfig,
29+ headerCenterBarButtonItems: ReadableArray?,
30+ ) = Unit
31+
32+ override fun setHeaderToolbarItems(
33+ config: ScreenStackHeaderConfig,
34+ headerToolbarItems: ReadableArray?,
35+ ) = Unit
36+
37 override fun setTitleFontFamily(
38 config: ScreenStackHeaderConfig,
39 titleFontFamily: String?,
40diff --git a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt
41index 64f14f0c5ade16eb9519b8780d4ce013f88fbd3a..6cb1d69f97a95759c662a6006a9626925d9fefd9 100644
42--- a/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt
43+++ b/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt
44@@ -47,6 +47,12 @@ class ScreenStackHeaderSubviewManager :
45 Log.w("[RNScreens]", "hidesSharedBackground prop is not available on Android")
46 }
47
48+ // Bar button transition identifiers only apply on iOS.
49+ override fun setIdentifier(
50+ view: ScreenStackHeaderSubview,
51+ identifier: String?,
52+ ) = Unit
53+
54 // synchronousShadowStateUpdatesEnabled is not available on Android atm,
55 // however we must override their setters
56 override fun setSynchronousShadowStateUpdatesEnabled(
57diff --git a/ios/RNSBarButtonItem.h b/ios/RNSBarButtonItem.h
58index a26d1254eafd89268f65d968988cf6a3b8c1e457..62eea42ac26c532801189556c5f51012c3df3a52 100644
59--- a/ios/RNSBarButtonItem.h
60+++ b/ios/RNSBarButtonItem.h
61@@ -15,6 +15,10 @@ typedef void (^RNSBarButtonMenuItemAction)(NSString *menuId);
62 action:(RNSBarButtonItemAction)action
63 menuAction:(RNSBarButtonMenuItemAction)menuAction
64 imageLoader:(RCTImageLoader *)imageLoader;
65+
66++ (UIMenu *)initUIMenuWithDict:(NSDictionary<NSString *, id> *)dict
67+ menuAction:(RNSBarButtonMenuItemAction)menuAction
68+ imageLoader:(RCTImageLoader *)imageLoader;
69 #endif // defined(__cplusplus)
70
71 @end
72diff --git a/ios/RNSBarButtonItem.mm b/ios/RNSBarButtonItem.mm
73index 0eb1f09dee82edd99e3e614938233db5cdeaebfe..73298f10807520970f625e166d7f5dd1338206f1 100644
74--- a/ios/RNSBarButtonItem.mm
75+++ b/ios/RNSBarButtonItem.mm
76@@ -110,6 +110,58 @@ - (instancetype)initWithConfig:(NSDictionary<NSString *, id> *)dict
77 if (dict[@"accessibilityHint"]) {
78 self.accessibilityHint = dict[@"accessibilityHint"];
79 }
80+#if !TARGET_OS_TV && RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
81+ NSNumber *glassEffectNum = dict[@"glassEffect"];
82+ if (@available(iOS 26.0, *)) {
83+ if ([glassEffectNum boolValue]) {
84+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
85+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
86+ UIBackgroundConfiguration *background = configuration.background;
87+ background.strokeWidth = 0.0;
88+ background.strokeColor = UIColor.clearColor;
89+ configuration.background = background;
90+ configuration.contentInsets = NSDirectionalEdgeInsetsZero;
91+ if (title != nil) {
92+ configuration.title = title;
93+ }
94+
95+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
96+ button.translatesAutoresizingMaskIntoConstraints = NO;
97+ button.enabled = self.enabled;
98+ button.accessibilityLabel = self.accessibilityLabel;
99+ button.accessibilityHint = self.accessibilityHint;
100+
101+ CGFloat resolvedWidth = width != nil ? width.doubleValue : 56.0;
102+ [button.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
103+ [button.heightAnchor constraintEqualToConstant:50.0].active = YES;
104+
105+ [[self class] resolveImageFromConfig:dict
106+ imageLoader:imageLoader
107+ completionBlock:^(UIImage *img) {
108+ UIButtonConfiguration *updatedConfiguration = button.configuration;
109+ updatedConfiguration.image = img;
110+ button.configuration = updatedConfiguration;
111+ }];
112+
113+ NSDictionary *menu = dict[@"menu"];
114+ if (menu) {
115+ button.menu = [[self class] initUIMenuWithDict:menu menuAction:menuAction imageLoader:imageLoader];
116+ button.showsMenuAsPrimaryAction = YES;
117+ } else {
118+ NSString *buttonId = dict[@"buttonId"];
119+ if (buttonId && action) {
120+ UIAction *pressAction = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull sender) {
121+ action(buttonId);
122+ }];
123+ [button addAction:pressAction forControlEvents:UIControlEventTouchUpInside];
124+ }
125+ }
126+
127+ self.customView = button;
128+ return self;
129+ }
130+ }
131+#endif
132
133 #if !TARGET_OS_TV || __TV_OS_VERSION_MAX_ALLOWED >= 170000
134 if (@available(tvOS 17.0, *)) {
135diff --git a/ios/RNSScreenStackHeaderConfig.h b/ios/RNSScreenStackHeaderConfig.h
136index 8a41697223f6c4b5cb2dd6d450fc58cbb3b27536..309ba2f762068dcf452c172f7c7cbf2a55d03cb2 100644
137--- a/ios/RNSScreenStackHeaderConfig.h
138+++ b/ios/RNSScreenStackHeaderConfig.h
139@@ -23,6 +23,8 @@
140 NS_ASSUME_NONNULL_BEGIN
141
142 @property (nonatomic, retain) NSString *title;
143+@property (nonatomic, retain) NSString *subtitle;
144+@property (nonatomic, retain) NSString *largeSubtitle;
145 @property (nonatomic, retain) NSString *titleFontFamily;
146 @property (nonatomic, retain) NSNumber *titleFontSize;
147 @property (nonatomic, retain) NSString *titleFontWeight;
148@@ -47,9 +49,12 @@ NS_ASSUME_NONNULL_BEGIN
149 @property (nonatomic) BOOL backButtonInCustomView;
150 @property (nonatomic) UISemanticContentAttribute direction;
151 @property (nonatomic) UINavigationItemBackButtonDisplayMode backButtonDisplayMode;
152+@property (nonatomic) NSInteger navigationItemStyle;
153 @property (nonatomic) RNSBlurEffectStyle blurEffect;
154 @property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerRightBarButtonItems;
155 @property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerLeftBarButtonItems;
156+@property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerCenterBarButtonItems;
157+@property (nonatomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> *headerToolbarItems;
158 @property (nonatomic, readwrite) BOOL synchronousShadowStateUpdatesEnabled;
159
160 NS_ASSUME_NONNULL_END
161diff --git a/ios/RNSScreenStackHeaderConfig.mm b/ios/RNSScreenStackHeaderConfig.mm
162index 1c844846a5c66e31cfa530ca462774d2fb6bbea1..d36bda28552e5ac75088e18d0fde338eff90c694 100644
163--- a/ios/RNSScreenStackHeaderConfig.mm
164+++ b/ios/RNSScreenStackHeaderConfig.mm
165@@ -24,11 +24,46 @@
166 #import "RNSSearchBar.h"
167 #import "UINavigationBar+RNSUtility.h"
168
169+#import <objc/runtime.h>
170+
171 namespace react = facebook::react;
172
173 static const NSNumber *const DEFAULT_TITLE_FONT_SIZE = @17;
174+
175+#if !TARGET_OS_TV
176+// Each placement keeps its own cache so changes to one side do not move live
177+// items on the other side into new groups during a navigation transition.
178+static char RNSAppliedLeadingHeaderItemsKey;
179+static char RNSAppliedTrailingHeaderItemsKey;
180+static char RNSAppliedCenterHeaderItemsKey;
181+
182+// Records a placement's owner and contents, returning whether they changed.
183+static BOOL RNSUpdateHeaderItemsCache(UINavigationItem *navitem, const void *key, NSArray *itemsKey)
184+{
185+ if ([objc_getAssociatedObject(navitem, key) isEqual:itemsKey]) {
186+ return NO;
187+ }
188+ objc_setAssociatedObject(navitem, key, itemsKey, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
189+ return YES;
190+}
191+#endif
192+static char RNSAppliedToolbarConfigsKey;
193 static const NSNumber *const DEFAULT_TITLE_LARGE_FONT_SIZE = @34;
194
195+static NSInteger navigationItemStyleFromCppEquivalent(
196+ react::RNSScreenStackHeaderConfigNavigationItemStyle navigationItemStyle)
197+{
198+ switch (navigationItemStyle) {
199+ case react::RNSScreenStackHeaderConfigNavigationItemStyle::Browser:
200+ return UINavigationItemStyleBrowser;
201+ case react::RNSScreenStackHeaderConfigNavigationItemStyle::Editor:
202+ return UINavigationItemStyleEditor;
203+ case react::RNSScreenStackHeaderConfigNavigationItemStyle::Navigator:
204+ default:
205+ return UINavigationItemStyleNavigator;
206+ }
207+}
208+
209 @interface RCTImageLoader (Private)
210 - (id<RCTImageCache>)imageCache;
211 @end
212@@ -46,6 +81,9 @@ + (BOOL)rnscreens_isBlankOrNull:(NSString *)string
213 @end
214
215 @interface RNSScreenStackHeaderConfig () <RCTMountingTransactionObserving>
216+#if !TARGET_OS_TV
217+- (NSArray<UIBarButtonItemGroup *> *)barButtonItemGroupsFromItems:(NSArray<UIBarButtonItem *> *)items;
218+#endif
219 @end
220
221 @implementation RNSScreenStackHeaderConfig {
222@@ -80,6 +118,7 @@ - (void)initProps
223 self.hidden = YES;
224 _reactSubviews = [NSMutableArray new];
225 _backTitleVisible = YES;
226+ _navigationItemStyle = UINavigationItemStyleNavigator;
227 _blurEffect = RNSBlurEffectStyleNone;
228 _synchronousShadowStateUpdatesEnabled = YES;
229 }
230@@ -507,6 +546,10 @@ + (void)updateViewController:(UIViewController *)vc
231
232 if (shouldHide) {
233 navitem.title = config.title;
234+ if (@available(iOS 26.0, *)) {
235+ navitem.subtitle = config.subtitle;
236+ navitem.largeSubtitle = config.largeSubtitle;
237+ }
238
239 // Setting navigation bar visibility is split to mitigate iOS 26 bug with bar button items.
240 [navctr setNavigationBarHidden:YES animated:animated];
241@@ -523,11 +566,19 @@ + (void)updateViewController:(UIViewController *)vc
242 }
243 navitem.largeTitleDisplayMode =
244 config.largeTitle ? UINavigationItemLargeTitleDisplayModeAlways : UINavigationItemLargeTitleDisplayModeNever;
245+
246+ if (@available(iOS 16.0, *)) {
247+ navitem.style = (UINavigationItemStyle)config.navigationItemStyle;
248+ }
249 #endif
250
251 UINavigationBarAppearance *appearance = [self buildAppearance:vc withConfig:config];
252 navitem.standardAppearance = appearance;
253 navitem.compactAppearance = appearance;
254+ if (@available(iOS 26.0, *)) {
255+ navitem.subtitle = config.subtitle;
256+ navitem.largeSubtitle = config.largeSubtitle;
257+ }
258
259 // appearance does not apply to the tvOS so we need to use lagacy customization
260 #if TARGET_OS_TV
261@@ -559,8 +610,6 @@ + (void)updateViewController:(UIViewController *)vc
262 navitem.leftItemsSupplementBackButton = config.backButtonInCustomView;
263 #endif
264 navitem.titleView = nil;
265- navitem.leftBarButtonItems = nil;
266- navitem.rightBarButtonItems = nil;
267
268 #if !TARGET_OS_TV
269 // We want to set navitem.searchController to nil only if we are sure
270@@ -568,22 +617,18 @@ + (void)updateViewController:(UIViewController *)vc
271 bool searchBarPresent = false;
272 #endif /* !TARGET_OS_TV */
273
274+ NSMutableArray<UIBarButtonItem *> *subviewLeftItems = [NSMutableArray array];
275+ NSMutableArray<UIBarButtonItem *> *subviewRightItems = [NSMutableArray array];
276 for (RNSScreenStackHeaderSubview *subview in config.reactSubviews) {
277 // This code should be kept in sync on Fabric with analogous switch statement in
278 // `- [RNSScreenStackHeaderConfig replaceNavigationBarViewsWithSnapshotOfSubview:]` method.
279 switch (subview.type) {
280 case RNSScreenStackHeaderSubviewTypeLeft: {
281- NSArray<UIBarButtonItem *> *currentItems = navitem.leftBarButtonItems ?: @[];
282- NSMutableArray<UIBarButtonItem *> *mutableItems = [currentItems mutableCopy];
283- [mutableItems addObject:[subview getUIBarButtonItem]];
284- navitem.leftBarButtonItems = mutableItems;
285+ [subviewLeftItems addObject:[subview getUIBarButtonItem]];
286 break;
287 }
288 case RNSScreenStackHeaderSubviewTypeRight: {
289- NSArray<UIBarButtonItem *> *currentItems = navitem.rightBarButtonItems ?: @[];
290- NSMutableArray<UIBarButtonItem *> *mutableItems = [currentItems mutableCopy];
291- [mutableItems addObject:[subview getUIBarButtonItem]];
292- navitem.rightBarButtonItems = mutableItems;
293+ [subviewRightItems addObject:[subview getUIBarButtonItem]];
294 break;
295 }
296 case RNSScreenStackHeaderSubviewTypeCenter:
297@@ -648,10 +693,453 @@ + (void)updateViewController:(UIViewController *)vc
298 // This assignment should be done after `navitem.titleView = ...` assignment (iOS 16.0 bug).
299 // See: https://github.com/software-mansion/react-native-screens/issues/1570 (comments)
300 navitem.title = config.title;
301- navitem.leftBarButtonItems = [config barButtonItemsFromConfigs:config.headerLeftBarButtonItems
302- withCurrentItems:navitem.leftBarButtonItems];
303- navitem.rightBarButtonItems = [config barButtonItemsFromConfigs:config.headerRightBarButtonItems
304- withCurrentItems:navitem.rightBarButtonItems];
305+ // Retain the config in the key so its address cannot be reused while cached.
306+ // Items capture this config's event emitter in their press handlers, so a
307+ // remounted header-config view with value-equal configs must still rebuild
308+ // instead of dispatching presses into the old config's emitter.
309+ // getUIBarButtonItem is stable for the lifetime of its React header
310+ // subview. Include those native identities in the key so React-backed
311+ // items can use the same cache without reusing a group after its view was
312+ // replaced.
313+ // A bar button item can belong to only one group. Even if the item itself
314+ // is reused, constructing a new group removes it from the old group that
315+ // UIKit may still be animating. Preserve each unchanged placement's group,
316+ // including the empty leading group beside the system back button.
317+#if !TARGET_OS_TV
318+ if (@available(iOS 16.0, *)) {
319+ NSArray *headerLeftConfigs = config.headerLeftBarButtonItems ?: @[];
320+ NSArray *headerRightConfigs = config.headerRightBarButtonItems ?: @[];
321+ NSArray *headerCenterConfigs = config.headerCenterBarButtonItems ?: @[];
322+ if (RNSUpdateHeaderItemsCache(
323+ navitem, &RNSAppliedLeadingHeaderItemsKey, @[ config, headerLeftConfigs, subviewLeftItems ])) {
324+ NSArray *items = [config barButtonItemsFromConfigs:config.headerLeftBarButtonItems
325+ withCurrentItems:subviewLeftItems
326+ navigationItem:navitem];
327+ navitem.leadingItemGroups = [config barButtonItemGroupsFromItems:items];
328+ }
329+ if (RNSUpdateHeaderItemsCache(
330+ navitem, &RNSAppliedTrailingHeaderItemsKey, @[ config, headerRightConfigs, subviewRightItems ])) {
331+ NSArray *items = [config barButtonItemsFromConfigs:config.headerRightBarButtonItems
332+ withCurrentItems:subviewRightItems
333+ navigationItem:navitem];
334+ navitem.trailingItemGroups = [config barButtonItemGroupsFromItems:items];
335+ }
336+ if (@available(iOS 26.0, *)) {
337+ if (RNSUpdateHeaderItemsCache(navitem, &RNSAppliedCenterHeaderItemsKey, @[ config, headerCenterConfigs ])) {
338+ NSArray *items = [config barButtonItemsFromConfigs:config.headerCenterBarButtonItems
339+ withCurrentItems:@[]
340+ navigationItem:navitem];
341+ navitem.centerItemGroups = [config barButtonItemGroupsFromItems:items];
342+ }
343+ }
344+ } else
345+#endif
346+ {
347+ NSArray<UIBarButtonItem *> *leftBarButtonItems = [config barButtonItemsFromConfigs:config.headerLeftBarButtonItems
348+ withCurrentItems:subviewLeftItems
349+ navigationItem:navitem];
350+ NSArray<UIBarButtonItem *> *rightBarButtonItems = [config barButtonItemsFromConfigs:config.headerRightBarButtonItems
351+ withCurrentItems:subviewRightItems
352+ navigationItem:navitem];
353+ navitem.leftBarButtonItems = leftBarButtonItems;
354+ navitem.rightBarButtonItems = rightBarButtonItems;
355+ }
356+ NSDictionary<NSString *, id> *mailSearchToolbarConfig = nil;
357+ for (NSDictionary<NSString *, id> *toolbarConfig in config.headerToolbarItems) {
358+ if (toolbarConfig[@"mailSearchToolbar"]) {
359+ mailSearchToolbarConfig = toolbarConfig;
360+ break;
361+ }
362+ }
363+ if (mailSearchToolbarConfig == nil) {
364+ for (NSDictionary<NSString *, id> *rightConfig in config.headerRightBarButtonItems) {
365+ if ([rightConfig[@"bottomMailSearchToolbar"] boolValue]) {
366+ mailSearchToolbarConfig = rightConfig;
367+ break;
368+ }
369+ }
370+ }
371+
372+ static NSInteger const RNSMailSearchToolbarViewTag = 260628;
373+ UIView *chromeHostView = vc.view;
374+ UIView *existingMailSearchToolbar = [chromeHostView viewWithTag:RNSMailSearchToolbarViewTag];
375+ if (existingMailSearchToolbar == nil) {
376+ existingMailSearchToolbar = [vc.view viewWithTag:RNSMailSearchToolbarViewTag];
377+ }
378+ // Reuse the live toolbar when nothing it was built from changed: rebuilding
379+ // replaces the fallback UISearchTextField with a fresh empty one, dropping
380+ // the user's in-progress search text and first responder on every unrelated
381+ // header update. Keyed on the config instance (the button/search blocks
382+ // capture its event emitter), the toolbar config values, and the host width
383+ // (the width constraint constant is resolved from it at build time).
384+ static char RNSAppliedMailSearchToolbarConfigKey;
385+ NSArray *mailSearchToolbarKey = mailSearchToolbarConfig != nil
386+ ? @[ @((uintptr_t)config), mailSearchToolbarConfig, @(chromeHostView.bounds.size.width) ]
387+ : nil;
388+ BOOL reuseMailSearchToolbar = existingMailSearchToolbar != nil && mailSearchToolbarKey != nil &&
389+ [objc_getAssociatedObject(existingMailSearchToolbar, &RNSAppliedMailSearchToolbarConfigKey)
390+ isEqual:mailSearchToolbarKey];
391+ if (!reuseMailSearchToolbar) {
392+ [existingMailSearchToolbar removeFromSuperview];
393+ }
394+
395+ if (mailSearchToolbarConfig != nil && !reuseMailSearchToolbar) {
396+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
397+ if (@available(iOS 26.0, *)) {
398+ CGFloat horizontalInset = 18.0;
399+ NSNumber *width = mailSearchToolbarConfig[@"width"];
400+ CGFloat hostWidth = chromeHostView.bounds.size.width;
401+ if (hostWidth <= 0.0) {
402+ hostWidth = vc.view.bounds.size.width;
403+ }
404+ if (hostWidth <= 0.0) {
405+ hostWidth = [UIScreen mainScreen].bounds.size.width;
406+ }
407+ CGFloat fallbackWidth = MIN(560.0, MAX(300.0, hostWidth - (horizontalInset * 2.0)));
408+ CGFloat resolvedWidth = width != nil ? width.doubleValue : fallbackWidth;
409+ if (hostWidth > 0.0) {
410+ resolvedWidth = MIN(resolvedWidth, MAX(260.0, hostWidth - 12.0));
411+ }
412+
413+ CGFloat toolbarHeight = 48.0;
414+ CGFloat toolbarRadius = toolbarHeight / 2.0;
415+ CGFloat buttonSize = toolbarHeight;
416+ CGFloat sideButtonReserve = buttonSize + 8.0;
417+ CGFloat searchFieldHeight = 42.0;
418+ CGFloat toolbarBottomSpacing = 4.0;
419+ UIFont *searchFont = [UIFont preferredFontForTextStyle:UIFontTextStyleTitle3];
420+ NSDictionary<NSAttributedStringKey, id> *placeholderAttributes = @{
421+ NSForegroundColorAttributeName : UIColor.secondaryLabelColor,
422+ NSFontAttributeName : searchFont,
423+ };
424+ UIKeyboardLayoutGuide *keyboardLayoutGuide = chromeHostView.keyboardLayoutGuide;
425+
426+ UIView *toolbarHost = [[UIView alloc] init];
427+ toolbarHost.tag = RNSMailSearchToolbarViewTag;
428+ objc_setAssociatedObject(
429+ toolbarHost,
430+ &RNSAppliedMailSearchToolbarConfigKey,
431+ mailSearchToolbarKey,
432+ OBJC_ASSOCIATION_RETAIN_NONATOMIC);
433+ toolbarHost.translatesAutoresizingMaskIntoConstraints = NO;
434+ [chromeHostView addSubview:toolbarHost];
435+ // The screen stays mounted beneath pushed routes, so its keyboard layout
436+ // guide can track a keyboard owned by another screen. Keep the toolbar at
437+ // rest unless its own search field is editing.
438+ NSLayoutConstraint *keyboardAvoidConstraint =
439+ [toolbarHost.bottomAnchor constraintEqualToAnchor:keyboardLayoutGuide.topAnchor
440+ constant:-toolbarBottomSpacing];
441+ keyboardAvoidConstraint.priority = UILayoutPriorityDefaultLow;
442+ NSLayoutConstraint *restingBottomConstraint =
443+ [toolbarHost.bottomAnchor constraintEqualToAnchor:chromeHostView.safeAreaLayoutGuide.bottomAnchor
444+ constant:-toolbarBottomSpacing];
445+ restingBottomConstraint.priority = UILayoutPriorityDefaultHigh;
446+ [NSLayoutConstraint activateConstraints:@[
447+ [toolbarHost.centerXAnchor constraintEqualToAnchor:chromeHostView.centerXAnchor],
448+ [toolbarHost.bottomAnchor constraintLessThanOrEqualToAnchor:chromeHostView.safeAreaLayoutGuide.bottomAnchor
449+ constant:-toolbarBottomSpacing],
450+ keyboardAvoidConstraint,
451+ restingBottomConstraint,
452+ [toolbarHost.widthAnchor constraintEqualToConstant:resolvedWidth],
453+ [toolbarHost.heightAnchor constraintEqualToConstant:toolbarHeight],
454+ ]];
455+ [chromeHostView bringSubviewToFront:toolbarHost];
456+
457+ UIGlassEffect *glassEffect = [UIGlassEffect effectWithStyle:UIGlassEffectStyleRegular];
458+ glassEffect.interactive = YES;
459+ UIVisualEffectView *glassView = [[UIVisualEffectView alloc] initWithEffect:glassEffect];
460+ glassView.clipsToBounds = YES;
461+ glassView.layer.cornerRadius = toolbarRadius;
462+ glassView.translatesAutoresizingMaskIntoConstraints = NO;
463+ [toolbarHost addSubview:glassView];
464+ BOOL hasFilterButton =
465+ mailSearchToolbarConfig[@"filterButtonId"] != nil || mailSearchToolbarConfig[@"filterMenu"] != nil;
466+ BOOL hasComposeButton =
467+ mailSearchToolbarConfig[@"composeButtonId"] != nil || mailSearchToolbarConfig[@"composeMenu"] != nil;
468+ CGFloat glassLeadingInset = hasFilterButton ? sideButtonReserve : 0.0;
469+ CGFloat glassTrailingInset = hasComposeButton ? -sideButtonReserve : 0.0;
470+ NSLayoutConstraint *glassLeadingConstraint =
471+ [glassView.leadingAnchor constraintEqualToAnchor:toolbarHost.leadingAnchor constant:glassLeadingInset];
472+ NSLayoutConstraint *glassTrailingConstraint =
473+ [glassView.trailingAnchor constraintEqualToAnchor:toolbarHost.trailingAnchor constant:glassTrailingInset];
474+ [NSLayoutConstraint activateConstraints:@[
475+ glassLeadingConstraint,
476+ glassTrailingConstraint,
477+ [glassView.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
478+ [glassView.heightAnchor constraintEqualToConstant:toolbarHeight],
479+ ]];
480+
481+ void (^emitButtonPress)(NSString *) = ^(NSString *buttonId) {
482+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
483+ config->_eventEmitter);
484+ if (eventEmitter && buttonId) {
485+ eventEmitter->onPressHeaderBarButtonItem(
486+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonItem{
487+ .buttonId = std::string([buttonId UTF8String])});
488+ }
489+ };
490+
491+ void (^emitMenuPress)(NSString *) = ^(NSString *menuId) {
492+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
493+ config->_eventEmitter);
494+ if (eventEmitter && menuId) {
495+ eventEmitter->onPressHeaderBarButtonMenuItem(
496+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonMenuItem{
497+ .menuId = std::string([menuId UTF8String])});
498+ }
499+ };
500+
501+ UIButton *(^makeGlassButton)(NSString *, NSString *, NSDictionary *) =
502+ ^UIButton *(NSString *systemImageName, NSString *buttonId, NSDictionary *menuConfig) {
503+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
504+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
505+ configuration.image = [UIImage systemImageNamed:systemImageName ?: @"circle"];
506+ configuration.baseForegroundColor = UIColor.labelColor;
507+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
508+ if (menuConfig != nil) {
509+ button.menu = [RNSBarButtonItem initUIMenuWithDict:menuConfig
510+ menuAction:emitMenuPress
511+ imageLoader:config->_imageLoader];
512+ button.showsMenuAsPrimaryAction = YES;
513+ } else if (buttonId != nil) {
514+ UIAction *action = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
515+ emitButtonPress(buttonId);
516+ }];
517+ [button addAction:action forControlEvents:UIControlEventTouchUpInside];
518+ }
519+ return button;
520+ };
521+
522+ BOOL useFallbackSearchField = [mailSearchToolbarConfig[@"useFallbackSearchField"] boolValue];
523+ UISearchBar *searchBar =
524+ !useFallbackSearchField && navitem.searchController != nil ? navitem.searchController.searchBar : nil;
525+ NSString *placeholder = mailSearchToolbarConfig[@"placeholder"];
526+ UITextField *resolvedSearchTextField = nil;
527+ if (searchBar != nil) {
528+ if (placeholder != nil) {
529+ searchBar.placeholder = placeholder;
530+ }
531+ searchBar.hidden = NO;
532+ searchBar.alpha = 1.0;
533+ searchBar.userInteractionEnabled = YES;
534+ searchBar.searchBarStyle = UISearchBarStyleMinimal;
535+ searchBar.backgroundImage = [UIImage new];
536+ searchBar.searchTextField.hidden = NO;
537+ searchBar.searchTextField.alpha = 1.0;
538+ searchBar.searchTextField.backgroundColor = UIColor.clearColor;
539+ searchBar.searchTextField.font = searchFont;
540+ searchBar.searchTextField.adjustsFontForContentSizeCategory = YES;
541+ searchBar.searchTextField.textColor = UIColor.labelColor;
542+ searchBar.searchTextField.tintColor = UIColor.labelColor;
543+ resolvedSearchTextField = searchBar.searchTextField;
544+ if (placeholder != nil) {
545+ searchBar.searchTextField.attributedPlaceholder =
546+ [[NSAttributedString alloc] initWithString:placeholder attributes:placeholderAttributes];
547+ }
548+ searchBar.translatesAutoresizingMaskIntoConstraints = NO;
549+ [glassView.contentView addSubview:searchBar];
550+ [NSLayoutConstraint activateConstraints:@[
551+ [searchBar.leadingAnchor constraintEqualToAnchor:glassView.contentView.leadingAnchor constant:8.0],
552+ [searchBar.trailingAnchor constraintEqualToAnchor:glassView.contentView.trailingAnchor constant:-8.0],
553+ [searchBar.centerYAnchor constraintEqualToAnchor:glassView.contentView.centerYAnchor],
554+ [searchBar.heightAnchor constraintEqualToConstant:searchFieldHeight],
555+ ]];
556+ } else {
557+ UISearchTextField *searchField = [UISearchTextField new];
558+ if (placeholder != nil) {
559+ searchField.placeholder = placeholder;
560+ searchField.attributedPlaceholder =
561+ [[NSAttributedString alloc] initWithString:placeholder attributes:placeholderAttributes];
562+ }
563+ NSString *searchTextChangeId = mailSearchToolbarConfig[@"searchTextChangeId"];
564+ if (searchTextChangeId != nil) {
565+ [searchField addAction:[UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
566+ UISearchTextField *field = (UISearchTextField *)action.sender;
567+ emitButtonPress([NSString stringWithFormat:@"%@:%@", searchTextChangeId, field.text ?: @""]);
568+ }]
569+ forControlEvents:UIControlEventEditingChanged];
570+ }
571+ searchField.borderStyle = UITextBorderStyleNone;
572+ searchField.font = searchFont;
573+ searchField.adjustsFontForContentSizeCategory = YES;
574+ searchField.textColor = UIColor.labelColor;
575+ searchField.tintColor = UIColor.labelColor;
576+ resolvedSearchTextField = searchField;
577+ searchField.translatesAutoresizingMaskIntoConstraints = NO;
578+ [glassView.contentView addSubview:searchField];
579+ [NSLayoutConstraint activateConstraints:@[
580+ [searchField.leadingAnchor constraintEqualToAnchor:glassView.contentView.leadingAnchor constant:14.0],
581+ [searchField.trailingAnchor constraintEqualToAnchor:glassView.contentView.trailingAnchor constant:-14.0],
582+ [searchField.centerYAnchor constraintEqualToAnchor:glassView.contentView.centerYAnchor],
583+ [searchField.heightAnchor constraintEqualToConstant:searchFieldHeight],
584+ ]];
585+ }
586+
587+ UIButton *filterButton = nil;
588+ if (hasFilterButton) {
589+ filterButton = makeGlassButton(
590+ mailSearchToolbarConfig[@"filterSystemImageName"] ?: @"line.3.horizontal.decrease",
591+ mailSearchToolbarConfig[@"filterButtonId"],
592+ mailSearchToolbarConfig[@"filterMenu"]);
593+ filterButton.translatesAutoresizingMaskIntoConstraints = NO;
594+ [toolbarHost addSubview:filterButton];
595+ [NSLayoutConstraint activateConstraints:@[
596+ [filterButton.leadingAnchor constraintEqualToAnchor:toolbarHost.leadingAnchor],
597+ [filterButton.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
598+ [filterButton.widthAnchor constraintEqualToConstant:buttonSize],
599+ [filterButton.heightAnchor constraintEqualToConstant:buttonSize],
600+ ]];
601+ }
602+
603+ UIButton *composeButton = nil;
604+ if (hasComposeButton) {
605+ composeButton = makeGlassButton(
606+ mailSearchToolbarConfig[@"composeSystemImageName"] ?: @"square.and.pencil",
607+ mailSearchToolbarConfig[@"composeButtonId"],
608+ mailSearchToolbarConfig[@"composeMenu"]);
609+ composeButton.translatesAutoresizingMaskIntoConstraints = NO;
610+ [toolbarHost addSubview:composeButton];
611+ [NSLayoutConstraint activateConstraints:@[
612+ [composeButton.trailingAnchor constraintEqualToAnchor:toolbarHost.trailingAnchor],
613+ [composeButton.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
614+ [composeButton.widthAnchor constraintEqualToConstant:buttonSize],
615+ [composeButton.heightAnchor constraintEqualToConstant:buttonSize],
616+ ]];
617+ }
618+
619+ BOOL showsSearchDismissButton =
620+ [mailSearchToolbarConfig[@"showsSearchDismissButton"] boolValue] && resolvedSearchTextField != nil;
621+ UIButton *searchDismissButton = nil;
622+ if (showsSearchDismissButton) {
623+ searchDismissButton = makeGlassButton(@"xmark", nil, nil);
624+ searchDismissButton.accessibilityLabel = @"Dismiss search keyboard";
625+ searchDismissButton.alpha = 0.0;
626+ searchDismissButton.hidden = YES;
627+ searchDismissButton.translatesAutoresizingMaskIntoConstraints = NO;
628+ [toolbarHost addSubview:searchDismissButton];
629+ [NSLayoutConstraint activateConstraints:@[
630+ [searchDismissButton.trailingAnchor constraintEqualToAnchor:toolbarHost.trailingAnchor],
631+ [searchDismissButton.centerYAnchor constraintEqualToAnchor:toolbarHost.centerYAnchor],
632+ [searchDismissButton.widthAnchor constraintEqualToConstant:buttonSize],
633+ [searchDismissButton.heightAnchor constraintEqualToConstant:buttonSize],
634+ ]];
635+ __weak UITextField *weakSearchTextField = resolvedSearchTextField;
636+ [searchDismissButton
637+ addAction:[UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
638+ [weakSearchTextField resignFirstResponder];
639+ }]
640+ forControlEvents:UIControlEventTouchUpInside];
641+ }
642+
643+ __weak UIButton *weakFilterButton = filterButton;
644+ __weak UIButton *weakComposeButton = composeButton;
645+ __weak UIButton *weakSearchDismissButton = searchDismissButton;
646+ __weak NSLayoutConstraint *weakGlassLeadingConstraint = glassLeadingConstraint;
647+ __weak NSLayoutConstraint *weakGlassTrailingConstraint = glassTrailingConstraint;
648+ __weak NSLayoutConstraint *weakKeyboardAvoidConstraint = keyboardAvoidConstraint;
649+ __weak NSLayoutConstraint *weakRestingBottomConstraint = restingBottomConstraint;
650+ __weak UIView *weakToolbarHost = toolbarHost;
651+ __weak UITextField *weakSearchTextField = resolvedSearchTextField;
652+ void (^setSearchEditingAppearance)(BOOL, BOOL) = ^(BOOL isEditing, BOOL animated) {
653+ weakKeyboardAvoidConstraint.priority =
654+ isEditing ? UILayoutPriorityDefaultHigh : UILayoutPriorityDefaultLow;
655+ weakRestingBottomConstraint.priority =
656+ isEditing ? UILayoutPriorityDefaultLow : UILayoutPriorityDefaultHigh;
657+
658+ if (showsSearchDismissButton) {
659+ if (isEditing) {
660+ weakSearchDismissButton.hidden = NO;
661+ } else {
662+ weakFilterButton.hidden = NO;
663+ weakComposeButton.hidden = NO;
664+ }
665+ weakGlassLeadingConstraint.constant = isEditing ? 0.0 : glassLeadingInset;
666+ weakGlassTrailingConstraint.constant = isEditing ? -sideButtonReserve : glassTrailingInset;
667+
668+ void (^changes)(void) = ^{
669+ weakFilterButton.alpha = isEditing ? 0.0 : 1.0;
670+ weakComposeButton.alpha = isEditing ? 0.0 : 1.0;
671+ weakSearchDismissButton.alpha = isEditing ? 1.0 : 0.0;
672+ [weakToolbarHost layoutIfNeeded];
673+ };
674+ void (^completion)(BOOL) = ^(BOOL finished) {
675+ if (!finished || weakSearchTextField.isFirstResponder != isEditing) {
676+ return;
677+ }
678+ weakFilterButton.hidden = isEditing;
679+ weakComposeButton.hidden = isEditing;
680+ weakSearchDismissButton.hidden = !isEditing;
681+ };
682+ if (animated) {
683+ [UIView animateWithDuration:0.2
684+ delay:0.0
685+ options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveEaseInOut
686+ animations:changes
687+ completion:completion];
688+ } else {
689+ changes();
690+ completion(YES);
691+ }
692+ }
693+ [weakToolbarHost setNeedsLayout];
694+ };
695+
696+ setSearchEditingAppearance(resolvedSearchTextField.isFirstResponder, NO);
697+ NSString *beginActionIdentifier = @"org.react-native-screens.mail-search-toolbar.keyboard-begin";
698+ NSString *endActionIdentifier = @"org.react-native-screens.mail-search-toolbar.keyboard-end";
699+ [resolvedSearchTextField removeActionForIdentifier:beginActionIdentifier
700+ forControlEvents:UIControlEventEditingDidBegin];
701+ [resolvedSearchTextField removeActionForIdentifier:endActionIdentifier
702+ forControlEvents:UIControlEventEditingDidEnd];
703+ [resolvedSearchTextField
704+ addAction:[UIAction actionWithTitle:@""
705+ image:nil
706+ identifier:beginActionIdentifier
707+ handler:^(__kindof UIAction *_Nonnull action) {
708+ setSearchEditingAppearance(YES, YES);
709+ }]
710+ forControlEvents:UIControlEventEditingDidBegin];
711+ [resolvedSearchTextField
712+ addAction:[UIAction actionWithTitle:@""
713+ image:nil
714+ identifier:endActionIdentifier
715+ handler:^(__kindof UIAction *_Nonnull action) {
716+ setSearchEditingAppearance(NO, YES);
717+ }]
718+ forControlEvents:UIControlEventEditingDidEnd];
719+ }
720+#endif
721+ }
722+
723+ NSArray<NSDictionary<NSString *, id> *> *navigationToolbarConfigs = config.headerToolbarItems;
724+ if (mailSearchToolbarConfig != nil) {
725+ navigationToolbarConfigs = @[];
726+ }
727+
728+ NSArray *toolbarConfigsKey = navigationToolbarConfigs ?: @[];
729+ // Same reuse rule as the header item groups above (including the config
730+ // identity — cached toolbar items capture this config's event emitter).
731+ // The top-view-controller and hidden-state checks scope the skip to
732+ // same-screen refreshes, so transitions between screens with different
733+ // toolbars still reapply.
734+ NSArray *toolbarCacheKey = @[ @((uintptr_t)config), toolbarConfigsKey ];
735+ BOOL reuseToolbarItems = navctr.topViewController == vc &&
736+ navctr.isToolbarHidden == (toolbarConfigsKey.count == 0) &&
737+ [objc_getAssociatedObject(navitem, &RNSAppliedToolbarConfigsKey) isEqual:toolbarCacheKey];
738+ if (!reuseToolbarItems) {
739+ NSArray<UIBarButtonItem *> *toolbarItems = [config barButtonItemsFromConfigs:navigationToolbarConfigs
740+ withCurrentItems:@[]
741+ navigationItem:navitem];
742+ if (toolbarItems.count > 0) {
743+ vc.toolbarItems = toolbarItems;
744+ [navctr setToolbarHidden:NO animated:animated];
745+ } else {
746+ vc.toolbarItems = nil;
747+ [navctr setToolbarHidden:YES animated:animated];
748+ }
749+ objc_setAssociatedObject(
750+ navitem, &RNSAppliedToolbarConfigsKey, toolbarCacheKey, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
751+ }
752
753 // Setting navigation bar visibility is split to mitigate iOS 26 bug with bar button items
754 // (setting nav bar visibility should be done after `navitem.*BarButtonItems`).
755@@ -784,6 +1272,7 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
756
757 - (NSArray<UIBarButtonItem *> *)barButtonItemsFromConfigs:(NSArray<NSDictionary<NSString *, id> *> *)dicts
758 withCurrentItems:(NSArray<UIBarButtonItem *> *)currentItems
759+ navigationItem:(UINavigationItem *)navitem
760 {
761 if (dicts.count == 0) {
762 return currentItems;
763@@ -792,7 +1281,197 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
764 [items addObjectsFromArray:currentItems];
765 for (NSUInteger i = 0; i < dicts.count; i++) {
766 NSDictionary *dict = dicts[i];
767- if (dict[@"buttonId"] || dict[@"menu"]) {
768+ if (dict[@"mailSearchToolbar"]) {
769+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
770+ if (@available(iOS 26.0, *)) {
771+ NSNumber *width = dict[@"width"];
772+ CGFloat resolvedWidth = width != nil ? width.doubleValue : MAX(320.0, [UIScreen mainScreen].bounds.size.width - 56.0);
773+ CGFloat resolvedHeight = 58.0;
774+ UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, resolvedWidth, resolvedHeight)];
775+ container.translatesAutoresizingMaskIntoConstraints = NO;
776+ [container.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
777+ [container.heightAnchor constraintEqualToConstant:resolvedHeight].active = YES;
778+
779+ UIStackView *stackView = [[UIStackView alloc] initWithFrame:container.bounds];
780+ stackView.axis = UILayoutConstraintAxisHorizontal;
781+ stackView.alignment = UIStackViewAlignmentCenter;
782+ stackView.distribution = UIStackViewDistributionFill;
783+ stackView.spacing = 10.0;
784+ stackView.translatesAutoresizingMaskIntoConstraints = NO;
785+ [container addSubview:stackView];
786+ [NSLayoutConstraint activateConstraints:@[
787+ [stackView.leadingAnchor constraintEqualToAnchor:container.leadingAnchor],
788+ [stackView.trailingAnchor constraintEqualToAnchor:container.trailingAnchor],
789+ [stackView.centerYAnchor constraintEqualToAnchor:container.centerYAnchor],
790+ [stackView.heightAnchor constraintEqualToConstant:50.0],
791+ ]];
792+
793+ void (^emitButtonPress)(NSString *) = ^(NSString *buttonId) {
794+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
795+ self->_eventEmitter);
796+ if (eventEmitter && buttonId) {
797+ eventEmitter->onPressHeaderBarButtonItem(
798+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonItem{
799+ .buttonId = std::string([buttonId UTF8String])});
800+ }
801+ };
802+
803+ void (^emitMenuPress)(NSString *) = ^(NSString *menuId) {
804+ auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
805+ self->_eventEmitter);
806+ if (eventEmitter && menuId) {
807+ eventEmitter->onPressHeaderBarButtonMenuItem(
808+ facebook::react::RNSScreenStackHeaderConfigEventEmitter::OnPressHeaderBarButtonMenuItem{
809+ .menuId = std::string([menuId UTF8String])});
810+ }
811+ };
812+
813+ UIButton *(^makeGlassButton)(NSString *, NSString *, NSDictionary *) =
814+ ^UIButton *(NSString *systemImageName, NSString *buttonId, NSDictionary *menuConfig) {
815+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
816+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
817+ configuration.image = [UIImage systemImageNamed:systemImageName ?: @"circle"];
818+
819+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
820+ button.translatesAutoresizingMaskIntoConstraints = NO;
821+ [button.widthAnchor constraintEqualToConstant:58.0].active = YES;
822+ [button.heightAnchor constraintEqualToConstant:50.0].active = YES;
823+ if (menuConfig != nil) {
824+ button.menu = [RNSBarButtonItem initUIMenuWithDict:menuConfig
825+ menuAction:emitMenuPress
826+ imageLoader:self->_imageLoader];
827+ button.showsMenuAsPrimaryAction = YES;
828+ } else if (buttonId != nil) {
829+ UIAction *action = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
830+ emitButtonPress(buttonId);
831+ }];
832+ [button addAction:action forControlEvents:UIControlEventTouchUpInside];
833+ }
834+ return button;
835+ };
836+
837+ BOOL hasFilterButton = dict[@"filterButtonId"] != nil || dict[@"filterMenu"] != nil;
838+ BOOL hasComposeButton = dict[@"composeButtonId"] != nil || dict[@"composeMenu"] != nil;
839+
840+ if (hasFilterButton) {
841+ UIButton *filterButton = makeGlassButton(
842+ dict[@"filterSystemImageName"] ?: @"line.3.horizontal.decrease",
843+ dict[@"filterButtonId"],
844+ dict[@"filterMenu"]);
845+ [stackView addArrangedSubview:filterButton];
846+ }
847+
848+ UISearchBar *searchBar = navitem.searchController != nil ? navitem.searchController.searchBar : [UISearchBar new];
849+ NSString *placeholder = dict[@"placeholder"];
850+ if (placeholder != nil) {
851+ searchBar.placeholder = placeholder;
852+ }
853+ searchBar.searchBarStyle = UISearchBarStyleMinimal;
854+ searchBar.translatesAutoresizingMaskIntoConstraints = NO;
855+ [searchBar.heightAnchor constraintEqualToConstant:50.0].active = YES;
856+ [stackView addArrangedSubview:searchBar];
857+
858+ if (hasComposeButton) {
859+ UIButton *composeButton = makeGlassButton(
860+ dict[@"composeSystemImageName"] ?: @"square.and.pencil",
861+ dict[@"composeButtonId"],
862+ dict[@"composeMenu"]);
863+ [stackView addArrangedSubview:composeButton];
864+ }
865+
866+ UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:container];
867+ [items addObject:item];
868+ }
869+#endif
870+ } else if (dict[@"searchField"]) {
871+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
872+ if (@available(iOS 26.0, *)) {
873+ NSNumber *width = dict[@"width"];
874+ CGFloat resolvedWidth = width != nil ? width.doubleValue : 280.0;
875+ UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, resolvedWidth, 44.0)];
876+ container.translatesAutoresizingMaskIntoConstraints = NO;
877+ [container.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
878+ [container.heightAnchor constraintEqualToConstant:44.0].active = YES;
879+
880+ UISearchTextField *searchField = [UISearchTextField new];
881+ NSString *placeholder = dict[@"placeholder"];
882+ if (placeholder != nil) {
883+ searchField.placeholder = placeholder;
884+ }
885+ searchField.translatesAutoresizingMaskIntoConstraints = NO;
886+ [container addSubview:searchField];
887+ [NSLayoutConstraint activateConstraints:@[
888+ [searchField.leadingAnchor constraintEqualToAnchor:container.leadingAnchor],
889+ [searchField.trailingAnchor constraintEqualToAnchor:container.trailingAnchor],
890+ [searchField.centerYAnchor constraintEqualToAnchor:container.centerYAnchor],
891+ [searchField.heightAnchor constraintEqualToConstant:40.0],
892+ ]];
893+
894+ UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:container];
895+ [items addObject:item];
896+ }
897+#endif
898+ } else if (dict[@"searchBarPlacement"]) {
899+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
900+ if (@available(iOS 26.0, *)) {
901+ NSNumber *width = dict[@"width"];
902+ UIBarButtonItem *item = nil;
903+ if ([dict[@"activatesSearchController"] boolValue]) {
904+ UIButtonConfiguration *configuration = [UIButtonConfiguration glassButtonConfiguration];
905+ configuration.cornerStyle = UIButtonConfigurationCornerStyleCapsule;
906+ configuration.image = [UIImage systemImageNamed:@"magnifyingglass"];
907+ configuration.baseForegroundColor = UIColor.labelColor;
908+ UIButton *button = [UIButton buttonWithConfiguration:configuration primaryAction:nil];
909+ button.translatesAutoresizingMaskIntoConstraints = NO;
910+ [button.widthAnchor constraintEqualToConstant:56.0].active = YES;
911+ [button.heightAnchor constraintEqualToConstant:56.0].active = YES;
912+ UIAction *action = [UIAction actionWithHandler:^(__kindof UIAction *_Nonnull action) {
913+ if (navitem.searchController != nil) {
914+ [navitem.searchController setActive:YES];
915+ [navitem.searchController.searchBar becomeFirstResponder];
916+ }
917+ }];
918+ [button addAction:action forControlEvents:UIControlEventTouchUpInside];
919+ item = [[UIBarButtonItem alloc] initWithCustomView:button];
920+ } else if ([dict[@"customView"] boolValue] && navitem.searchController != nil) {
921+ UISearchBar *searchBar = navitem.searchController.searchBar;
922+ CGFloat resolvedWidth = width != nil ? width.doubleValue : searchBar.frame.size.width;
923+ CGFloat resolvedHeight = searchBar.frame.size.height > 0 ? searchBar.frame.size.height : 44.0;
924+ UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, resolvedWidth, resolvedHeight)];
925+ container.translatesAutoresizingMaskIntoConstraints = NO;
926+ [container.widthAnchor constraintEqualToConstant:resolvedWidth].active = YES;
927+ [container.heightAnchor constraintEqualToConstant:resolvedHeight].active = YES;
928+ searchBar.frame = container.bounds;
929+ searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
930+ [container addSubview:searchBar];
931+ item = [[UIBarButtonItem alloc] initWithCustomView:container];
932+ } else {
933+ item = navitem.searchBarPlacementBarButtonItem;
934+ if (width != nil) {
935+ item.width = width.doubleValue;
936+ }
937+ }
938+ NSNumber *index = dict[@"index"];
939+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
940+ if (@available(iOS 26.0, *)) {
941+ NSNumber *sharesBackground = dict[@"sharesBackground"];
942+ if (sharesBackground != nil) {
943+ item.sharesBackground = sharesBackground.boolValue;
944+ }
945+ NSNumber *hidesSharedBackground = dict[@"hidesSharedBackground"];
946+ if (hidesSharedBackground != nil) {
947+ item.hidesSharedBackground = hidesSharedBackground.boolValue;
948+ }
949+ }
950+#endif
951+ if (index != nil && index.integerValue >= 0 && index.integerValue < items.count) {
952+ [items insertObject:item atIndex:index.integerValue];
953+ } else {
954+ [items addObject:item];
955+ }
956+ }
957+#endif
958+ } else if (dict[@"buttonId"] || dict[@"menu"]) {
959 RNSBarButtonItem *item = [[RNSBarButtonItem alloc] initWithConfig:dict
960 action:^(NSString *buttonId) {
961 auto eventEmitter = std::static_pointer_cast<const facebook::react::RNSScreenStackHeaderConfigEventEmitter>(
962@@ -814,19 +1493,23 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
963 }
964 imageLoader:_imageLoader];
965 NSNumber *index = dict[@"index"];
966- if (index.integerValue < items.count) {
967+ if (index != nil && index.integerValue >= 0 && index.integerValue < items.count) {
968 [items insertObject:item atIndex:index.integerValue];
969 } else {
970 [items addObject:item];
971 }
972 } else if (dict[@"spacing"]) {
973- UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
974- target:nil
975- action:nil];
976+ BOOL flexible = [dict[@"flexible"] boolValue];
977+ UIBarButtonItem *item = [[UIBarButtonItem alloc]
978+ initWithBarButtonSystemItem:(flexible ? UIBarButtonSystemItemFlexibleSpace : UIBarButtonSystemItemFixedSpace)
979+ target:nil
980+ action:nil];
981 NSNumber *spacingValue = dict[@"spacing"];
982- item.width = [spacingValue doubleValue];
983+ if (!flexible) {
984+ item.width = [spacingValue doubleValue];
985+ }
986 NSNumber *index = dict[@"index"];
987- if (index.integerValue < items.count) {
988+ if (index != nil && index.integerValue >= 0 && index.integerValue < items.count) {
989 [items insertObject:item atIndex:index.integerValue];
990 } else {
991 [items addObject:item];
992@@ -836,6 +1519,47 @@ - (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *
993 return items;
994 }
995
996+#if !TARGET_OS_TV
997+- (NSArray<UIBarButtonItemGroup *> *)barButtonItemGroupsFromItems:(NSArray<UIBarButtonItem *> *)items
998+{
999+ if (items.count == 0) {
1000+ return @[];
1001+ }
1002+
1003+ NSMutableArray<UIBarButtonItemGroup *> *groups = [NSMutableArray array];
1004+ NSMutableArray<UIBarButtonItem *> *sharedRun = [NSMutableArray array];
1005+
1006+ void (^flushSharedRun)(void) = ^{
1007+ if (sharedRun.count == 0) {
1008+ return;
1009+ }
1010+ [groups addObject:[UIBarButtonItemGroup fixedGroupWithRepresentativeItem:nil
1011+ items:[sharedRun copy]]];
1012+ [sharedRun removeAllObjects];
1013+ };
1014+
1015+ for (UIBarButtonItem *item in items) {
1016+ BOOL shouldShareBackground = NO;
1017+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
1018+ if (@available(iOS 26.0, *)) {
1019+ shouldShareBackground = item.sharesBackground && !item.hidesSharedBackground;
1020+ }
1021+#endif
1022+
1023+ if (shouldShareBackground) {
1024+ [sharedRun addObject:item];
1025+ continue;
1026+ }
1027+
1028+ flushSharedRun();
1029+ [groups addObject:[UIBarButtonItemGroup fixedGroupWithRepresentativeItem:nil items:@[ item ]]];
1030+ }
1031+
1032+ flushSharedRun();
1033+ return groups;
1034+}
1035+#endif
1036+
1037 RNS_IGNORE_SUPER_CALL_BEGIN
1038 - (void)insertReactSubview:(RNSScreenStackHeaderSubview *)subview atIndex:(NSInteger)atIndex
1039 {
1040@@ -1023,6 +1747,8 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1041 }
1042
1043 _title = RCTNSStringFromStringNilIfEmpty(newScreenProps.title);
1044+ _subtitle = RCTNSStringFromStringNilIfEmpty(newScreenProps.subtitle);
1045+ _largeSubtitle = RCTNSStringFromStringNilIfEmpty(newScreenProps.largeSubtitle);
1046 if (newScreenProps.titleFontFamily != oldScreenProps.titleFontFamily) {
1047 _titleFontFamily = RCTNSStringFromStringNilIfEmpty(newScreenProps.titleFontFamily);
1048 }
1049@@ -1048,6 +1774,7 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1050 _disableBackButtonMenu = newScreenProps.disableBackButtonMenu;
1051 _backButtonDisplayMode =
1052 [RNSConvert UINavigationItemBackButtonDisplayModeFromCppEquivalent:newScreenProps.backButtonDisplayMode];
1053+ _navigationItemStyle = navigationItemStyleFromCppEquivalent(newScreenProps.navigationItemStyle);
1054
1055 if (newScreenProps.userInterfaceStyle != oldScreenProps.userInterfaceStyle) {
1056 _userInterfaceStyle = [RNSConvert UIUserInterfaceStyleFromCppEquivalent:newScreenProps.userInterfaceStyle];
1057@@ -1094,6 +1821,30 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1058 _headerRightBarButtonItems = array;
1059 }
1060
1061+ if (newScreenProps.headerCenterBarButtonItems != oldScreenProps.headerCenterBarButtonItems) {
1062+ const auto &vec = newScreenProps.headerCenterBarButtonItems;
1063+ NSMutableArray<NSDictionary<NSString *, id> *> *array = [NSMutableArray arrayWithCapacity:vec.size()];
1064+ for (const auto &item : vec) {
1065+ NSDictionary *dict = [RNSConvert idFromFollyDynamic:item];
1066+ if ([dict isKindOfClass:[NSDictionary class]]) {
1067+ [array addObject:dict];
1068+ }
1069+ }
1070+ _headerCenterBarButtonItems = array;
1071+ }
1072+
1073+ if (newScreenProps.headerToolbarItems != oldScreenProps.headerToolbarItems) {
1074+ const auto &vec = newScreenProps.headerToolbarItems;
1075+ NSMutableArray<NSDictionary<NSString *, id> *> *array = [NSMutableArray arrayWithCapacity:vec.size()];
1076+ for (const auto &item : vec) {
1077+ NSDictionary *dict = [RNSConvert idFromFollyDynamic:item];
1078+ if ([dict isKindOfClass:[NSDictionary class]]) {
1079+ [array addObject:dict];
1080+ }
1081+ }
1082+ _headerToolbarItems = array;
1083+ }
1084+
1085 [self updateViewControllerIfNeeded];
1086
1087 if (needsNavigationControllerLayout) {
1088diff --git a/ios/RNSScreenStackHeaderSubview.mm b/ios/RNSScreenStackHeaderSubview.mm
1089index add33c4807e038dcd846f6c72b2fc472ded02809..9a7c7a8a775579c85de39f921e7a362241a72075 100644
1090--- a/ios/RNSScreenStackHeaderSubview.mm
1091+++ b/ios/RNSScreenStackHeaderSubview.mm
1092@@ -20,6 +20,7 @@ @implementation RNSScreenStackHeaderSubview {
1093 // This is a strong reference to UIBarButtonItem which creates a retain cycle.
1094 // The cycle is cleared via `invalidateUIBarButtonItem` method, called by `invalidate` callback.
1095 UIBarButtonItem *_barButtonItem;
1096+ NSString *_barButtonItemIdentifier;
1097 BOOL _hidesSharedBackground;
1098 }
1099
1100@@ -124,6 +125,7 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
1101 const auto &newHeaderSubviewProps = *std::static_pointer_cast<const react::RNSScreenStackHeaderSubviewProps>(props);
1102
1103 [self setType:[RNSConvert RNSScreenStackHeaderSubviewTypeFromCppEquivalent:newHeaderSubviewProps.type]];
1104+ [self setBarButtonItemIdentifier:RCTNSStringFromStringNilIfEmpty(newHeaderSubviewProps.identifier)];
1105 [self setHidesSharedBackground:newHeaderSubviewProps.hidesSharedBackground];
1106 [self setSynchronousShadowStateUpdatesEnabled:newHeaderSubviewProps.synchronousShadowStateUpdatesEnabled];
1107 [super updateProps:props oldProps:oldProps];
1108@@ -276,7 +278,14 @@ - (void)configureBarButtonItem
1109 #if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
1110 if (@available(iOS 26.0, *)) {
1111 if (_barButtonItem != nil) {
1112- [_barButtonItem setHidesSharedBackground:_hidesSharedBackground];
1113+ NSString *currentIdentifier = _barButtonItem.identifier;
1114+ if (currentIdentifier != _barButtonItemIdentifier &&
1115+ ![currentIdentifier isEqualToString:_barButtonItemIdentifier]) {
1116+ _barButtonItem.identifier = _barButtonItemIdentifier;
1117+ }
1118+ if (_barButtonItem.hidesSharedBackground != _hidesSharedBackground) {
1119+ _barButtonItem.hidesSharedBackground = _hidesSharedBackground;
1120+ }
1121 }
1122 }
1123 #endif // RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
1124@@ -284,10 +293,22 @@ - (void)configureBarButtonItem
1125
1126 - (void)setHidesSharedBackground:(BOOL)hidesSharedBackground
1127 {
1128+ if (_hidesSharedBackground == hidesSharedBackground) {
1129+ return;
1130+ }
1131 _hidesSharedBackground = hidesSharedBackground;
1132 [self configureBarButtonItem];
1133 }
1134
1135+- (void)setBarButtonItemIdentifier:(nullable NSString *)identifier
1136+{
1137+ if (_barButtonItemIdentifier == identifier || [_barButtonItemIdentifier isEqualToString:identifier]) {
1138+ return;
1139+ }
1140+ _barButtonItemIdentifier = [identifier copy];
1141+ [self configureBarButtonItem];
1142+}
1143+
1144 #pragma mark - Dynamic frameworks support
1145
1146 // Needed because of this: https://github.com/facebook/react-native/pull/37274
1147diff --git a/lib/commonjs/components/ScreenStackHeaderConfig.js b/lib/commonjs/components/ScreenStackHeaderConfig.js
1148index 8c509f2657105cfd86448347c1a01fb73651ff9e..d1f53322a7d2401852732ce46bfc6f32ba1aca64 100644
1149--- a/lib/commonjs/components/ScreenStackHeaderConfig.js
1150+++ b/lib/commonjs/components/ScreenStackHeaderConfig.js
1151@@ -26,18 +26,42 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1152 } = (0, _EdgeInsetApplicationContext.useEdgeInsetApplication)(!props.hidden, props.disableTopInsetApplication ?? false, props.disableLeftInsetApplication ?? false, props.disableRightInsetApplication ?? false, props.disableBottomInsetApplication ?? false);
1153 const {
1154 headerLeftBarButtonItems,
1155- headerRightBarButtonItems
1156+ headerRightBarButtonItems,
1157+ headerCenterBarButtonItems,
1158+ headerToolbarItems
1159 } = props;
1160 const preparedHeaderLeftBarButtonItems = headerLeftBarButtonItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerLeftBarButtonItems, 'left') : undefined;
1161 const preparedHeaderRightBarButtonItems = headerRightBarButtonItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerRightBarButtonItems, 'right') : undefined;
1162- const hasHeaderBarButtonItems = _utils.isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length);
1163+ const preparedHeaderCenterBarButtonItems = headerCenterBarButtonItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerCenterBarButtonItems, 'right') : undefined;
1164+ const preparedHeaderToolbarItems = headerToolbarItems && _utils.isHeaderBarButtonsAvailableForCurrentPlatform ? (0, _prepareHeaderBarButtonItems.prepareHeaderBarButtonItems)(headerToolbarItems, 'right') : undefined;
1165+ const hasHeaderBarButtonItems = _utils.isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length || preparedHeaderCenterBarButtonItems?.length || preparedHeaderToolbarItems?.length);
1166
1167 // Handle bar button item presses
1168 const onPressHeaderBarButtonItem = hasHeaderBarButtonItems ? event => {
1169- const pressedItem = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])].find(item => item && 'buttonId' in item && item.buttonId === event.nativeEvent.buttonId);
1170+ const buttonId = event.nativeEvent.buttonId;
1171+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1172+ const pressedItem = allItems.find(item => item && 'buttonId' in item && item.buttonId === buttonId);
1173 if (pressedItem && pressedItem.type === 'button' && pressedItem.onPress) {
1174 pressedItem.onPress();
1175 }
1176+ for (const item of allItems) {
1177+ if (!item || item.type !== 'mailSearchToolbar') {
1178+ continue;
1179+ }
1180+ if (item.filterButtonId === buttonId) {
1181+ item.onFilterPress?.();
1182+ return;
1183+ }
1184+ if (item.composeButtonId === buttonId) {
1185+ item.onComposePress?.();
1186+ return;
1187+ }
1188+ const searchTextChangePrefix = item.searchTextChangeId ? `${item.searchTextChangeId}:` : undefined;
1189+ if (searchTextChangePrefix && buttonId.startsWith(searchTextChangePrefix)) {
1190+ item.onSearchTextChange?.(buttonId.slice(searchTextChangePrefix.length));
1191+ return;
1192+ }
1193+ }
1194 } : undefined;
1195
1196 // Handle bar button menu item presses by deep-searching nested menus
1197@@ -59,7 +83,7 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1198 };
1199
1200 // Check each bar-button item with a menu
1201- const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])];
1202+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1203 for (const item of allItems) {
1204 if (item && item.type === 'menu' && item.menu) {
1205 const action = findInMenu(item.menu, event.nativeEvent.menuId);
1206@@ -67,6 +91,15 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1207 action.onPress();
1208 return;
1209 }
1210+ } else if (item && item.type === 'mailSearchToolbar') {
1211+ const toolbarMenus = [item.filterMenu, item.composeMenu].filter(Boolean);
1212+ for (const toolbarMenu of toolbarMenus) {
1213+ const action = findInMenu(toolbarMenu, event.nativeEvent.menuId);
1214+ if (action) {
1215+ action.onPress();
1216+ return;
1217+ }
1218+ }
1219 }
1220 }
1221 } : undefined;
1222@@ -74,6 +107,8 @@ const ScreenStackHeaderConfig = exports.ScreenStackHeaderConfig = /*#__PURE__*/_
1223 userInterfaceStyle: props.experimental_userInterfaceStyle,
1224 headerLeftBarButtonItems: preparedHeaderLeftBarButtonItems,
1225 headerRightBarButtonItems: preparedHeaderRightBarButtonItems,
1226+ headerCenterBarButtonItems: preparedHeaderCenterBarButtonItems,
1227+ headerToolbarItems: preparedHeaderToolbarItems,
1228 onPressHeaderBarButtonItem: onPressHeaderBarButtonItem,
1229 onPressHeaderBarButtonMenuItem: onPressHeaderBarButtonMenuItem,
1230 ref: ref,
1231diff --git a/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js b/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js
1232index ab93f62e4a7049d63c6681cecbd6cf8b1d07ce10..b5ea122473b023f84eabdb1914aef09a28c6d525 100644
1233--- a/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js
1234+++ b/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js
1235@@ -41,10 +41,31 @@ const prepareMenu = (menu, index, side, path = '') => {
1236 };
1237 };
1238 const prepareHeaderBarButtonItems = (barButtonItems, side) => {
1239- return barButtonItems?.map((item, index) => {
1240+ const items = Array.isArray(barButtonItems) ? barButtonItems : barButtonItems && typeof barButtonItems === 'object' && 'type' in barButtonItems ? [barButtonItems] : undefined;
1241+ return items?.map((item, index) => {
1242 if (item.type === 'spacing') {
1243 return item;
1244 }
1245+ if (item.type === 'searchBarPlacement') {
1246+ return {
1247+ ...item,
1248+ searchBarPlacement: true
1249+ };
1250+ }
1251+ if (item.type === 'searchField') {
1252+ return {
1253+ ...item,
1254+ searchField: true
1255+ };
1256+ }
1257+ if (item.type === 'mailSearchToolbar') {
1258+ return {
1259+ ...item,
1260+ mailSearchToolbar: true,
1261+ filterMenu: item.filterMenu ? prepareMenu(item.filterMenu, index, side, 'filter') : undefined,
1262+ composeMenu: item.composeMenu ? prepareMenu(item.composeMenu, index, side, 'compose') : undefined
1263+ };
1264+ }
1265 let imageSource, templateSource;
1266 if (item.icon?.type === 'imageSource') {
1267 imageSource = _reactNative.Image.resolveAssetSource(item.icon.imageSource);
1268diff --git a/lib/module/components/ScreenStackHeaderConfig.js b/lib/module/components/ScreenStackHeaderConfig.js
1269index 68e3ba6a78314aba908d07098bb6982d11e6ee80..05cb8563d3a7d3811860058df23bbd1f2f4bca00 100644
1270--- a/lib/module/components/ScreenStackHeaderConfig.js
1271+++ b/lib/module/components/ScreenStackHeaderConfig.js
1272@@ -22,18 +22,42 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1273 } = useEdgeInsetApplication(!props.hidden, props.disableTopInsetApplication ?? false, props.disableLeftInsetApplication ?? false, props.disableRightInsetApplication ?? false, props.disableBottomInsetApplication ?? false);
1274 const {
1275 headerLeftBarButtonItems,
1276- headerRightBarButtonItems
1277+ headerRightBarButtonItems,
1278+ headerCenterBarButtonItems,
1279+ headerToolbarItems
1280 } = props;
1281 const preparedHeaderLeftBarButtonItems = headerLeftBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerLeftBarButtonItems, 'left') : undefined;
1282 const preparedHeaderRightBarButtonItems = headerRightBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerRightBarButtonItems, 'right') : undefined;
1283- const hasHeaderBarButtonItems = isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length);
1284+ const preparedHeaderCenterBarButtonItems = headerCenterBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerCenterBarButtonItems, 'right') : undefined;
1285+ const preparedHeaderToolbarItems = headerToolbarItems && isHeaderBarButtonsAvailableForCurrentPlatform ? prepareHeaderBarButtonItems(headerToolbarItems, 'right') : undefined;
1286+ const hasHeaderBarButtonItems = isHeaderBarButtonsAvailableForCurrentPlatform && (preparedHeaderLeftBarButtonItems?.length || preparedHeaderRightBarButtonItems?.length || preparedHeaderCenterBarButtonItems?.length || preparedHeaderToolbarItems?.length);
1287
1288 // Handle bar button item presses
1289 const onPressHeaderBarButtonItem = hasHeaderBarButtonItems ? event => {
1290- const pressedItem = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])].find(item => item && 'buttonId' in item && item.buttonId === event.nativeEvent.buttonId);
1291+ const buttonId = event.nativeEvent.buttonId;
1292+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1293+ const pressedItem = allItems.find(item => item && 'buttonId' in item && item.buttonId === buttonId);
1294 if (pressedItem && pressedItem.type === 'button' && pressedItem.onPress) {
1295 pressedItem.onPress();
1296 }
1297+ for (const item of allItems) {
1298+ if (!item || item.type !== 'mailSearchToolbar') {
1299+ continue;
1300+ }
1301+ if (item.filterButtonId === buttonId) {
1302+ item.onFilterPress?.();
1303+ return;
1304+ }
1305+ if (item.composeButtonId === buttonId) {
1306+ item.onComposePress?.();
1307+ return;
1308+ }
1309+ const searchTextChangePrefix = item.searchTextChangeId ? `${item.searchTextChangeId}:` : undefined;
1310+ if (searchTextChangePrefix && buttonId.startsWith(searchTextChangePrefix)) {
1311+ item.onSearchTextChange?.(buttonId.slice(searchTextChangePrefix.length));
1312+ return;
1313+ }
1314+ }
1315 } : undefined;
1316
1317 // Handle bar button menu item presses by deep-searching nested menus
1318@@ -55,7 +79,7 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1319 };
1320
1321 // Check each bar-button item with a menu
1322- const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? [])];
1323+ const allItems = [...(preparedHeaderLeftBarButtonItems ?? []), ...(preparedHeaderRightBarButtonItems ?? []), ...(preparedHeaderCenterBarButtonItems ?? []), ...(preparedHeaderToolbarItems ?? [])];
1324 for (const item of allItems) {
1325 if (item && item.type === 'menu' && item.menu) {
1326 const action = findInMenu(item.menu, event.nativeEvent.menuId);
1327@@ -63,6 +87,15 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1328 action.onPress();
1329 return;
1330 }
1331+ } else if (item && item.type === 'mailSearchToolbar') {
1332+ const toolbarMenus = [item.filterMenu, item.composeMenu].filter(Boolean);
1333+ for (const toolbarMenu of toolbarMenus) {
1334+ const action = findInMenu(toolbarMenu, event.nativeEvent.menuId);
1335+ if (action) {
1336+ action.onPress();
1337+ return;
1338+ }
1339+ }
1340 }
1341 }
1342 } : undefined;
1343@@ -70,6 +103,8 @@ export const ScreenStackHeaderConfig = /*#__PURE__*/React.forwardRef((props, ref
1344 userInterfaceStyle: props.experimental_userInterfaceStyle,
1345 headerLeftBarButtonItems: preparedHeaderLeftBarButtonItems,
1346 headerRightBarButtonItems: preparedHeaderRightBarButtonItems,
1347+ headerCenterBarButtonItems: preparedHeaderCenterBarButtonItems,
1348+ headerToolbarItems: preparedHeaderToolbarItems,
1349 onPressHeaderBarButtonItem: onPressHeaderBarButtonItem,
1350 onPressHeaderBarButtonMenuItem: onPressHeaderBarButtonMenuItem,
1351 ref: ref,
1352diff --git a/lib/module/components/helpers/prepareHeaderBarButtonItems.js b/lib/module/components/helpers/prepareHeaderBarButtonItems.js
1353index 8a70ffd78617147418d628c03c580bb7ff9a8a72..8dbd0ba2ee61ee54d44cdf286a720ce26af01f26 100644
1354--- a/lib/module/components/helpers/prepareHeaderBarButtonItems.js
1355+++ b/lib/module/components/helpers/prepareHeaderBarButtonItems.js
1356@@ -35,10 +35,31 @@ const prepareMenu = (menu, index, side, path = '') => {
1357 };
1358 };
1359 export const prepareHeaderBarButtonItems = (barButtonItems, side) => {
1360- return barButtonItems?.map((item, index) => {
1361+ const items = Array.isArray(barButtonItems) ? barButtonItems : barButtonItems && typeof barButtonItems === 'object' && 'type' in barButtonItems ? [barButtonItems] : undefined;
1362+ return items?.map((item, index) => {
1363 if (item.type === 'spacing') {
1364 return item;
1365 }
1366+ if (item.type === 'searchBarPlacement') {
1367+ return {
1368+ ...item,
1369+ searchBarPlacement: true
1370+ };
1371+ }
1372+ if (item.type === 'searchField') {
1373+ return {
1374+ ...item,
1375+ searchField: true
1376+ };
1377+ }
1378+ if (item.type === 'mailSearchToolbar') {
1379+ return {
1380+ ...item,
1381+ mailSearchToolbar: true,
1382+ filterMenu: item.filterMenu ? prepareMenu(item.filterMenu, index, side, 'filter') : undefined,
1383+ composeMenu: item.composeMenu ? prepareMenu(item.composeMenu, index, side, 'compose') : undefined
1384+ };
1385+ }
1386 let imageSource, templateSource;
1387 if (item.icon?.type === 'imageSource') {
1388 imageSource = Image.resolveAssetSource(item.icon.imageSource);
1389diff --git a/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts b/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts
1390index a51d8648567cff29cd2be0d5262bd15c6fc69c61..8b7439aff4d7e6fe8a72bf0bac93c3c19568b1a6 100644
1391--- a/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts
1392+++ b/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts
1393@@ -9,6 +9,7 @@ type OnPressHeaderBarButtonMenuItemEvent = Readonly<{
1394 menuId: string;
1395 }>;
1396 type BackButtonDisplayMode = 'minimal' | 'default' | 'generic';
1397+type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1398 type BlurEffect = 'none' | 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
1399 type UserInterfaceStyle = 'unspecified' | 'light' | 'dark';
1400 export interface NativeProps extends ViewProps {
1401@@ -32,18 +33,23 @@ export interface NativeProps extends ViewProps {
1402 largeTitleColor?: ColorValue | undefined;
1403 translucent?: boolean | undefined;
1404 title?: string | undefined;
1405+ subtitle?: string | undefined;
1406+ largeSubtitle?: string | undefined;
1407 titleFontFamily?: string | undefined;
1408 titleFontSize?: CT.Int32 | undefined;
1409 titleFontWeight?: string | undefined;
1410 titleColor?: ColorValue | undefined;
1411 disableBackButtonMenu?: boolean | undefined;
1412 backButtonDisplayMode?: CT.WithDefault<BackButtonDisplayMode, 'default'>;
1413+ navigationItemStyle?: CT.WithDefault<NavigationItemStyle, 'navigator'>;
1414 hideBackButton?: boolean | undefined;
1415 backButtonInCustomView?: boolean | undefined;
1416 blurEffect?: CT.WithDefault<BlurEffect, 'none'>;
1417 topInsetEnabled?: boolean | undefined;
1418 headerLeftBarButtonItems?: CT.UnsafeMixed[] | undefined;
1419 headerRightBarButtonItems?: CT.UnsafeMixed[] | undefined;
1420+ headerCenterBarButtonItems?: CT.UnsafeMixed[] | undefined;
1421+ headerToolbarItems?: CT.UnsafeMixed[] | undefined;
1422 onPressHeaderBarButtonItem?: CT.DirectEventHandler<OnPressHeaderBarButtonItemEvent> | undefined;
1423 onPressHeaderBarButtonMenuItem?: CT.DirectEventHandler<OnPressHeaderBarButtonMenuItemEvent> | undefined;
1424 synchronousShadowStateUpdatesEnabled?: CT.WithDefault<boolean, true>;
1425diff --git a/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts b/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts
1426index 1ca926e6753294861f5f79ab6267dc7999f70639..15929959d1e274cc6abd55f2eb8db50ba102169a 100644
1427--- a/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts
1428+++ b/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts
1429@@ -3,6 +3,7 @@ export type HeaderSubviewTypes = 'back' | 'right' | 'left' | 'title' | 'center'
1430 export interface NativeProps extends ViewProps {
1431 type?: CT.WithDefault<HeaderSubviewTypes, 'left'>;
1432 hidesSharedBackground?: boolean | undefined;
1433+ identifier?: string | undefined;
1434 synchronousShadowStateUpdatesEnabled?: CT.WithDefault<boolean, true>;
1435 }
1436 declare const _default: import("react-native").HostComponent<NativeProps>;
1437diff --git a/lib/typescript/types.d.ts b/lib/typescript/types.d.ts
1438index 10a31341f4eff258a7f8ea6abae3eddf0dd21218..bab5031f5f9b246f15e5396f3f2fee90b91d826a 100644
1439--- a/lib/typescript/types.d.ts
1440+++ b/lib/typescript/types.d.ts
1441@@ -10,6 +10,7 @@ export type SearchBarCommands = {
1442 cancelSearch: () => void;
1443 };
1444 export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
1445+export type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1446 export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet' | 'pageSheet';
1447 export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios_from_right' | 'ios_from_left';
1448 export type BlurEffectTypes = BlurEffect;
1449@@ -631,6 +632,14 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1450 * @platform ios
1451 */
1452 backButtonDisplayMode?: BackButtonDisplayMode | undefined;
1453+ /**
1454+ * Controls the UIKit `UINavigationItem.style` used by native iOS headers.
1455+ *
1456+ * `editor` matches modern document/editor-style bars with leading-aligned compact titles and glass controls.
1457+ *
1458+ * @platform ios
1459+ */
1460+ navigationItemStyle?: NavigationItemStyle | undefined;
1461 /**
1462 * Array of UIBarButtomItems to the left side of the header.
1463 *
1464@@ -643,6 +652,26 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1465 * @platform ios
1466 */
1467 headerRightBarButtonItems?: HeaderBarButtonItem[] | undefined;
1468+ /**
1469+ * Array of UIBarButtonItems to the centered item group in modern iOS headers.
1470+ *
1471+ * This maps to `UINavigationItem.centerItemGroups` on iOS 26+ and lets
1472+ * document/editor-style chrome keep primary actions visually centered while
1473+ * leaving trailing search separate.
1474+ *
1475+ * @platform ios
1476+ */
1477+ headerCenterBarButtonItems?: HeaderBarButtonItem[] | undefined;
1478+ /**
1479+ * Array of UIBarButtonItems to display in the native toolbar attached to
1480+ * the current screen's navigation controller.
1481+ *
1482+ * On iOS 26+, this can contain a `searchBarPlacement` item to let UIKit
1483+ * render integrated Mail-style search chrome using the attached SearchBar.
1484+ *
1485+ * @platform ios
1486+ */
1487+ headerToolbarItems?: HeaderBarButtonItem[] | undefined;
1488 /**
1489 * When set to true the header will be hidden while the parent Screen is on the top of the stack. The default value is false.
1490 */
1491@@ -704,6 +733,20 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1492 * String that can be displayed in the header as a fallback for `headerTitle`.
1493 */
1494 title?: string | undefined;
1495+ /**
1496+ * String displayed below the compact navigation title on iOS 26+.
1497+ *
1498+ * @platform ios
1499+ */
1500+ subtitle?: string | undefined;
1501+ /**
1502+ * String displayed below the large navigation title on iOS 26+.
1503+ *
1504+ * Falls back to `subtitle` when omitted.
1505+ *
1506+ * @platform ios
1507+ */
1508+ largeSubtitle?: string | undefined;
1509 /**
1510 * Allows for setting text color of the title.
1511 */
1512@@ -999,6 +1042,13 @@ export interface SearchBarProps {
1513 shouldShowHintSearchIcon?: boolean | undefined;
1514 }
1515 export interface ScreenStackHeaderSubviewProps {
1516+ /**
1517+ * An identifier used to match this item across navigation bar transitions.
1518+ * Only applicable to type="right" and type="left" subviews on iOS 26.0 and later.
1519+ *
1520+ * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/identifier
1521+ */
1522+ identifier?: string | undefined;
1523 /**
1524 * A boolean value indicating whether the background this item may share with other items in the bar should be hidden.
1525 * Only applicable to type="right" and type="left" subviews.
1526@@ -1037,6 +1087,11 @@ interface SharedHeaderBarButtonItem {
1527 * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.property
1528 */
1529 variant?: 'plain' | 'done' | 'prominent' | undefined;
1530+ /**
1531+ * Render the item with UIButtonConfiguration.glassButtonConfiguration.
1532+ * Only available from iOS 26.0 and later.
1533+ */
1534+ glassEffect?: boolean | undefined;
1535 /**
1536 * The tint color to apply to the item.
1537 *
1538@@ -1181,8 +1236,38 @@ export interface HeaderBarButtonItemWithMenu extends SharedHeaderBarButtonItem {
1539 export interface HeaderBarButtonItemSpacing {
1540 type: 'spacing';
1541 spacing: number;
1542+ flexible?: boolean | undefined;
1543+}
1544+export interface HeaderBarButtonSearchBarPlacementItem {
1545+ type: 'searchBarPlacement';
1546+ activatesSearchController?: boolean | undefined;
1547+ customView?: boolean | undefined;
1548+ index?: number | undefined;
1549+ width?: number | undefined;
1550+}
1551+export interface HeaderBarButtonSearchFieldItem {
1552+ type: 'searchField';
1553+ placeholder?: string | undefined;
1554+ width?: number | undefined;
1555+}
1556+export interface HeaderBarButtonMailSearchToolbarItem {
1557+ type: 'mailSearchToolbar';
1558+ composeButtonId?: string | undefined;
1559+ composeMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1560+ composeSystemImageName?: string | undefined;
1561+ filterButtonId?: string | undefined;
1562+ filterMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1563+ filterSystemImageName?: string | undefined;
1564+ onComposePress?: (() => void) | undefined;
1565+ onFilterPress?: (() => void) | undefined;
1566+ onSearchTextChange?: ((text: string) => void) | undefined;
1567+ placeholder?: string | undefined;
1568+ searchTextChangeId?: string | undefined;
1569+ showsSearchDismissButton?: boolean | undefined;
1570+ useFallbackSearchField?: boolean | undefined;
1571+ width?: number | undefined;
1572 }
1573-export type HeaderBarButtonItem = HeaderBarButtonItemWithAction | HeaderBarButtonItemWithMenu | HeaderBarButtonItemSpacing;
1574+export type HeaderBarButtonItem = HeaderBarButtonItemWithAction | HeaderBarButtonItemWithMenu | HeaderBarButtonMailSearchToolbarItem | HeaderBarButtonSearchFieldItem | HeaderBarButtonSearchBarPlacementItem | HeaderBarButtonItemSpacing;
1575 /**
1576 * Custom Screen Transition
1577 */
1578diff --git a/src/components/ScreenStackHeaderConfig.tsx b/src/components/ScreenStackHeaderConfig.tsx
1579index c3a88b6f6c8362cf717372a35cdc35a6b397bdd0..9da8553b2c2e81fa13ef4f5b3e805efc0004ef29 100644
1580--- a/src/components/ScreenStackHeaderConfig.tsx
1581+++ b/src/components/ScreenStackHeaderConfig.tsx
1582@@ -48,7 +48,12 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1583 props.disableBottomInsetApplication ?? false,
1584 );
1585
1586- const { headerLeftBarButtonItems, headerRightBarButtonItems } = props;
1587+ const {
1588+ headerLeftBarButtonItems,
1589+ headerRightBarButtonItems,
1590+ headerCenterBarButtonItems,
1591+ headerToolbarItems,
1592+ } = props;
1593
1594 const preparedHeaderLeftBarButtonItems =
1595 headerLeftBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform
1596@@ -58,22 +63,36 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1597 headerRightBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform
1598 ? prepareHeaderBarButtonItems(headerRightBarButtonItems, 'right')
1599 : undefined;
1600+ const preparedHeaderCenterBarButtonItems =
1601+ headerCenterBarButtonItems && isHeaderBarButtonsAvailableForCurrentPlatform
1602+ ? prepareHeaderBarButtonItems(headerCenterBarButtonItems, 'right')
1603+ : undefined;
1604+ const preparedHeaderToolbarItems =
1605+ headerToolbarItems && isHeaderBarButtonsAvailableForCurrentPlatform
1606+ ? prepareHeaderBarButtonItems(headerToolbarItems, 'right')
1607+ : undefined;
1608 const hasHeaderBarButtonItems =
1609 isHeaderBarButtonsAvailableForCurrentPlatform &&
1610 (preparedHeaderLeftBarButtonItems?.length ||
1611- preparedHeaderRightBarButtonItems?.length);
1612+ preparedHeaderRightBarButtonItems?.length ||
1613+ preparedHeaderCenterBarButtonItems?.length ||
1614+ preparedHeaderToolbarItems?.length);
1615
1616 // Handle bar button item presses
1617 const onPressHeaderBarButtonItem = hasHeaderBarButtonItems
1618 ? (event: NativeSyntheticEvent<{ buttonId: string }>) => {
1619- const pressedItem = [
1620+ const buttonId = event.nativeEvent.buttonId;
1621+ const allItems = [
1622 ...(preparedHeaderLeftBarButtonItems ?? []),
1623 ...(preparedHeaderRightBarButtonItems ?? []),
1624- ].find(
1625+ ...(preparedHeaderCenterBarButtonItems ?? []),
1626+ ...(preparedHeaderToolbarItems ?? []),
1627+ ];
1628+ const pressedItem = allItems.find(
1629 item =>
1630 item &&
1631 'buttonId' in item &&
1632- item.buttonId === event.nativeEvent.buttonId,
1633+ item.buttonId === buttonId,
1634 );
1635 if (
1636 pressedItem &&
1637@@ -82,6 +101,31 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1638 ) {
1639 pressedItem.onPress();
1640 }
1641+ for (const item of allItems) {
1642+ if (!item || item.type !== 'mailSearchToolbar') {
1643+ continue;
1644+ }
1645+ if (item.filterButtonId === buttonId) {
1646+ item.onFilterPress?.();
1647+ return;
1648+ }
1649+ if (item.composeButtonId === buttonId) {
1650+ item.onComposePress?.();
1651+ return;
1652+ }
1653+ const searchTextChangePrefix = item.searchTextChangeId
1654+ ? `${item.searchTextChangeId}:`
1655+ : undefined;
1656+ if (
1657+ searchTextChangePrefix &&
1658+ buttonId.startsWith(searchTextChangePrefix)
1659+ ) {
1660+ item.onSearchTextChange?.(
1661+ buttonId.slice(searchTextChangePrefix.length),
1662+ );
1663+ return;
1664+ }
1665+ }
1666 }
1667 : undefined;
1668
1669@@ -111,6 +155,8 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1670 const allItems = [
1671 ...(preparedHeaderLeftBarButtonItems ?? []),
1672 ...(preparedHeaderRightBarButtonItems ?? []),
1673+ ...(preparedHeaderCenterBarButtonItems ?? []),
1674+ ...(preparedHeaderToolbarItems ?? []),
1675 ];
1676 for (const item of allItems) {
1677 if (item && item.type === 'menu' && item.menu) {
1678@@ -119,6 +165,17 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1679 action.onPress();
1680 return;
1681 }
1682+ } else if (item && item.type === 'mailSearchToolbar') {
1683+ const toolbarMenus = [item.filterMenu, item.composeMenu].filter(
1684+ Boolean,
1685+ );
1686+ for (const toolbarMenu of toolbarMenus) {
1687+ const action = findInMenu(toolbarMenu, event.nativeEvent.menuId);
1688+ if (action) {
1689+ action.onPress();
1690+ return;
1691+ }
1692+ }
1693 }
1694 }
1695 }
1696@@ -130,6 +187,8 @@ export const ScreenStackHeaderConfig = React.forwardRef<
1697 userInterfaceStyle={props.experimental_userInterfaceStyle}
1698 headerLeftBarButtonItems={preparedHeaderLeftBarButtonItems}
1699 headerRightBarButtonItems={preparedHeaderRightBarButtonItems}
1700+ headerCenterBarButtonItems={preparedHeaderCenterBarButtonItems}
1701+ headerToolbarItems={preparedHeaderToolbarItems}
1702 onPressHeaderBarButtonItem={onPressHeaderBarButtonItem}
1703 onPressHeaderBarButtonMenuItem={onPressHeaderBarButtonMenuItem}
1704 ref={ref}
1705diff --git a/src/components/helpers/prepareHeaderBarButtonItems.ts b/src/components/helpers/prepareHeaderBarButtonItems.ts
1706index be2c24dfee77f5883b5ab1d7473be80933b5dc6f..0b038d2005b2d51bbb2ab1d7dba7eaccda83d42f 100644
1707--- a/src/components/helpers/prepareHeaderBarButtonItems.ts
1708+++ b/src/components/helpers/prepareHeaderBarButtonItems.ts
1709@@ -50,13 +50,43 @@ const prepareMenu = (
1710 };
1711
1712 export const prepareHeaderBarButtonItems = (
1713- barButtonItems: HeaderBarButtonItem[],
1714+ barButtonItems:
1715+ | HeaderBarButtonItem[]
1716+ | HeaderBarButtonItem
1717+ | null
1718+ | undefined,
1719 side: 'left' | 'right',
1720 ) => {
1721- return barButtonItems?.map((item, index) => {
1722+ const items = Array.isArray(barButtonItems)
1723+ ? barButtonItems
1724+ : barButtonItems && typeof barButtonItems === 'object' && 'type' in barButtonItems
1725+ ? [barButtonItems]
1726+ : undefined;
1727+
1728+ return items?.map((item, index) => {
1729 if (item.type === 'spacing') {
1730 return item;
1731 }
1732+ if (item.type === 'searchBarPlacement') {
1733+ return {
1734+ ...item,
1735+ searchBarPlacement: true,
1736+ };
1737+ }
1738+ if (item.type === 'searchField') {
1739+ return {
1740+ ...item,
1741+ searchField: true,
1742+ };
1743+ }
1744+ if (item.type === 'mailSearchToolbar') {
1745+ return {
1746+ ...item,
1747+ mailSearchToolbar: true,
1748+ filterMenu: item.filterMenu ? prepareMenu(item.filterMenu, index, side, 'filter') : undefined,
1749+ composeMenu: item.composeMenu ? prepareMenu(item.composeMenu, index, side, 'compose') : undefined,
1750+ };
1751+ }
1752 let imageSource, templateSource;
1753 if (item.icon?.type === 'imageSource') {
1754 imageSource = Image.resolveAssetSource(item.icon.imageSource);
1755diff --git a/src/fabric/ScreenStackHeaderConfigNativeComponent.ts b/src/fabric/ScreenStackHeaderConfigNativeComponent.ts
1756index a80d9fef0c0ab5ce8221c5e0c7fae65162bc6164..fc16f51425702a418c09de553a54753331f19d15 100644
1757--- a/src/fabric/ScreenStackHeaderConfigNativeComponent.ts
1758+++ b/src/fabric/ScreenStackHeaderConfigNativeComponent.ts
1759@@ -14,6 +14,7 @@ type OnPressHeaderBarButtonItemEvent = Readonly<{ buttonId: string }>;
1760 type OnPressHeaderBarButtonMenuItemEvent = Readonly<{ menuId: string }>;
1761
1762 type BackButtonDisplayMode = 'minimal' | 'default' | 'generic';
1763+type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1764
1765 type BlurEffect =
1766 | 'none'
1767@@ -61,12 +62,15 @@ export interface NativeProps extends ViewProps {
1768 largeTitleColor?: ColorValue | undefined;
1769 translucent?: boolean | undefined;
1770 title?: string | undefined;
1771+ subtitle?: string | undefined;
1772+ largeSubtitle?: string | undefined;
1773 titleFontFamily?: string | undefined;
1774 titleFontSize?: CT.Int32 | undefined;
1775 titleFontWeight?: string | undefined;
1776 titleColor?: ColorValue | undefined;
1777 disableBackButtonMenu?: boolean | undefined;
1778 backButtonDisplayMode?: CT.WithDefault<BackButtonDisplayMode, 'default'>;
1779+ navigationItemStyle?: CT.WithDefault<NavigationItemStyle, 'navigator'>;
1780 hideBackButton?: boolean | undefined;
1781 backButtonInCustomView?: boolean | undefined;
1782 blurEffect?: CT.WithDefault<BlurEffect, 'none'>;
1783@@ -74,6 +78,8 @@ export interface NativeProps extends ViewProps {
1784 topInsetEnabled?: boolean | undefined;
1785 headerLeftBarButtonItems?: CT.UnsafeMixed[] | undefined;
1786 headerRightBarButtonItems?: CT.UnsafeMixed[] | undefined;
1787+ headerCenterBarButtonItems?: CT.UnsafeMixed[] | undefined;
1788+ headerToolbarItems?: CT.UnsafeMixed[] | undefined;
1789 onPressHeaderBarButtonItem?:
1790 | CT.DirectEventHandler<OnPressHeaderBarButtonItemEvent>
1791 | undefined;
1792diff --git a/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts b/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts
1793index 7d3fbfe08c70461936832a40a1ce8d9c11b22457..1f9caca6271b68d182b70a180f180d6a4ce3988c 100644
1794--- a/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts
1795+++ b/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts
1796@@ -14,6 +14,7 @@ export type HeaderSubviewTypes =
1797 export interface NativeProps extends ViewProps {
1798 type?: CT.WithDefault<HeaderSubviewTypes, 'left'>;
1799 hidesSharedBackground?: boolean | undefined;
1800+ identifier?: string | undefined;
1801 synchronousShadowStateUpdatesEnabled?: CT.WithDefault<boolean, true>;
1802 }
1803
1804diff --git a/src/types.tsx b/src/types.tsx
1805index 9c3ab4c3653ee1769addda8a6464cdf49695a601..6f242ad2bbd7152ea9f873ef7754ad47caf2466d 100644
1806--- a/src/types.tsx
1807+++ b/src/types.tsx
1808@@ -26,6 +26,7 @@ export type SearchBarCommands = {
1809 };
1810
1811 export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
1812+export type NavigationItemStyle = 'navigator' | 'browser' | 'editor';
1813 export type StackPresentationTypes =
1814 | 'push'
1815 | 'modal'
1816@@ -735,6 +736,14 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1817 * @platform ios
1818 */
1819 backButtonDisplayMode?: BackButtonDisplayMode | undefined;
1820+ /**
1821+ * Controls the UIKit `UINavigationItem.style` used by native iOS headers.
1822+ *
1823+ * `editor` matches modern document/editor-style bars with leading-aligned compact titles and glass controls.
1824+ *
1825+ * @platform ios
1826+ */
1827+ navigationItemStyle?: NavigationItemStyle | undefined;
1828 /**
1829 * Array of UIBarButtomItems to the left side of the header.
1830 *
1831@@ -747,6 +756,26 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1832 * @platform ios
1833 */
1834 headerRightBarButtonItems?: HeaderBarButtonItem[] | undefined;
1835+ /**
1836+ * Array of UIBarButtonItems to the centered item group in modern iOS headers.
1837+ *
1838+ * This maps to `UINavigationItem.centerItemGroups` on iOS 26+ and lets
1839+ * document/editor-style chrome keep primary actions visually centered while
1840+ * leaving trailing search separate.
1841+ *
1842+ * @platform ios
1843+ */
1844+ headerCenterBarButtonItems?: HeaderBarButtonItem[] | undefined;
1845+ /**
1846+ * Array of UIBarButtonItems to display in the native toolbar attached to
1847+ * the current screen's navigation controller.
1848+ *
1849+ * On iOS 26+, this can contain a `searchBarPlacement` item to let UIKit
1850+ * render integrated Mail-style search chrome using the attached SearchBar.
1851+ *
1852+ * @platform ios
1853+ */
1854+ headerToolbarItems?: HeaderBarButtonItem[] | undefined;
1855 /**
1856 * When set to true the header will be hidden while the parent Screen is on the top of the stack. The default value is false.
1857 */
1858@@ -808,6 +837,20 @@ export interface ScreenStackHeaderConfigProps extends ViewProps {
1859 * String that can be displayed in the header as a fallback for `headerTitle`.
1860 */
1861 title?: string | undefined;
1862+ /**
1863+ * String displayed below the compact navigation title on iOS 26+.
1864+ *
1865+ * @platform ios
1866+ */
1867+ subtitle?: string | undefined;
1868+ /**
1869+ * String displayed below the large navigation title on iOS 26+.
1870+ *
1871+ * Falls back to `subtitle` when omitted.
1872+ *
1873+ * @platform ios
1874+ */
1875+ largeSubtitle?: string | undefined;
1876 /**
1877 * Allows for setting text color of the title.
1878 */
1879@@ -1120,6 +1163,13 @@ export interface SearchBarProps {
1880 }
1881
1882 export interface ScreenStackHeaderSubviewProps {
1883+ /**
1884+ * An identifier used to match this item across navigation bar transitions.
1885+ * Only applicable to type="right" and type="left" subviews on iOS 26.0 and later.
1886+ *
1887+ * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/identifier
1888+ */
1889+ identifier?: string | undefined;
1890 /**
1891 * A boolean value indicating whether the background this item may share with other items in the bar should be hidden.
1892 * Only applicable to type="right" and type="left" subviews.
1893@@ -1161,6 +1211,11 @@ interface SharedHeaderBarButtonItem {
1894 * Read more: https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.property
1895 */
1896 variant?: 'plain' | 'done' | 'prominent' | undefined;
1897+ /**
1898+ * Render the item with UIButtonConfiguration.glassButtonConfiguration.
1899+ * Only available from iOS 26.0 and later.
1900+ */
1901+ glassEffect?: boolean | undefined;
1902 /**
1903 * The tint color to apply to the item.
1904 *
1905@@ -1315,11 +1370,47 @@ export interface HeaderBarButtonItemWithMenu extends SharedHeaderBarButtonItem {
1906 export interface HeaderBarButtonItemSpacing {
1907 type: 'spacing';
1908 spacing: number;
1909+ flexible?: boolean | undefined;
1910+}
1911+
1912+export interface HeaderBarButtonSearchBarPlacementItem {
1913+ type: 'searchBarPlacement';
1914+ activatesSearchController?: boolean | undefined;
1915+ customView?: boolean | undefined;
1916+ index?: number | undefined;
1917+ width?: number | undefined;
1918+}
1919+
1920+export interface HeaderBarButtonSearchFieldItem {
1921+ type: 'searchField';
1922+ placeholder?: string | undefined;
1923+ width?: number | undefined;
1924+}
1925+
1926+export interface HeaderBarButtonMailSearchToolbarItem {
1927+ type: 'mailSearchToolbar';
1928+ composeButtonId?: string | undefined;
1929+ composeMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1930+ composeSystemImageName?: string | undefined;
1931+ filterButtonId?: string | undefined;
1932+ filterMenu?: HeaderBarButtonItemWithMenu['menu'] | undefined;
1933+ filterSystemImageName?: string | undefined;
1934+ onComposePress?: (() => void) | undefined;
1935+ onFilterPress?: (() => void) | undefined;
1936+ onSearchTextChange?: ((text: string) => void) | undefined;
1937+ placeholder?: string | undefined;
1938+ searchTextChangeId?: string | undefined;
1939+ showsSearchDismissButton?: boolean | undefined;
1940+ useFallbackSearchField?: boolean | undefined;
1941+ width?: number | undefined;
1942 }
1943
1944 export type HeaderBarButtonItem =
1945 | HeaderBarButtonItemWithAction
1946 | HeaderBarButtonItemWithMenu
1947+ | HeaderBarButtonMailSearchToolbarItem
1948+ | HeaderBarButtonSearchFieldItem
1949+ | HeaderBarButtonSearchBarPlacementItem
1950 | HeaderBarButtonItemSpacing;
1951
1952 /**
pnpm-lock.yaml+1112-1665
...@@ -67,34 +67,34 @@ overrides:...@@ -67,34 +67,34 @@ overrides:
67 '@effect/sql-sqlite-bun': 4.0.0-beta.10367 '@effect/sql-sqlite-bun': 4.0.0-beta.103
68 '@effect/vitest': 4.0.0-beta.10368 '@effect/vitest': 4.0.0-beta.103
69 '@effect/vitest>vitest': '-'69 '@effect/vitest>vitest': '-'
70 '@expo/metro-config': 56.0.1470 '@expo/dom-webview': 57.0.1
71 '@expo/metro-config': 57.0.12
72 expo-constants: 57.0.16
71 '@pierre/diffs>@shikijs/transformers': ^4.2.073 '@pierre/diffs>@shikijs/transformers': ^4.2.0
72 '@types/node': 24.12.474 '@types/node': 24.12.4
73 effect: 4.0.0-beta.10375 effect: 4.0.0-beta.103
74 expo-modules-jsi: 56.0.1076 expo-router: 57.0.17
75 expo-sharing>@expo/config-plugins: 56.0.977 expo-sharing>@expo/config-plugins: 57.0.9
76 expo-sharing>@expo/config-types: 56.0.678 expo-sharing>@expo/config-types: 57.0.2
77 vite: npm:@voidzero-dev/vite-plus-core@0.2.279 vite: npm:@voidzero-dev/vite-plus-core@0.2.2
78 yaml: ^2.9.080 yaml: ^2.9.0
7981
80packageExtensionsChecksum: sha256-CUzzeefpj3gNFrCKNBhV9FOaniNbrLdKyIhWQyXuaiE=82packageExtensionsChecksum: sha256-k/dT9NFDl5hihRPaoFKeY11hzyutMFs5psfZLFiKJic=
8183
82patchedDependencies:84patchedDependencies:
83 '@clerk/expo@4.2.0': 72e426f44fc1cde16fc2cbba3d1e96cdca7c6d957faa73d0fe6b43948608a6c185 '@clerk/expo@4.2.0': 72e426f44fc1cde16fc2cbba3d1e96cdca7c6d957faa73d0fe6b43948608a6c1
84 '@effect/vitest@4.0.0-beta.103': a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b86 '@effect/vitest@4.0.0-beta.103': a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b
85 '@expo/metro-config@56.0.14': 8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff4687 '@expo/metro-config@57.0.12': 96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2
86 '@ff-labs/fff-node@0.9.4': ab9ff544009e1891cfe3930105862d3699007f38922a79f3c98d90018deca36888 '@ff-labs/fff-node@0.9.4': ab9ff544009e1891cfe3930105862d3699007f38922a79f3c98d90018deca368
87 '@legendapp/list@3.3.5': 064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a7470689 '@legendapp/list@3.3.5': 064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706
88 '@pierre/diffs@1.3.0-beta.10': 7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa90 '@pierre/diffs@1.3.0-beta.10': 7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa
89 '@react-native-menu/menu@2.0.0': c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a004591 '@react-native-menu/menu@2.0.0': c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a0045
90 '@react-native/gradle-plugin@0.85.3': c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784
91 '@react-navigation/native-stack@7.17.6': e667c3cef8c78bb9ff4882ee5bd23a432247b843060a9499eb5f07e9e229555292 '@react-navigation/native-stack@7.17.6': e667c3cef8c78bb9ff4882ee5bd23a432247b843060a9499eb5f07e9e2295552
92 effect@4.0.0-beta.103: af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb693 effect@4.0.0-beta.103: af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6
93 expo-modules-jsi@56.0.10: 9170f8074ae4e35a0a086e756c8f815794fd3abe51eac67ca3ba02804225ec1f94 react-native-gesture-handler@2.32.0: 808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3
94 react-native-gesture-handler@2.31.2: 808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3
95 react-native-keyboard-controller@1.21.13: 20be72c84d74253acdcfefbc6defe36dc396944f1a44cab2bdd0e3cd572ae00895 react-native-keyboard-controller@1.21.13: 20be72c84d74253acdcfefbc6defe36dc396944f1a44cab2bdd0e3cd572ae008
96 react-native-nitro-modules@0.35.9: 825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b608842267596 react-native-nitro-modules@0.35.9: 825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675
97 react-native-screens@4.25.2: 7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e97 react-native-screens@4.26.2: 11566900d0c90514867ede5a2333ba412ab3b5a532ba1955e6306fff8b12de1a
9898
99importers:99importers:
100100
...@@ -209,10 +209,10 @@ importers:...@@ -209,10 +209,10 @@ importers:
209 dependencies:209 dependencies:
210 '@callstack/liquid-glass':210 '@callstack/liquid-glass':
211 specifier: ^0.7.1211 specifier: ^0.7.1
212 version: 0.7.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)212 version: 0.7.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
213 '@clerk/expo':213 '@clerk/expo':
214 specifier: 4.2.0214 specifier: 4.2.0
215 version: 4.2.0(patch_hash=72e426f44fc1cde16fc2cbba3d1e96cdca7c6d957faa73d0fe6b43948608a6c1)(expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-constants@56.0.18)(expo-crypto@56.0.4(expo@56.0.12))(expo-secure-store@56.0.4(expo@56.0.12))(expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)215 version: 4.2.0(patch_hash=72e426f44fc1cde16fc2cbba3d1e96cdca7c6d957faa73d0fe6b43948608a6c1)(1fcd0592788ddcf326eeeb90d875ed47)
216 '@effect/atom-react':216 '@effect/atom-react':
217 specifier: 4.0.0-beta.103217 specifier: 4.0.0-beta.103
218 version: 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(react@19.2.3)(scheduler@0.27.0)218 version: 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(react@19.2.3)(scheduler@0.27.0)
...@@ -220,14 +220,14 @@ importers:...@@ -220,14 +220,14 @@ importers:
220 specifier: ^0.4.2220 specifier: ^0.4.2
221 version: 0.4.2221 version: 0.4.2
222 '@expo/metro-runtime':222 '@expo/metro-runtime':
223 specifier: ~56.0.15223 specifier: ~57.0.14
224 version: 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)224 version: 57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
225 '@expo/ui':225 '@expo/ui':
226 specifier: ~56.0.18226 specifier: ~57.0.14
227 version: 56.0.18(3cdc0dde9f93166d952f1e1bd0cb25c0)227 version: 57.0.14(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
228 '@legendapp/list':228 '@legendapp/list':
229 specifier: 'catalog:'229 specifier: 'catalog:'
230 version: 3.3.5(patch_hash=064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)230 version: 3.3.5(patch_hash=064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
231 '@noble/curves':231 '@noble/curves':
232 specifier: 'catalog:'232 specifier: 'catalog:'
233 version: 1.9.1233 version: 1.9.1
...@@ -239,16 +239,16 @@ importers:...@@ -239,16 +239,16 @@ importers:
239 version: 1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)239 version: 1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
240 '@react-native-menu/menu':240 '@react-native-menu/menu':
241 specifier: ^2.0.0241 specifier: ^2.0.0
242 version: 2.0.0(patch_hash=c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a0045)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)242 version: 2.0.0(patch_hash=c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a0045)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
243 '@react-navigation/elements':243 '@react-navigation/elements':
244 specifier: 2.9.26244 specifier: 2.9.26
245 version: 2.9.26(c6a2ad0e2c930f8e3896e77c3ba11bc4)245 version: 2.9.26(c10301b6e0c42fc6434d2b643197a81e)
246 '@react-navigation/native':246 '@react-navigation/native':
247 specifier: 7.3.4247 specifier: 7.3.4
248 version: 7.3.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)248 version: 7.3.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
249 '@react-navigation/native-stack':249 '@react-navigation/native-stack':
250 specifier: 7.17.6250 specifier: 7.17.6
251 version: 7.17.6(patch_hash=e667c3cef8c78bb9ff4882ee5bd23a432247b843060a9499eb5f07e9e2295552)(8effe605a545f8a17acafbaed58f0e86)251 version: 7.17.6(patch_hash=e667c3cef8c78bb9ff4882ee5bd23a432247b843060a9499eb5f07e9e2295552)(df02ad16d8d764efad8e903a73894296)
252 '@shikijs/core':252 '@shikijs/core':
253 specifier: 4.2.0253 specifier: 4.2.0
254 version: 4.2.0254 version: 4.2.0
...@@ -269,7 +269,7 @@ importers:...@@ -269,7 +269,7 @@ importers:
269 version: link:../../packages/contracts269 version: link:../../packages/contracts
270 '@t3tools/mobile-markdown-text':270 '@t3tools/mobile-markdown-text':
271 specifier: file:./modules/t3-markdown-text271 specifier: file:./modules/t3-markdown-text
272 version: file:apps/mobile/modules/t3-markdown-text(ed3009b8f2424467288a00b38bef28fe)272 version: file:apps/mobile/modules/t3-markdown-text(8819e1ff552fc19b333a2dfaf02d39db)
273 '@t3tools/mobile-review-diff-native':273 '@t3tools/mobile-review-diff-native':
274 specifier: file:./modules/t3-review-diff274 specifier: file:./modules/t3-review-diff
275 version: file:apps/mobile/modules/t3-review-diff275 version: file:apps/mobile/modules/t3-review-diff
...@@ -281,7 +281,7 @@ importers:...@@ -281,7 +281,7 @@ importers:
281 version: link:../../packages/shared281 version: link:../../packages/shared
282 '@tabler/icons-react-native':282 '@tabler/icons-react-native':
283 specifier: ^3.44.0283 specifier: ^3.44.0
284 version: 3.44.0(react-native-svg@15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react@19.2.3)284 version: 3.44.0(react-native-svg@15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react@19.2.3)
285 clsx:285 clsx:
286 specifier: ^2.1.1286 specifier: ^2.1.1
287 version: 2.1.1287 version: 2.1.1
...@@ -292,95 +292,95 @@ importers:...@@ -292,95 +292,95 @@ importers:
292 specifier: 4.0.0-beta.103292 specifier: 4.0.0-beta.103
293 version: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)293 version: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)
294 expo:294 expo:
295 specifier: ~56.0.12295 specifier: ~57.0.18
296 version: 56.0.12(8895228379997a2a064f9644cda56ed0)296 version: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
297 expo-asset:297 expo-asset:
298 specifier: ~56.0.17298 specifier: ~57.0.15
299 version: 56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)299 version: 57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
300 expo-auth-session:300 expo-auth-session:
301 specifier: ~56.0.14301 specifier: ~57.0.10
302 version: 56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)302 version: 57.0.10(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
303 expo-blur:303 expo-blur:
304 specifier: ~56.0.3304 specifier: ~57.0.2
305 version: 56.0.3(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)305 version: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
306 expo-build-properties:306 expo-build-properties:
307 specifier: ~56.0.19307 specifier: ~57.0.15
308 version: 56.0.19(expo@56.0.12)308 version: 57.0.15(expo@57.0.18)
309 expo-camera:309 expo-camera:
310 specifier: ~56.0.8310 specifier: ~57.0.4
311 version: 56.0.8(@types/emscripten@1.41.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)311 version: 57.0.4(@types/emscripten@1.41.5)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
312 expo-clipboard:312 expo-clipboard:
313 specifier: ~56.0.4313 specifier: ~57.0.1
314 version: 56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)314 version: 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
315 expo-constants:315 expo-constants:
316 specifier: ~56.0.18316 specifier: 57.0.16
317 version: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))317 version: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
318 expo-crypto:318 expo-crypto:
319 specifier: ~56.0.4319 specifier: ~57.0.2
320 version: 56.0.4(expo@56.0.12)320 version: 57.0.2(expo@57.0.18)
321 expo-dev-client:321 expo-dev-client:
322 specifier: ~56.0.20322 specifier: ~57.0.16
323 version: 56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))323 version: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
324 expo-device:324 expo-device:
325 specifier: ~56.0.4325 specifier: ~57.0.1
326 version: 56.0.4(expo@56.0.12)326 version: 57.0.1(expo@57.0.18)
327 expo-file-system:327 expo-file-system:
328 specifier: ~56.0.8328 specifier: ~57.0.6
329 version: 56.0.8(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))329 version: 57.0.6(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
330 expo-font:330 expo-font:
331 specifier: ~56.0.7331 specifier: ~57.0.2
332 version: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)332 version: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
333 expo-glass-effect:333 expo-glass-effect:
334 specifier: ~56.0.4334 specifier: ~57.0.1
335 version: 56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)335 version: 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
336 expo-haptics:336 expo-haptics:
337 specifier: ~56.0.3337 specifier: ~57.0.2
338 version: 56.0.3(expo@56.0.12)338 version: 57.0.2(expo@57.0.18)
339 expo-image:339 expo-image:
340 specifier: ~56.0.11340 specifier: ~57.0.3
341 version: 56.0.11(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)341 version: 57.0.3(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
342 expo-image-picker:342 expo-image-picker:
343 specifier: ~56.0.18343 specifier: ~57.0.14
344 version: 56.0.18(expo@56.0.12)344 version: 57.0.14(expo@57.0.18)
345 expo-linking:345 expo-linking:
346 specifier: ~56.0.14346 specifier: ~57.0.8
347 version: 56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)347 version: 57.0.8(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
348 expo-network:348 expo-network:
349 specifier: ~56.0.5349 specifier: ~57.0.1
350 version: 56.0.5(expo@56.0.12)(react@19.2.3)350 version: 57.0.1(expo@57.0.18)(react@19.2.3)
351 expo-notifications:351 expo-notifications:
352 specifier: ~56.0.18352 specifier: ~57.0.15
353 version: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)353 version: 57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
354 expo-paste-input:354 expo-paste-input:
355 specifier: ^0.1.15355 specifier: ^0.1.15
356 version: 0.1.15(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)356 version: 0.1.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
357 expo-quick-actions:357 expo-quick-actions:
358 specifier: ^6.0.2358 specifier: ^6.0.2
359 version: 6.0.2(expo@56.0.12)(typescript@6.0.3)359 version: 6.0.2(expo@57.0.18)(typescript@6.0.3)
360 expo-secure-store:360 expo-secure-store:
361 specifier: ~56.0.4361 specifier: ~57.0.2
362 version: 56.0.4(expo@56.0.12)362 version: 57.0.2(expo@57.0.18)
363 expo-sharing:363 expo-sharing:
364 specifier: ~56.0.18364 specifier: ~57.0.16
365 version: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)365 version: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
366 expo-splash-screen:366 expo-splash-screen:
367 specifier: ~56.0.10367 specifier: ~57.0.8
368 version: 56.0.10(expo@56.0.12)(typescript@6.0.3)368 version: 57.0.8(expo@57.0.18)(typescript@6.0.3)
369 expo-sqlite:369 expo-sqlite:
370 specifier: ~56.0.5370 specifier: ~57.0.2
371 version: 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)371 version: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
372 expo-symbols:372 expo-symbols:
373 specifier: ~56.0.6373 specifier: ~57.0.2
374 version: 56.0.6(expo-font@56.0.7)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)374 version: 57.0.2(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
375 expo-updates:375 expo-updates:
376 specifier: ~56.0.19376 specifier: ~57.0.19
377 version: 56.0.19(expo-dev-client@56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)377 version: 57.0.19(expo-dev-client@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
378 expo-web-browser:378 expo-web-browser:
379 specifier: ~56.0.5379 specifier: ~57.0.2
380 version: 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))380 version: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
381 expo-widgets:381 expo-widgets:
382 specifier: ~56.0.19382 specifier: ~57.0.15
383 version: 56.0.19(3cdc0dde9f93166d952f1e1bd0cb25c0)383 version: 57.0.15(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
384 punycode:384 punycode:
385 specifier: ^2.3.1385 specifier: ^2.3.1
386 version: 2.3.1386 version: 2.3.1
...@@ -391,44 +391,44 @@ importers:...@@ -391,44 +391,44 @@ importers:
391 specifier: 19.2.3391 specifier: 19.2.3
392 version: 19.2.3(react@19.2.3)392 version: 19.2.3(react@19.2.3)
393 react-native:393 react-native:
394 specifier: 0.85.3394 specifier: 0.86.3
395 version: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)395 version: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
396 react-native-gesture-handler:396 react-native-gesture-handler:
397 specifier: ~2.31.1397 specifier: ~2.32.0
398 version: 2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)398 version: 2.32.0(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
399 react-native-image-viewing:399 react-native-image-viewing:
400 specifier: ^0.2.2400 specifier: ^0.2.2
401 version: 0.2.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)401 version: 0.2.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
402 react-native-keyboard-controller:402 react-native-keyboard-controller:
403 specifier: 1.21.13403 specifier: 1.21.13
404 version: 1.21.13(patch_hash=20be72c84d74253acdcfefbc6defe36dc396944f1a44cab2bdd0e3cd572ae008)(react-native-reanimated@4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)404 version: 1.21.13(patch_hash=20be72c84d74253acdcfefbc6defe36dc396944f1a44cab2bdd0e3cd572ae008)(react-native-reanimated@4.5.1(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
405 react-native-nitro-markdown:405 react-native-nitro-markdown:
406 specifier: ^0.5.0406 specifier: ^0.5.0
407 version: 0.5.8(react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native-svg@15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)407 version: 0.5.8(react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native-svg@15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
408 react-native-nitro-modules:408 react-native-nitro-modules:
409 specifier: 0.35.9409 specifier: 0.35.9
410 version: 0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)410 version: 0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
411 react-native-reanimated:411 react-native-reanimated:
412 specifier: 4.3.1412 specifier: 4.5.1
413 version: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)413 version: 4.5.1(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
414 react-native-safe-area-context:414 react-native-safe-area-context:
415 specifier: ~5.7.0415 specifier: ~5.7.0
416 version: 5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)416 version: 5.7.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
417 react-native-screens:417 react-native-screens:
418 specifier: 4.25.2418 specifier: ~4.26.0
419 version: 4.25.2(patch_hash=7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)419 version: 4.26.2(patch_hash=11566900d0c90514867ede5a2333ba412ab3b5a532ba1955e6306fff8b12de1a)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
420 react-native-shiki-engine:420 react-native-shiki-engine:
421 specifier: ^0.3.12421 specifier: ^0.3.12
422 version: 0.3.12(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)422 version: 0.3.12(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
423 react-native-svg:423 react-native-svg:
424 specifier: 15.15.4424 specifier: 15.15.4
425 version: 15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)425 version: 15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
426 react-native-webview:426 react-native-webview:
427 specifier: ^13.16.1427 specifier: ^13.16.1
428 version: 13.16.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)428 version: 13.16.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
429 react-native-worklets:429 react-native-worklets:
430 specifier: 0.8.3430 specifier: 0.10.1
431 version: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)431 version: 0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
432 shiki:432 shiki:
433 specifier: 4.2.0433 specifier: 4.2.0
434 version: 4.2.0434 version: 4.2.0
...@@ -437,7 +437,7 @@ importers:...@@ -437,7 +437,7 @@ importers:
437 version: 3.6.0437 version: 3.6.0
438 uniwind:438 uniwind:
439 specifier: ^1.6.2439 specifier: ^1.6.2
440 version: 1.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(tailwindcss@4.3.0)440 version: 1.7.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(tailwindcss@4.3.0)
441 devDependencies:441 devDependencies:
442 '@effect/vitest':442 '@effect/vitest':
443 specifier: 4.0.0-beta.103443 specifier: 4.0.0-beta.103
...@@ -449,8 +449,8 @@ importers:...@@ -449,8 +449,8 @@ importers:
449 specifier: ~19.2.0449 specifier: ~19.2.0
450 version: 19.2.16450 version: 19.2.16
451 babel-preset-expo:451 babel-preset-expo:
452 specifier: ~56.0.0452 specifier: ~57.0.9
453 version: 56.0.14(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@56.0.19)(expo@56.0.12)(react-refresh@0.14.2)453 version: 57.0.9(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@57.0.15)(expo@57.0.18)(react-refresh@0.14.2)
454 tailwindcss:454 tailwindcss:
455 specifier: ^4.0.0455 specifier: ^4.0.0
456 version: 4.3.0456 version: 4.3.0
...@@ -722,10 +722,10 @@ importers:...@@ -722,10 +722,10 @@ importers:
722 version: link:../../packages/shared722 version: link:../../packages/shared
723 alchemy:723 alchemy:
724 specifier: 2.0.0-beta.65724 specifier: 2.0.0-beta.65
725 version: 2.0.0-beta.65(75567d8add6e3362e26fe00f83a97bee)725 version: 2.0.0-beta.65(00c448ade6580e73d10ccfe1b32cee97)
726 drizzle-orm:726 drizzle-orm:
727 specifier: 1.0.0-rc.4727 specifier: 1.0.0-rc.4
728 version: 1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3)728 version: 1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3)
729 effect:729 effect:
730 specifier: 4.0.0-beta.103730 specifier: 4.0.0-beta.103
731 version: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)731 version: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)
...@@ -970,9 +970,6 @@ importers:...@@ -970,9 +970,6 @@ importers:
970970
971packages:971packages:
972972
973 '@adobe/css-tools@4.5.0':
974 resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==}
975
976 '@alcalzone/ansi-tokenize@0.2.5':973 '@alcalzone/ansi-tokenize@0.2.5':
977 resolution: {integrity: sha512-3NX/MpTdroi0aKz134A6RC2Gb2iXVECN4QaAXnvCIxxIm3C3AVB1mkUe8NaaiyvOpDfsrqWhYtj+Q6a62RrTsw==}974 resolution: {integrity: sha512-3NX/MpTdroi0aKz134A6RC2Gb2iXVECN4QaAXnvCIxxIm3C3AVB1mkUe8NaaiyvOpDfsrqWhYtj+Q6a62RrTsw==}
978 engines: {node: '>=18'}975 engines: {node: '>=18'}
...@@ -1747,7 +1744,7 @@ packages:...@@ -1747,7 +1744,7 @@ packages:
1747 expo: '>=54 <58'1744 expo: '>=54 <58'
1748 expo-apple-authentication: '>=7.0.0'1745 expo-apple-authentication: '>=7.0.0'
1749 expo-auth-session: '>=5'1746 expo-auth-session: '>=5'
1750 expo-constants: '>=12'1747 expo-constants: 57.0.16
1751 expo-crypto: '>=12'1748 expo-crypto: '>=12'
1752 expo-local-authentication: '>=13.5.0'1749 expo-local-authentication: '>=13.5.0'
1753 expo-secure-store: '>=12.4.0'1750 expo-secure-store: '>=12.4.0'
...@@ -2444,12 +2441,12 @@ packages:...@@ -2444,12 +2441,12 @@ packages:
2444 '@expo-google-fonts/material-symbols@0.4.38':2441 '@expo-google-fonts/material-symbols@0.4.38':
2445 resolution: {integrity: sha512-IJkBtN1o8u9BW5fvSii1MyHPQ7Q0HxbWcVBvOrOzgMLpVtZw7R2w94wBTVR7kZwv3w1JNTESMmLA5Sqn1+Z36A==}2442 resolution: {integrity: sha512-IJkBtN1o8u9BW5fvSii1MyHPQ7Q0HxbWcVBvOrOzgMLpVtZw7R2w94wBTVR7kZwv3w1JNTESMmLA5Sqn1+Z36A==}
24462443
2447 '@expo/cli@56.1.16':2444 '@expo/cli@57.0.20':
2448 resolution: {integrity: sha512-VBQn0mqAwc67b9Cn0RVXyeodghomAx5xGRhA/bXaQzuxDjMQk0zIOb6pXMZX7yiIwJW66UZt/zQiJNSv6aWJYw==}2445 resolution: {integrity: sha512-ZjWz7SA5TBTyKq4+aFRUPgMFxmqHtKkDMv6d85J2UAAjdRhkNRf+B80t+rr5IFo2ywuTvyrPRBth4ei4w08olA==}
2449 hasBin: true2446 hasBin: true
2450 peerDependencies:2447 peerDependencies:
2451 expo: '*'2448 expo: '*'
2452 expo-router: '*'2449 expo-router: 57.0.17
2453 react-native: '*'2450 react-native: '*'
2454 peerDependenciesMeta:2451 peerDependenciesMeta:
2455 expo-router:2452 expo-router:
...@@ -2460,20 +2457,20 @@ packages:...@@ -2460,20 +2457,20 @@ packages:
2460 '@expo/code-signing-certificates@0.0.6':2457 '@expo/code-signing-certificates@0.0.6':
2461 resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==}2458 resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==}
24622459
2463 '@expo/config-plugins@56.0.9':2460 '@expo/config-plugins@57.0.9':
2464 resolution: {integrity: sha512-/6a/S9USwx8OC9tGjHxbviLFiBHyueN3aoNWMLvWDEJoZ1CIVW800ZBzwXq/FYNK2qzcN1LxFmQtzD1zeFQKNA==}2461 resolution: {integrity: sha512-hHgfL1avkCdEvDSw7IwlKwRYYNgcxzbNNMIk6W6lTkJpY0MajinAfeJUS0J+wPCsjUfGbVqOJM+XhPaO5ulUxg==}
24652462
2466 '@expo/config-types@56.0.6':2463 '@expo/config-types@57.0.2':
2467 resolution: {integrity: sha512-4Y6Aum5J4Re5NnxGVofRNe1aDwUBOmWhQYkynZsqzRtX/zEA1ADUeyHXuEckv9YD9djiyT7bKtLt5gKL3mA6VQ==}2464 resolution: {integrity: sha512-ewW08OonrcRIsRKIlFvvcmmafE5zemb1ocu3HkNwtVPyRtj2w42pZCAkMIROYpcVBaPnc3mDT9UZDzwXWC3i6g==}
24682465
2469 '@expo/config@56.0.9':2466 '@expo/config@57.0.9':
2470 resolution: {integrity: sha512-/lqFeWGSrhpKJVP8tTN8LjuoIe8u8q2w7FzBL0C+wHgl+WM8l1qUIEYWy/sMvsG/NbpUIUsDHJRhQvOkU58eIw==}2467 resolution: {integrity: sha512-dmzlKraIFxa7wLwV6K7WzI8jp6QZpW6Mc5mGjLimJUFjzh4uQdYaT3m3plEutM5yxBoBEwqzks7l+I/ljCbxAQ==}
24712468
2472 '@expo/devcert@1.2.1':2469 '@expo/devcert@1.2.1':
2473 resolution: {integrity: sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==}2470 resolution: {integrity: sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==}
24742471
2475 '@expo/devtools@56.0.2':2472 '@expo/devtools@57.0.1':
2476 resolution: {integrity: sha512-ANl4kPdbe0/HQYWkDEN79S6bQhI+i/ZCnPxuC853pPsB4svhINC7Ku9lmGOKPsUUWWnrHg1spkDGQBZ4sD6JxQ==}2473 resolution: {integrity: sha512-GyUf+wFNkbttaX0jR7MZa9bm77U0IrLg6d2AjpxdyoXw/w4abHoXG0oFufwLMgP9zLTd5+Ct4X/ffNUTnlzZgg==}
2477 peerDependencies:2474 peerDependencies:
2478 react: '*'2475 react: '*'
2479 react-native: '*'2476 react-native: '*'
...@@ -2483,62 +2480,62 @@ packages:...@@ -2483,62 +2480,62 @@ packages:
2483 react-native:2480 react-native:
2484 optional: true2481 optional: true
24852482
2486 '@expo/dom-webview@56.0.5':2483 '@expo/dom-webview@57.0.1':
2487 resolution: {integrity: sha512-UIEJxkLg6cHqofKrpWpkn9E6ApxVRtCgZhZkARPr9VV7rBVloJgeroTHs31YgU/JpbI5lLQOnfOlGo54W6C2Ew==}2484 resolution: {integrity: sha512-lAKsME4SAq+8sf56oN0DX5TBYyruupoRxbWbD2xf9RnKY8y6x8eb9LCE5pxSN0qyWdqnp+0wmyWzDkKboThKAw==}
2488 peerDependencies:2485 peerDependencies:
2489 expo: '*'2486 expo: '*'
2490 react: '*'2487 react: '*'
2491 react-native: '*'2488 react-native: '*'
24922489
2493 '@expo/env@2.3.0':2490 '@expo/env@2.4.3':
2494 resolution: {integrity: sha512-9HnnIbzwTTdbwSjNLXTk0fPm9ZwMJ7c1/31tsni8HZ8Q62KzYCyspahH+V365vg5J6lr001DzNwBxVWSaYCQLg==}2491 resolution: {integrity: sha512-M1NXeZCA1mkMkYOyIe7PlyRX0/jqFtMoJgyblnlq/vpCRfmueFT7RnGSQG8uEFDF5WHOFGijAQ3fogPh3/n5Ng==}
2495 engines: {node: '>=20.12.0'}2492 engines: {node: '>=20.12.0'}
24962493
2497 '@expo/expo-modules-macros-plugin@0.2.2':2494 '@expo/expo-modules-macros-plugin@0.6.1':
2498 resolution: {integrity: sha512-4IMzPDIo/VOXREQjsJtliSfqYVZvfzU2SLFS/9sKMWF848S8CHx+e/E+Vf0TcMvpWCCKX5umyqxb13KJJ+YUzg==}2495 resolution: {integrity: sha512-cpsLZE4rqkc1Y3eZTkxB98jrqY1YXgetmtxFt8q89jBRmk3quRuk1BZo+VcnCSObZardjg99r1k5xijEMONFGA==}
24992496
2500 '@expo/fingerprint@0.19.4':2497 '@expo/fingerprint@0.20.11':
2501 resolution: {integrity: sha512-PsowRlO8+S7JlO8go7yhNEXp7sqlsWDE2AlCwoss7zH0dcajXFo74Fy0KdXEc4UXK7kKoHD37oDgsZ8aHSLr7A==}2498 resolution: {integrity: sha512-GC43EcjQwzpzNZISqmhvjKdi+6FTfxnC9ZxOeg6osCkYXJz94j107l0QpPLipg62khD5HAA5G5cUhevffbRC4w==}
2502 hasBin: true2499 hasBin: true
25032500
2504 '@expo/image-utils@0.10.1':2501 '@expo/image-utils@0.11.5':
2505 resolution: {integrity: sha512-YDeefvmYdihS7Wp3ESDUVnOgOSWmj2Cczm9lVNDdm4MqQLdAKm/LPYg83HtFQPfefRlAxyHrQR/O9kIXN9C1Wg==}2502 resolution: {integrity: sha512-KPQBTpmpAfy/Vu9y4wPW808/qtZxjYmyJg8cm2QCPAupp+qEWA3b5zmk0ulOwQ9OgeHxuCPgUqWgkwHFo7UsrQ==}
25062503
2507 '@expo/image-utils@0.8.14':2504 '@expo/image-utils@0.8.14':
2508 resolution: {integrity: sha512-5Sn+jG4Cw+shC2wDMXoqSAJnvERbiwzHn05FpWtD5IBflfTIs5gUmjzwiGVyjOdlMSQhgRrw/AymPbmO9h9mpQ==}2505 resolution: {integrity: sha512-5Sn+jG4Cw+shC2wDMXoqSAJnvERbiwzHn05FpWtD5IBflfTIs5gUmjzwiGVyjOdlMSQhgRrw/AymPbmO9h9mpQ==}
25092506
2510 '@expo/inline-modules@0.0.12':2507 '@expo/inline-modules@0.1.7':
2511 resolution: {integrity: sha512-SNIZr/HWfIQPTZBwmukItxpc7ws1SgMUywYq1dnQvDknQDjJcuWAasIRFUjsK15yQ1xb4G5CP7VHtbN3V4lENg==}2508 resolution: {integrity: sha512-Bz/khd1gIJqDkje7t5ejD5e9jFbm4xEJzWSwRKadRo6gruepbw1xJ3Eb+e58OS8fY1ZNQYjzZbspnuph67sN0g==}
25122509
2513 '@expo/json-file@10.2.0':2510 '@expo/json-file@11.0.1':
2514 resolution: {integrity: sha512-S6XzKe3R9GQeHiUPXc3xJjOv2VJhOEwFYf7xdC2z2cUqt3kZJ9mSO877sNQloVdnW/SUCtPY3bexlM7nwq+CAQ==}2511 resolution: {integrity: sha512-zxHWj4MKKMAL29ZQSY/Fssx4Thluk40JmuGNaeS078wy/NhlFhnVi+rHHunulE3xJAJ0CM73m8VK2+GkF9eRwQ==}
25152512
2516 '@expo/local-build-cache-provider@56.0.8':2513 '@expo/local-build-cache-provider@57.0.8':
2517 resolution: {integrity: sha512-UsuXwpNi57MNhzZ3be4XThc8xW6nzk3Wu37s1+2qcfZGeJcMLKDFfwO6n8YXeIiGlCsOi0Ee1rsTdgjrKt/YJQ==}2514 resolution: {integrity: sha512-SEdE0pAQrr90bRh3MNR0ZuwoIBw390cYdFgbn7Vk0Mtm9EHaBfP7kYj+2hXnXZJgOEm3/JMtfoD3rV7rWA9FGg==}
25182515
2519 '@expo/log-box@56.0.13':2516 '@expo/log-box@57.0.4':
2520 resolution: {integrity: sha512-QWRZSpWPyjkDLVQio4R7oAzg/Av2MOt/DciFkfjr8qQ3qxGVn1Rt1oHP/80hvcWDcHFV7N6PqpyxRXw6nbxzKQ==}2517 resolution: {integrity: sha512-IxwS9s1L2muj8mj8AQSuiy7u8OFJdc02NRFo2me/Tj6DiaeG5SREqmpBE4rQpR2cadqSg5jl8Qab8Cjie616dg==}
2521 peerDependencies:2518 peerDependencies:
2522 '@expo/dom-webview': ^56.0.52519 '@expo/dom-webview': 57.0.1
2523 expo: '*'2520 expo: '*'
2524 react: '*'2521 react: '*'
2525 react-native: '*'2522 react-native: '*'
25262523
2527 '@expo/metro-config@56.0.14':2524 '@expo/metro-config@57.0.12':
2528 resolution: {integrity: sha512-O3CIHruaTJhswPAf/nf3i8QQ3f2jl+mEwSea1eb3khuplabdy/wTQz+JvHN8VGUFyg7JKwUGU1QfO6T3JiSQqA==}2525 resolution: {integrity: sha512-S62Lrq35HZqBFD55423pmWb8PjaiR/W02zQC1uECBmw1vTN8WZaFz4TJ0i21EeJzwfebMb9MLxL8JZ102Z6VbA==}
2529 peerDependencies:2526 peerDependencies:
2530 expo: '*'2527 expo: '*'
2531 peerDependenciesMeta:2528 peerDependenciesMeta:
2532 expo:2529 expo:
2533 optional: true2530 optional: true
25342531
2535 '@expo/metro-file-map@56.0.3':2532 '@expo/metro-file-map@57.0.2':
2536 resolution: {integrity: sha512-5OGW3z8LgEYgMJOR7F3pC8llFLkb1fVqwAewbCl6S4Vkha8AFQMwOjT+9Wbka+V4rmpljpGqOnMhF4xZbD961w==}2533 resolution: {integrity: sha512-tb50nSIWwKpRufSkGuivOK0FbUxv1Uwqptb0SzFTk0bkmYmcy3gIwnCbOHTfmrQDVndRhPEiu2SYgh9Z0PCvGg==}
25372534
2538 '@expo/metro-runtime@56.0.15':2535 '@expo/metro-runtime@57.0.14':
2539 resolution: {integrity: sha512-WIWeVsL6kCSB57oYZdUA4MTkH7c67UFMIjdNoQzKXwxZYwBFE/xL2cGPDC3z8RWt0femzJTVxAVZUOW/hiqRzA==}2536 resolution: {integrity: sha512-LVpsfF0QOzlLSKlHYpxgW1cP1NKcYeaoalLO18jYHgqseSveEkb9VOffFpicTQ7AN03odZ4fgkUF+p5YpoY4yw==}
2540 peerDependencies:2537 peerDependencies:
2541 '@expo/log-box': ^56.0.132538 '@expo/log-box': ^57.0.4
2542 expo: '*'2539 expo: '*'
2543 react: '*'2540 react: '*'
2544 react-dom: '*'2541 react-dom: '*'
...@@ -2547,21 +2544,21 @@ packages:...@@ -2547,21 +2544,21 @@ packages:
2547 react-dom:2544 react-dom:
2548 optional: true2545 optional: true
25492546
2550 '@expo/metro@56.0.0':2547 '@expo/metro@56.0.2':
2551 resolution: {integrity: sha512-5gIgQHtEpjjvsjKfVtIv23a98LLRV0/y07PDShEwYSytAMlE3FSF8RHXqtHc1sUJL6dn7hnuIBpIbrLXXuVi0A==}2548 resolution: {integrity: sha512-Ld5AeYMCCDa8bLeWhfuLbZFFjlV3f6ORqyPz2glGh6RltIngMuLf9BTC2yvHFjkKuGxL5SynijmA8xmNNWn5iA==}
25522549
2553 '@expo/osascript@2.6.0':2550 '@expo/osascript@2.7.1':
2554 resolution: {integrity: sha512-QvqDBlJXa8CS2vRORJ4wEflY1m0vVI07uSJdIRgBrLxRPBcsrXxrtU7+wXRXMqfq9zLwNP9XbvRsXF2omoDylg==}2551 resolution: {integrity: sha512-Zn03EX6In7ts2lPUW2ESUSkEhEWQN1qqsiXjadtZMJOuZRkMiAg1ZQHuvz9DjByDWNJ2pBwAGyrts9lj9k389g==}
2555 engines: {node: '>=12'}2552 engines: {node: '>=12'}
25562553
2557 '@expo/package-manager@1.12.1':2554 '@expo/package-manager@1.13.1':
2558 resolution: {integrity: sha512-fQLiFAcFRWF53mtuLK32SUJQ1ahhrTcBZPZPedYTiUT5ha5FF+UO6bPtCc0Y/hgj0/m3HCGBAuSHjbg2kI9oPQ==}2555 resolution: {integrity: sha512-y/K+CaYYpZpNGZhSX4HyLT/vyIunFjNfyoxNysPBCefeLKI/VCx6f9LNPzrxayr3rCYO5bl9O8H+HRQK265Nkg==}
25592556
2560 '@expo/plist@0.7.0':2557 '@expo/plist@0.8.1':
2561 resolution: {integrity: sha512-vrpryU1GoqSIRNqRB2D3IjXDmzNYfiQpEF6AH/xknlD7eiYmEDt3mb26V7cLcedcPG8PY/1xWHdBXVQJfEAh6Q==}2558 resolution: {integrity: sha512-3gTReGIUm0oRaMClsAJYxBnVPCl6fVpsl8HS+DTVxDhW4GyVyxg9E/Znm3BvcHtUJ51RJJI14pC1wvrNilCRHw==}
25622559
2563 '@expo/prebuild-config@56.0.16':2560 '@expo/prebuild-config@57.0.15':
2564 resolution: {integrity: sha512-ce9ENfPWO4WUWUVQz0OaqL3KYZ7YofP8O35ncnn7CHCaKwQ7BqxcCGJbh+qvP1UjlWeNB3CjHPrXXJ3bnZwlJw==}2561 resolution: {integrity: sha512-xTbWHroj0PDmlbqvmU+zF9ZZxveJkiuyiPoeRJYRGruFHebRAWnoTdw5S7d/UCzDBI8ropGGu9g2eb2nMxtvAw==}
25652562
2566 '@expo/require-utils@55.0.5':2563 '@expo/require-utils@55.0.5':
2567 resolution: {integrity: sha512-U4K/CQ2VpXuwfNGsN+daKmYOt15hCP8v/pXaYH6eut7kdYZo6SfJ1yr67BIcJ+1Gzzs+QzTxswAZChKpXmceyw==}2564 resolution: {integrity: sha512-U4K/CQ2VpXuwfNGsN+daKmYOt15hCP8v/pXaYH6eut7kdYZo6SfJ1yr67BIcJ+1Gzzs+QzTxswAZChKpXmceyw==}
...@@ -2571,23 +2568,23 @@ packages:...@@ -2571,23 +2568,23 @@ packages:
2571 typescript:2568 typescript:
2572 optional: true2569 optional: true
25732570
2574 '@expo/require-utils@56.1.3':2571 '@expo/require-utils@57.0.5':
2575 resolution: {integrity: sha512-KyLeOn/zzQSvuPpV5YhB/FPKnpQytno4luN918bGdPDssLBoS3N/0UbC3W0rJAn9kSFu+XpfR81eABRVsSdfgQ==}2572 resolution: {integrity: sha512-kTAXj9lDFEIPMsbAOGCGbjBbMF0oi7CqkYM79KOX0DDD9wSwXmlKL1z2h8OwsrBf7mbOo2DjlRvZu4BEjrIxGw==}
2576 peerDependencies:2573 peerDependencies:
2577 typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.02574 typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0
2578 peerDependenciesMeta:2575 peerDependenciesMeta:
2579 typescript:2576 typescript:
2580 optional: true2577 optional: true
25812578
2582 '@expo/router-server@56.0.14':2579 '@expo/router-server@57.0.8':
2583 resolution: {integrity: sha512-2UCTtZfcq1ZPgp3wk8/+sq9DvFI9UxrPr1jcEKMAF2DGAJLosnpc8GWNNg2hkjt6SHUOdFHIPxujWPYyho2y3A==}2580 resolution: {integrity: sha512-lEPGYoDmh97yyEcY/MFWQsfE7yIgMRnGDcnsBN7B6AiWBFSJIMEcGnO0aYPgY0ZjNWyJDi7Ee8QZRGqB+LhI6w==}
2584 peerDependencies:2581 peerDependencies:
2585 '@expo/metro-runtime': ^56.0.152582 '@expo/metro-runtime': ^57.0.14
2586 expo: '*'2583 expo: '*'
2587 expo-constants: ^56.0.182584 expo-constants: 57.0.16
2588 expo-font: ^56.0.62585 expo-font: ^57.0.1
2589 expo-router: '*'2586 expo-router: 57.0.17
2590 expo-server: ^56.0.52587 expo-server: ^57.0.3
2591 react: '*'2588 react: '*'
2592 react-dom: '*'2589 react-dom: '*'
2593 react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.12590 react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1
...@@ -2601,8 +2598,8 @@ packages:...@@ -2601,8 +2598,8 @@ packages:
2601 react-server-dom-webpack:2598 react-server-dom-webpack:
2602 optional: true2599 optional: true
26032600
2604 '@expo/schema-utils@56.0.1':2601 '@expo/schema-utils@57.0.2':
2605 resolution: {integrity: sha512-CZ/+mYbQmWeOnkCGlWy9K+lFxbJSMFY7+TqBZcKzBSTU5Q7IGRvn/sOG3TdNjIdLPmbA8xe7R/c3UUQ28R9i9w==}2602 resolution: {integrity: sha512-fMu/jyN0l1Wzv7XkeWR4IYCx1M8ryui3FdBNGrWwbRgJ7EhxXxK8E2jxP2W3pbgUwUY0V3hG8+GyfCZwny+Lxw==}
26062603
2607 '@expo/sdk-runtime-versions@1.0.0':2604 '@expo/sdk-runtime-versions@1.0.0':
2608 resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==}2605 resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==}
...@@ -2614,23 +2611,20 @@ packages:...@@ -2614,23 +2611,20 @@ packages:
2614 '@expo/sudo-prompt@9.3.2':2611 '@expo/sudo-prompt@9.3.2':
2615 resolution: {integrity: sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==}2612 resolution: {integrity: sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==}
26162613
2617 '@expo/ui@56.0.18':2614 '@expo/ui@57.0.14':
2618 resolution: {integrity: sha512-2XgH5obigGtXm8zlb/V3g87NSiIcBcJ1xoQOEQYPoExL1DCNsHzaIecTh1XG/f/45ardo4OZNJwpbfYJ9X3qrQ==}2615 resolution: {integrity: sha512-m8Z5dCplkOOQ70lu/xfB67qhk00Muw4U1T9frHBIW3LxxJeJZQ+jOmV6vCk6O6zVgoG/ib1et7PeX6etxI4Rsw==}
2619 peerDependencies:2616 peerDependencies:
2620 '@babel/core': '*'2617 '@babel/core': '*'
2621 expo: '*'2618 expo: '*'
2622 react: '*'2619 react: '*'
2623 react-dom: '*'2620 react-dom: '*'
2624 react-native: '*'2621 react-native: '*'
2625 react-native-reanimated: '*'
2626 react-native-worklets: '*'2622 react-native-worklets: '*'
2627 peerDependenciesMeta:2623 peerDependenciesMeta:
2628 '@babel/core':2624 '@babel/core':
2629 optional: true2625 optional: true
2630 react-dom:2626 react-dom:
2631 optional: true2627 optional: true
2632 react-native-reanimated:
2633 optional: true
2634 react-native-worklets:2628 react-native-worklets:
2635 optional: true2629 optional: true
26362630
...@@ -3622,19 +3616,6 @@ packages:...@@ -3622,19 +3616,6 @@ packages:
3622 '@radix-ui/primitive@1.1.3':3616 '@radix-ui/primitive@1.1.3':
3623 resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==}3617 resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==}
36243618
3625 '@radix-ui/react-collection@1.1.7':
3626 resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==}
3627 peerDependencies:
3628 '@types/react': '*'
3629 '@types/react-dom': '*'
3630 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3631 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3632 peerDependenciesMeta:
3633 '@types/react':
3634 optional: true
3635 '@types/react-dom':
3636 optional: true
3637
3638 '@radix-ui/react-compose-refs@1.1.2':3619 '@radix-ui/react-compose-refs@1.1.2':
3639 resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}3620 resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
3640 peerDependencies:3621 peerDependencies:
...@@ -3666,15 +3647,6 @@ packages:...@@ -3666,15 +3647,6 @@ packages:
3666 '@types/react-dom':3647 '@types/react-dom':
3667 optional: true3648 optional: true
36683649
3669 '@radix-ui/react-direction@1.1.1':
3670 resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==}
3671 peerDependencies:
3672 '@types/react': '*'
3673 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3674 peerDependenciesMeta:
3675 '@types/react':
3676 optional: true
3677
3678 '@radix-ui/react-dismissable-layer@1.1.11':3650 '@radix-ui/react-dismissable-layer@1.1.11':
3679 resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==}3651 resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==}
3680 peerDependencies:3652 peerDependencies:
...@@ -3758,19 +3730,6 @@ packages:...@@ -3758,19 +3730,6 @@ packages:
3758 '@types/react-dom':3730 '@types/react-dom':
3759 optional: true3731 optional: true
37603732
3761 '@radix-ui/react-roving-focus@1.1.11':
3762 resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==}
3763 peerDependencies:
3764 '@types/react': '*'
3765 '@types/react-dom': '*'
3766 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3767 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3768 peerDependenciesMeta:
3769 '@types/react':
3770 optional: true
3771 '@types/react-dom':
3772 optional: true
3773
3774 '@radix-ui/react-slot@1.2.3':3733 '@radix-ui/react-slot@1.2.3':
3775 resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}3734 resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}
3776 peerDependencies:3735 peerDependencies:
...@@ -3780,28 +3739,6 @@ packages:...@@ -3780,28 +3739,6 @@ packages:
3780 '@types/react':3739 '@types/react':
3781 optional: true3740 optional: true
37823741
3783 '@radix-ui/react-slot@1.2.4':
3784 resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==}
3785 peerDependencies:
3786 '@types/react': '*'
3787 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3788 peerDependenciesMeta:
3789 '@types/react':
3790 optional: true
3791
3792 '@radix-ui/react-tabs@1.1.13':
3793 resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==}
3794 peerDependencies:
3795 '@types/react': '*'
3796 '@types/react-dom': '*'
3797 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3798 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3799 peerDependenciesMeta:
3800 '@types/react':
3801 optional: true
3802 '@types/react-dom':
3803 optional: true
3804
3805 '@radix-ui/react-use-callback-ref@1.1.1':3742 '@radix-ui/react-use-callback-ref@1.1.1':
3806 resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==}3743 resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==}
3807 peerDependencies:3744 peerDependencies:
...@@ -3863,78 +3800,78 @@ packages:...@@ -3863,78 +3800,78 @@ packages:
3863 react: '*'3800 react: '*'
3864 react-native: '*'3801 react-native: '*'
38653802
3866 '@react-native/assets-registry@0.85.3':3803 '@react-native/assets-registry@0.86.3':
3867 resolution: {integrity: sha512-u9ZiYP23vA2IFtdFQFmetzSmk6SM0xgKIoiOsr1hXNHjHaLhOm+/Ph1ud57wX6+Dbwdzx8coJgnzSKL3W21PCg==}3804 resolution: {integrity: sha512-TDhgCZA4wjJg84d5A9swiOQYPIWSKEEVdg9IwMFZDupQzW/F3QoLUrfAJOcalgqTDA9/buTB8awhE3Whwg6u9Q==}
3868 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3805 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
38693806
3870 '@react-native/babel-plugin-codegen@0.85.3':3807 '@react-native/babel-plugin-codegen@0.86.3':
3871 resolution: {integrity: sha512-Wc94zGfeFG8Njf9SHMPfYZP04kjigkOps6F1TYTvd7ZVXuGxqseCDgxc50LWcOhOCLypI9n3oVVqz81C3p44ZA==}3808 resolution: {integrity: sha512-O6Xza4JBGPIU8J7YbKTyBoYL4thpy8jMW/oaLDWdAyOwYHKIjK47pAL5HUEbOe2bWz2PEKjbYRF2ApkJv1ottQ==}
3872 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3809 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
38733810
3874 '@react-native/babel-preset@0.85.3':3811 '@react-native/babel-preset@0.86.3':
3875 resolution: {integrity: sha512-fD7fxEhkJB/aF57tWoXjaAWpklfrExYZS3k6aXPP3BQ77DZY7gvf/b7dbirwjID6NVnP1JDRJyTuPBGr0K/vlw==}3812 resolution: {integrity: sha512-/eqs/Hy9RZRcjdcs4wj3Cqmxvtb3NM5g+Uuh1RIvsjynMO8PRsrVWWLWgBcZL/jYUo+ogXd2NFB0W8L5Bg89xw==}
3876 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3813 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
3877 peerDependencies:3814 peerDependencies:
3878 '@babel/core': '*'3815 '@babel/core': '*'
38793816
3880 '@react-native/codegen@0.85.3':3817 '@react-native/codegen@0.86.3':
3881 resolution: {integrity: sha512-/JkS1lGLyzBWP1FbgDwaqEf7qShIC6pUC1M0a/YMAd/v4iqR24MRkQWe7jkYvcBQ2LpEhs5NGE9InhxSv21zCA==}3818 resolution: {integrity: sha512-Ux4jHi0fh+bdtVEcL0gaPLbY56V+SvFUDl/8sRAE1jdb4k+o7fT/4Nc29yz4X+qfjstkSqObQTMBGhdzxH9JvA==}
3882 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3819 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
3883 peerDependencies:3820 peerDependencies:
3884 '@babel/core': '*'3821 '@babel/core': '*'
38853822
3886 '@react-native/community-cli-plugin@0.85.3':3823 '@react-native/community-cli-plugin@0.86.3':
3887 resolution: {integrity: sha512-fs85dmbIqNmtzEixDb0g+q6R3Vt4H9eAt8/inIZdDKfjN76+sUJA2r1nxODQ76bU23MrIbz8sI7KFBPaWk/zQw==}3824 resolution: {integrity: sha512-qSDL9LQc5mZSZPNczT95WU9YQuPzxBklgON9vLhhqfI0yWIwKInqFx88dQ/uiEXBtf0yossthaQIqA4Ml6bF6g==}
3888 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3825 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
3889 peerDependencies:3826 peerDependencies:
3890 '@react-native-community/cli': '*'3827 '@react-native-community/cli': '*'
3891 '@react-native/metro-config': 0.85.33828 '@react-native/metro-config': 0.86.3
3892 peerDependenciesMeta:3829 peerDependenciesMeta:
3893 '@react-native-community/cli':3830 '@react-native-community/cli':
3894 optional: true3831 optional: true
3895 '@react-native/metro-config':3832 '@react-native/metro-config':
3896 optional: true3833 optional: true
38973834
3898 '@react-native/debugger-frontend@0.85.3':3835 '@react-native/debugger-frontend@0.86.3':
3899 resolution: {integrity: sha512-uAu7rM5o/Np1zgp6fi5zM1sP1aB8DcS7DdOLcj/TkSutOAjkMqqd2lWt1/+3S7qXexRHVK5XcP+o3VXo4L/V0A==}3836 resolution: {integrity: sha512-TQmeofQ0PcuylhhlleOeuzHYZfbrgm3gayXzowqUEzgRisTm1D40/J3ggqs7XkQi5HP5ZA3n8dHmKL9vIzPcsw==}
3900 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3837 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
39013838
3902 '@react-native/debugger-shell@0.85.3':3839 '@react-native/debugger-shell@0.86.3':
3903 resolution: {integrity: sha512-/jRAaT9boiCttIcEwS02WPwYkUihqsjSaK/TMtHz05vT6uMgac9PaQt5kzBQLIABv5aEIa5gtrMmKVz49MjkjQ==}3840 resolution: {integrity: sha512-O4ds+J7xZfxkbih9T+cAGegBdvKSPKYJm/lDgC9CpEjFMkmzWTpVLU3Qsv9sqZuo58z+sGhIcJfPsCFFWHpqbQ==}
3904 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3841 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
39053842
3906 '@react-native/dev-middleware@0.85.3':3843 '@react-native/dev-middleware@0.86.3':
3907 resolution: {integrity: sha512-JYzBiT4A8w+KQt+dOD5v+ti+tDrGoPnsSTuApq3Ls4RB5sfWbDlYMyz3dbc8qBIHz9tv0sQ5+eOu6Xwqzr5AQA==}3844 resolution: {integrity: sha512-LiEPTqTg/63bYUnrPyHLfjTDCNhA/+CUqI1+DsA9tYyewtSbULd5awsva6SgE10I+2iMhgKXS3ymkhU/kSCrGA==}
3908 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3845 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
39093846
3910 '@react-native/gradle-plugin@0.85.3':3847 '@react-native/gradle-plugin@0.86.3':
3911 resolution: {integrity: sha512-39dY2j50Q1pntejzwt3XL7vwXtrj8jcIfHq6E+gyu3jzYxZJVvMkMutQ39vSg6zinIQOX36oQDhidXUbCXzgoA==}3848 resolution: {integrity: sha512-lxmx0GqLEWRIpZfpYFXlYVIs3ENQwaW6Vmp6oi29l2GoQJ1wZfFZRdMimDWlGEk8LKfHar3QH3iaPMkTcK9lEQ==}
3912 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3849 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
39133850
3914 '@react-native/js-polyfills@0.85.3':3851 '@react-native/js-polyfills@0.86.3':
3915 resolution: {integrity: sha512-U2+aMshIXf1uFn77tpBb/xhHWB9vkVrMpt7kkucAugF8hJKYTDGB587X7WwelHduK2KBfhl4giSv0rzZGoef9A==}3852 resolution: {integrity: sha512-eYIJ0es967+tePBFQDnl/gidVFxLns3fnbiK6rxscQrGodvuUO6hwxpQnfNynJ8MjbbndImXihXjcnJdc7SzJg==}
3916 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3853 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
39173854
3918 '@react-native/metro-babel-transformer@0.85.3':3855 '@react-native/metro-babel-transformer@0.86.3':
3919 resolution: {integrity: sha512-omuKq+r7jM4XvCMIlNMPP7Up3SyB8o5EAdZtF7YXniKyq7UOMBqhYHFqgsdOXr0lT+3ADf7VCJG3sb82jlBrrQ==}3856 resolution: {integrity: sha512-0nlwVkG0uT9o72nrGTKUz/IqDnCkM4zE0ihe4r+OJcxH93yBdDm58AXJ3EXZeSjv3osHEFXU7ceajdZiS34mTw==}
3920 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3857 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
3921 peerDependencies:3858 peerDependencies:
3922 '@babel/core': '*'3859 '@babel/core': '*'
39233860
3924 '@react-native/metro-config@0.85.3':3861 '@react-native/metro-config@0.86.3':
3925 resolution: {integrity: sha512-sVo6HepUmCcpdfozEf91lA0FjpLNNZYu/Zi9FiYiAQTK8pzATXDVTqhvdxpFrQn435p5eUTSbllvbH/KN+bnyA==}3862 resolution: {integrity: sha512-qdzDMepV2xdUhsO4XC7idnnbt8K6+Hd59AjeK9y4KS86fxSQq5oL0TAbqUuajDGR7beNQoYTuS6AowN/zP0oaQ==}
3926 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3863 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
39273864
3928 '@react-native/normalize-colors@0.85.3':3865 '@react-native/normalize-colors@0.86.3':
3929 resolution: {integrity: sha512-hj0PScZEhIbcOvQV5yMKX3ha4XEIOy/SVE1Rrpp0beW0dpNLOgSC7KDxGewmDnIHK9YdQUXGY9eMEfShUMIaZw==}3866 resolution: {integrity: sha512-Cv3CDkprb67GrzuaS9BGbBJC/6G4lIw3nyKOHRKTqTTum4bn37y5+R0Z04L8mcbQN85eEohNrRwb7IOM4j6uvg==}
39303867
3931 '@react-native/virtualized-lists@0.85.3':3868 '@react-native/virtualized-lists@0.86.3':
3932 resolution: {integrity: sha512-dsCjI//OIPEUJMyNHp4l7zNLVjCx7bcaRUceOCkU+IB17hkbtbGWvi7HjGFSzy7FJGmS/MOlcfpb72xXiy1Oig==}3869 resolution: {integrity: sha512-1j44NEyNn05Ut40vHAmoSWbsIcybFkMAOBTwQt1PrESyfSS+qBoyU1LGIogNva0VIa0rQyEC5PzbA7R4/7Nhyw==}
3933 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}3870 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
3934 peerDependencies:3871 peerDependencies:
3935 '@types/react': ^19.2.03872 '@types/react': ^19.2.0
3936 react: '*'3873 react: '*'
3937 react-native: 0.85.33874 react-native: 0.86.3
3938 peerDependenciesMeta:3875 peerDependenciesMeta:
3939 '@types/react':3876 '@types/react':
3940 optional: true3877 optional: true
...@@ -4747,10 +4684,6 @@ packages:...@@ -4747,10 +4684,6 @@ packages:
4747 resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==}4684 resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==}
4748 engines: {node: '>=18'}4685 engines: {node: '>=18'}
47494686
4750 '@testing-library/jest-dom@6.9.1':
4751 resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==}
4752 engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
4753
4754 '@testing-library/user-event@14.6.1':4687 '@testing-library/user-event@14.6.1':
4755 resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}4688 resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
4756 engines: {node: '>=12', npm: '>=6'}4689 engines: {node: '>=12', npm: '>=6'}
...@@ -5273,6 +5206,11 @@ packages:...@@ -5273,6 +5206,11 @@ packages:
5273 resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}5206 resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
5274 engines: {node: '>= 14'}5207 engines: {node: '>= 14'}
52755208
5209 agent-cli-detector@0.1.6:
5210 resolution: {integrity: sha512-vKrPeEVN3upDF3GjWxsWBbwQgMtNJ8VB1cduPvK3svmmz4ENpS7yaPxbogsbe3w+xp9xp2Cu+0Ar41rjAR4+lA==}
5211 engines: {node: '>=18.18'}
5212 hasBin: true
5213
5276 agent-install@0.0.5:5214 agent-install@0.0.5:
5277 resolution: {integrity: sha512-nHlms9BkP8ZiY79HrwCGiA2DcNaXrAaJrCM/BEqQ7MEsSKyCk+2A76xPGylIfASZSZE0SaU3T0bNSg4rBPIJAQ==}5215 resolution: {integrity: sha512-nHlms9BkP8ZiY79HrwCGiA2DcNaXrAaJrCM/BEqQ7MEsSKyCk+2A76xPGylIfASZSZE0SaU3T0bNSg4rBPIJAQ==}
5278 hasBin: true5216 hasBin: true
...@@ -5511,33 +5449,21 @@ packages:...@@ -5511,33 +5449,21 @@ packages:
5511 babel-plugin-react-native-web@0.21.2:5449 babel-plugin-react-native-web@0.21.2:
5512 resolution: {integrity: sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==}5450 resolution: {integrity: sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==}
55135451
5514 babel-plugin-syntax-hermes-parser@0.33.3:5452 babel-plugin-syntax-hermes-parser@0.36.0:
5515 resolution: {integrity: sha512-/Z9xYdaJ1lC0pT9do6TqCqhOSLfZ5Ot8D5za1p+feEfWYupCOfGbhhEXN9r2ZgJtDNUNRw/Z+T2CvAGKBqtqWA==}5453 resolution: {integrity: sha512-LhD0xdoedDw7ansQgXbB2DADLZIK/LRXuWNBPuVzMc5S2WK5GyT89tCM+cQzxFGO0mGyLK6D5TrVOJJzAoDy8Q==}
5454
5455 babel-plugin-syntax-hermes-parser@0.36.1:
5456 resolution: {integrity: sha512-ycduwJbvdvIMmVvlAZqGggS+pm5Eu4Bk9pcV9Sm2Z4PJNRVsKkv0g7vHj+LeuC1gHTeF67sJXFOq61IlqCa2hA==}
55165457
5517 babel-plugin-transform-flow-enums@0.0.2:5458 babel-plugin-transform-flow-enums@0.0.2:
5518 resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}5459 resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
55195460
5520 babel-preset-expo@56.0.14:5461 babel-preset-expo@57.0.9:
5521 resolution: {integrity: sha512-+JKVMYf3HajO3tPRA9DlKd/VhZOPTHyTzUo2yZajfMAoQ3l5VEdGVxm2MzX4DXMNKXwsC8GOeTRx7CrO/5dBDA==}5462 resolution: {integrity: sha512-T19biGOBTnMp161PyBqWOoSIEeZug8/EjtuUdVob8JPQKZMTalHUQaQt+qtQQE7XsEkZJ6erb3k0CohneTFzQg==}
5522 peerDependencies:
5523 '@babel/runtime': ^7.20.0
5524 expo: '*'
5525 expo-widgets: ^56.0.16
5526 react-refresh: '>=0.14.0 <1.0.0'
5527 peerDependenciesMeta:
5528 '@babel/runtime':
5529 optional: true
5530 expo:
5531 optional: true
5532 expo-widgets:
5533 optional: true
5534
5535 babel-preset-expo@56.0.15:
5536 resolution: {integrity: sha512-0MqbQoM6nBUbKvgu2xJ4VixZnUTGTq3HB2WwvOikdO4CiPxbQ+wGA25fOoHHSni5iEFW39wy6y1ookTWlq3wVw==}
5537 peerDependencies:5463 peerDependencies:
5538 '@babel/runtime': ^7.20.05464 '@babel/runtime': ^7.20.0
5539 expo: '*'5465 expo: '*'
5540 expo-widgets: ^56.0.185466 expo-widgets: ^57.0.13
5541 react-refresh: '>=0.14.0 <1.0.0'5467 react-refresh: '>=0.14.0 <1.0.0'
5542 peerDependenciesMeta:5468 peerDependenciesMeta:
5543 '@babel/runtime':5469 '@babel/runtime':
...@@ -5809,9 +5735,6 @@ packages:...@@ -5809,9 +5735,6 @@ packages:
5809 resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}5735 resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
5810 engines: {node: '>= 12'}5736 engines: {node: '>= 12'}
58115737
5812 client-only@0.0.1:
5813 resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
5814
5815 cliui@8.0.1:5738 cliui@8.0.1:
5816 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}5739 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
5817 engines: {node: '>=12'}5740 engines: {node: '>=12'}
...@@ -6004,9 +5927,6 @@ packages:...@@ -6004,9 +5927,6 @@ packages:
6004 resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}5927 resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
6005 engines: {node: '>= 6'}5928 engines: {node: '>= 6'}
60065929
6007 css.escape@1.5.1:
6008 resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
6009
6010 csso@5.0.5:5930 csso@5.0.5:
6011 resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}5931 resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
6012 engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}5932 engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
...@@ -6143,9 +6063,6 @@ packages:...@@ -6143,9 +6063,6 @@ packages:
6143 dom-accessibility-api@0.5.16:6063 dom-accessibility-api@0.5.16:
6144 resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}6064 resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
61456065
6146 dom-accessibility-api@0.6.3:
6147 resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
6148
6149 dom-serializer@2.0.0:6066 dom-serializer@2.0.0:
6150 resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}6067 resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
61516068
...@@ -6511,38 +6428,38 @@ packages:...@@ -6511,38 +6428,38 @@ packages:
6511 resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==}6428 resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==}
6512 engines: {node: '>=12.0.0'}6429 engines: {node: '>=12.0.0'}
65136430
6514 expo-application@56.0.3:6431 expo-application@57.0.2:
6515 resolution: {integrity: sha512-DdGGPlMuM6cSTeKhbvh6OeLr2O/+EI5BHKYrD+Do8sJPYgLwzGrgESELfyjJCpEhFzT+TgKIdmLmWXhNUQnHiw==}6432 resolution: {integrity: sha512-q31YwcXyymviAmdrtDfAg3Dld4VMxLCNAfgMHip7vZpPX4lzF/AfwsywqBJUAjQnJknzaNAkzqvMVjO5XmKYDA==}
6516 peerDependencies:6433 peerDependencies:
6517 expo: '*'6434 expo: '*'
65186435
6519 expo-asset@56.0.17:6436 expo-asset@57.0.15:
6520 resolution: {integrity: sha512-GFN5j+8SPkyv0nfsiFHewmdB/D0tL237TsBE/gSfFOFy/J3a52py7IulcSqkA3sQE/u/UlD5BmvP5ssS4//nUg==}6437 resolution: {integrity: sha512-ZoiUftQb1Nn1jvL6l1kZoUXvgRCx57tMQYxSsp+g4ZvY+jgVWp/THruXOtPtZVdC/WWZxPUTct53bfAm2EPDAQ==}
6521 peerDependencies:6438 peerDependencies:
6522 expo: '*'6439 expo: '*'
6523 react: '*'6440 react: '*'
6524 react-native: '*'6441 react-native: '*'
65256442
6526 expo-auth-session@56.0.14:6443 expo-auth-session@57.0.10:
6527 resolution: {integrity: sha512-b6URDBKXVWBjHwypnbCPW6A3PrwYyFqzLXtTrrpTGpmDlsxk7xuz6wIA77sBNziz3hMxt11Nu70iY0fJZYT4jA==}6444 resolution: {integrity: sha512-i1RY93LouEgal2e/Ly1r2Ytwed7/y6i4AUShVj4Gg49h/Okf8QpZO7XylwL43IHfKRrKkqapRDEN8mWe7z/HgA==}
6528 peerDependencies:6445 peerDependencies:
6529 react: '*'6446 react: '*'
6530 react-native: '*'6447 react-native: '*'
65316448
6532 expo-blur@56.0.3:6449 expo-blur@57.0.2:
6533 resolution: {integrity: sha512-KDDtrpWc2tYlm1WCPaOgBtv+YEGqe5ELheFPIgSNgHt28NQUDcfBcFsA9Us2StDh6osmSD6NbKxOt5bU6PcDbQ==}6450 resolution: {integrity: sha512-Aoud8H8lmlNkbRufyvRLefmGFELdBf1n5Te/Xm+Zx8ORINH+aXL+gKb5mbftFSha860+I7pMArz77TBYz8HDVg==}
6534 peerDependencies:6451 peerDependencies:
6535 expo: '*'6452 expo: '*'
6536 react: '*'6453 react: '*'
6537 react-native: '*'6454 react-native: '*'
65386455
6539 expo-build-properties@56.0.19:6456 expo-build-properties@57.0.15:
6540 resolution: {integrity: sha512-InoviXcxWosNp4cC7L3SWoiY99Xr2HdgN+LYHb6mUm/BBVxy1mIMrZR+3PJ2gwDZzW6EJNDz8ioASWGHBTmzpA==}6457 resolution: {integrity: sha512-qZe9pnxlBpHT7SSNDR2a3C+P34xv67Ep9I0Erh+3xCczGlokyRd4pu9h0PrBdsVlr1d0QREQ1Do/+IgrIWkQQA==}
6541 peerDependencies:6458 peerDependencies:
6542 expo: '*'6459 expo: '*'
65436460
6544 expo-camera@56.0.8:6461 expo-camera@57.0.4:
6545 resolution: {integrity: sha512-UDOpUUMisFRmCv1XQV1MJCKGAH2CsIC1Rs6P9Bbc6JLVmbxEKAd5dK68y6cScOdWURxVfJ0PRcjYnSuc8ayyIQ==}6462 resolution: {integrity: sha512-MqbbQ63O+cA8JbK3lfFHiD0f2jv8jB+EG/ILK6f5xnOPV9IR37yaG5+lGtRZNoOeYBzGypyOi17USItleMyuGw==}
6546 peerDependencies:6463 peerDependencies:
6547 expo: '*'6464 expo: '*'
6548 react: '*'6465 react: '*'
...@@ -6552,91 +6469,91 @@ packages:...@@ -6552,91 +6469,91 @@ packages:
6552 react-native-web:6469 react-native-web:
6553 optional: true6470 optional: true
65546471
6555 expo-clipboard@56.0.4:6472 expo-clipboard@57.0.1:
6556 resolution: {integrity: sha512-qb4DYlkiowHYHaUYVT2FN9nk/nI1xShXOUYsI7J9dVpQCOHcGFjCBPX1VAvEW4Ye4/Aagd6IuhOVAq/+scBOiA==}6473 resolution: {integrity: sha512-HWICri4+1ao7S6QEfcorxVumXDiDnx1guGGewjZgGJWLGxFYs0RgH8ujBs+lkTzBkMmlwADaWSlaesR+nDJt5Q==}
6557 peerDependencies:6474 peerDependencies:
6558 expo: '*'6475 expo: '*'
6559 react: '*'6476 react: '*'
6560 react-native: '*'6477 react-native: '*'
65616478
6562 expo-constants@56.0.18:6479 expo-constants@57.0.16:
6563 resolution: {integrity: sha512-8AMtbDGl/WVPnWlmbpGmvcdnNCy9E4PFnwdVwj600vljkMDPSxcAcjw8GVXEPk3PpZ+ngTqsrkltWyj0UKYAxw==}6480 resolution: {integrity: sha512-HG3yJjGZo2BPTo2F1sBoxdJZRwX7d9C554EhKn8m12K62pxGolCsvPSoh/lQf95OEP9vO34wwXB2C3QFs0KG0g==}
6564 peerDependencies:6481 peerDependencies:
6565 expo: '*'6482 expo: '*'
6566 react-native: '*'6483 react-native: '*'
65676484
6568 expo-crypto@56.0.4:6485 expo-crypto@57.0.2:
6569 resolution: {integrity: sha512-fRNEhoXRXgAWBpe3/hq5X+KXTit3OZqdiAGts1YvNEUHQb+H5591mpPac0Yw+sZg9pXcrjRnzo5AxvZaENpc7g==}6486 resolution: {integrity: sha512-OGLvHK7Hb7qsONMWGB9pJw3n+iY4OnZQmM/KwQEHRMrrOmNg0Lxj9+tp9bj46aAMMzXx0FTVA2jUKoplpXPnkA==}
6570 peerDependencies:6487 peerDependencies:
6571 expo: '*'6488 expo: '*'
65726489
6573 expo-dev-client@56.0.20:6490 expo-dev-client@57.0.16:
6574 resolution: {integrity: sha512-KebW4r8HhIiRrPzs6ZqVhp/so8buyglAO1h4No0Ibr5C2XRnlIoGWCN4zC6rW7IsI3iKUXcofLAQV9OjoxjiwQ==}6491 resolution: {integrity: sha512-Txss9sgzEFI0E+4I34E76vPiukeVDHnqCj0ZXy8SDijVM31/P6MCNniVbEZk7MBPQclD0aopfuaCFtkV8+r1sw==}
6575 peerDependencies:6492 peerDependencies:
6576 expo: '*'6493 expo: '*'
65776494
6578 expo-dev-launcher@56.0.20:6495 expo-dev-launcher@57.0.16:
6579 resolution: {integrity: sha512-cTuC3GkPl9CTwO3CKnVmEm9qoQ0WairhwvTh6qMlg+zr/QU/tdiU++uDBX67hf9+FuxQOkWGp5khFNosT+0cIg==}6496 resolution: {integrity: sha512-jaBr6q4A5js/r465m2mRxN8A87YOi8I6PiIt8XIt4qfQWDgw6hqGovaF1AVFGT1Z5jxkjtgK8WNz/rAeypjqPQ==}
6580 peerDependencies:6497 peerDependencies:
6581 expo: '*'6498 expo: '*'
6582 react-native: '*'6499 react-native: '*'
65836500
6584 expo-dev-menu-interface@56.0.1:6501 expo-dev-menu-interface@57.0.0:
6585 resolution: {integrity: sha512-odATx0ZL/Kis10sKSBiKiGQxAB6coSi/KQtKcMhnQVNno6FkRh5/4e5BqcEvpq2rNMTiQp4ytNAQHtdwbPXvGA==}6502 resolution: {integrity: sha512-F47VdzOHYc19FhI/jBgctpO8a5UskTIxG6a1E5t3W5gF8VImuvBQffdXXfLHhsuCl7dS3v3U0R45cleeVXO1Zg==}
6586 peerDependencies:6503 peerDependencies:
6587 expo: '*'6504 expo: '*'
65886505
6589 expo-dev-menu@56.0.17:6506 expo-dev-menu@57.0.16:
6590 resolution: {integrity: sha512-OofRkOOZnaDriSav3JDN4NP2lsLt2eOa/Ryptr5nMD62SwnFyK4R6n6PkPVaDU3LSsZqndAJHmN6inS+oziayQ==}6507 resolution: {integrity: sha512-KzMHtAmnr0GqyU6MCrKLzIo/AfOjcToGhzK+pFeXlcqSPOrPJbTGlZqQ3E1o2G2jZMs+M1XvXh/VgnRyJUaRGw==}
6591 peerDependencies:6508 peerDependencies:
6592 expo: '*'6509 expo: '*'
6593 react-native: '*'6510 react-native: '*'
65946511
6595 expo-device@56.0.4:6512 expo-device@57.0.1:
6596 resolution: {integrity: sha512-ucVcGPkvBrl2QHuy7XcYex2Y6BETvJ6TREutZrwLGUDnlvbpKS8KfQoNZOpvkyo5Nmm9RrasYQ0CrXmBHho2mg==}6513 resolution: {integrity: sha512-jyEMDUticH+dhcL3GHa2aiifOvGXJsmb3oVT2R2q4i8bN7Bddy61+NkpMmuS2VAZrvoLQwf0TJJ/1vi1ukvutA==}
6597 peerDependencies:6514 peerDependencies:
6598 expo: '*'6515 expo: '*'
65996516
6600 expo-eas-client@56.0.1:6517 expo-eas-client@57.0.2:
6601 resolution: {integrity: sha512-r8h0ZIExacCrSRgY+ARfhMvFqosLHLJt1L7jyhvabfr1DN/ZDKDsYbovss2tzkpEUZGxZ3BPcB5epCwUsBBdOA==}6518 resolution: {integrity: sha512-EfFiqUr0o9TvTOgMbqDiV1oIdG/d7kirhqtwa7roGmm9wF+CpXUz20d9YGzO6KzJWUYgdUgu4B6Ocv0jNJUdnQ==}
66026519
6603 expo-file-system@56.0.8:6520 expo-file-system@57.0.6:
6604 resolution: {integrity: sha512-NrH41/8snGIBSbYicwVLB4txPdgCATd7ZYhMAGS3YJZ9GbnduhlAoV4/YCbGayjrbpE9bJb/6wegPL/zmvRMnQ==}6521 resolution: {integrity: sha512-pm8PMYEW6BnVOCBJ7df9FcDmQtE1tqImuYphlfYe1ipQRLYtdCayRczJcbKIsnB3mqEyp4gC2gWmMbsAsAOjVg==}
6605 peerDependencies:6522 peerDependencies:
6606 expo: '*'6523 expo: '*'
6607 react-native: '*'6524 react-native: '*'
66086525
6609 expo-font@56.0.7:6526 expo-font@57.0.2:
6610 resolution: {integrity: sha512-hpU/vRwPzsby9lPGkA4blDqLIIXYzoWnCZHr6PxvcWbY/uPObAiyhh6q+e0WYsB65SthK+PLH95jEnVag7fwEg==}6527 resolution: {integrity: sha512-eWR0CAdysgVqg8VewJ8b5wKh1pa6C8YShIEU3SP0+hlSqOk4djUwuJjn3P04KHVzL3hws9FrUuPxCNmd4TGung==}
6611 peerDependencies:6528 peerDependencies:
6612 expo: '*'6529 expo: '*'
6613 react: '*'6530 react: '*'
6614 react-native: '*'6531 react-native: '*'
66156532
6616 expo-glass-effect@56.0.4:6533 expo-glass-effect@57.0.1:
6617 resolution: {integrity: sha512-xI9rXtDwi7RW82uAlfyaXO6+k21ApWJ2tHAWYqPr/FjfmZbKsgNJ4Q0iZzGPCwboqjTGxaRZ61SZxBl8hDt5iA==}6534 resolution: {integrity: sha512-m/n8maxqNcHk6ZDhuqXBfD5Kt1Iz3M8xykVgdB0iSCIXvF70IqWXmQhX8Psswhrp8eZ+3r0mAD0Jh/2gFA3QaA==}
6618 peerDependencies:6535 peerDependencies:
6619 expo: '*'6536 expo: '*'
6620 react: '*'6537 react: '*'
6621 react-native: '*'6538 react-native: '*'
66226539
6623 expo-haptics@56.0.3:6540 expo-haptics@57.0.2:
6624 resolution: {integrity: sha512-ycoahZJnR9tWAVh/0mJYxbETtHRYaWjiWS8cHlP6aDGU6Q6Y8rZ5NKsuBwWw6HR2Pe30mfVFgbF2HrBR6gtYmw==}6541 resolution: {integrity: sha512-vPths6zTxxaGaemC7D1GKbw1iOnOAAL5oAcCFVSgVNWnuLCBefL1LkhRBaJsepiMXRh2y3vwPiXkPaf6d16blA==}
6625 peerDependencies:6542 peerDependencies:
6626 expo: '*'6543 expo: '*'
66276544
6628 expo-image-loader@56.0.3:6545 expo-image-loader@57.0.1:
6629 resolution: {integrity: sha512-JgUo4fUeU1ZC+z8iBFj8v7yoGQnZrLbOVPyNE+DWVrld55F2F6R1ck+rmdm/8TNWLz1LhNQfD7c3XYP1ZikxXA==}6546 resolution: {integrity: sha512-uhrZKLT/cTl2mXyR28kPpVkS5O+PK9N1QA/07IFM4f5T4g0lTW1JHT3NEWwEEsGFldPmVX4j7LwUVVZxE+woug==}
6630 peerDependencies:6547 peerDependencies:
6631 expo: '*'6548 expo: '*'
66326549
6633 expo-image-picker@56.0.18:6550 expo-image-picker@57.0.14:
6634 resolution: {integrity: sha512-sCjQ8M27bhGUv2vUavIE+uWdYo79b2D7Q5h9B66BSDZ+Rd8YyLVSf7vYGfIzQ7nMVoENZ6c4xo/JiDkEeQ9iTg==}6551 resolution: {integrity: sha512-NK9XBQqOtscbB/uRts1Gm7Oki6odMN3FQPWD6fSKmNUfKM69O6kcgU25lEXFTSLZ7sLl+AopHa2X0uILd8rjaQ==}
6635 peerDependencies:6552 peerDependencies:
6636 expo: '*'6553 expo: '*'
66376554
6638 expo-image@56.0.11:6555 expo-image@57.0.3:
6639 resolution: {integrity: sha512-k2xwxGk14xi6zxmEGAU4rUTb1lK5qf0y0Qb8+Jaggnul0KaJJxcq9qvyDp9iyJBW35cp9isONAUnNtIiooZ/Pw==}6556 resolution: {integrity: sha512-EYfV8tIQxXLQPHhgZxc+bESUn2NcVw1U0RM28qqFeFfHyD1sBpIYJC2JTy24OtfBowYVoUyTvgf2ykWydiZVCw==}
6640 peerDependencies:6557 peerDependencies:
6641 expo: '*'6558 expo: '*'
6642 react: '*'6559 react: '*'
...@@ -6646,53 +6563,53 @@ packages:...@@ -6646,53 +6563,53 @@ packages:
6646 react-native-web:6563 react-native-web:
6647 optional: true6564 optional: true
66486565
6649 expo-json-utils@56.0.0:6566 expo-json-utils@57.0.1:
6650 resolution: {integrity: sha512-lUqyv9aIGDbYTQ5Nux2FnH2/Dz0w5uJ8Pr080eS0StXi2jr5OmuMNErpzUnpfnYOU55xKotd4AHv68PfV/ludg==}6567 resolution: {integrity: sha512-cgTe1NqzQdYs/WN+3nIY5IZg8s0pb0xaTUbhYvxQDn137GbwRfHoGM2se3m3Vsl4Qu+B9G4RPEK5WJDEU2Do7g==}
66516568
6652 expo-keep-awake@56.0.3:6569 expo-keep-awake@57.0.1:
6653 resolution: {integrity: sha512-CLMJXtEiMKknD3Rpm8CRwE6ZJUzu2yCEmRk1sgfHAJ1zIbuEWY3dpPDubtsnuzWm+2k6Sru+yaFbYsvPWmTiBA==}6570 resolution: {integrity: sha512-28lkFImeXTS+bhAjuCFV7w7tW5bXg27BJVrxv+nC/nyYa86qEa0oFeHwqol6ha5k4pdVDQgBF09GM4A1k76Ssg==}
6654 peerDependencies:6571 peerDependencies:
6655 expo: '*'6572 expo: '*'
6656 react: '*'6573 react: '*'
66576574
6658 expo-linking@56.0.14:6575 expo-linking@57.0.8:
6659 resolution: {integrity: sha512-IvVQHWC+Cj4fK5qD3iEVYqpU2a4rLW0IpAAlGJ4MH+H1fyZiHh3eN6qg2WmoclOEPfYATSuEa+dQT6wfgVpXlQ==}6576 resolution: {integrity: sha512-gv0ZNaF7tILbcvX8xinNbQr6GIGQStxeUAJseweP+LjC9ped7Wl6EeyIMBlDR83U6Da+8drVeqBQSMvwAXgytA==}
6660 peerDependencies:6577 peerDependencies:
6661 react: '*'6578 react: '*'
6662 react-native: '*'6579 react-native: '*'
66636580
6664 expo-manifests@56.0.4:6581 expo-manifests@57.0.1:
6665 resolution: {integrity: sha512-Fokawl2UkiExIF0bqGoblRFA8lYpROVD+EpvDwSW4LgqQyPwNua1gLSgHZjdl5GsVugfRMMWE3LHaibDyX93hw==}6582 resolution: {integrity: sha512-qB/mDG2dYdl+EvUeQuqP8KFYCFgFCQjJYdWIHo8SFBgDzMYmdF286DFY2M1M9Okr99wkb5M4tgA3aCcwv3aEQA==}
6666 peerDependencies:6583 peerDependencies:
6667 expo: '*'6584 expo: '*'
66686585
6669 expo-modules-autolinking@56.0.16:6586 expo-modules-autolinking@57.0.12:
6670 resolution: {integrity: sha512-9JnL4N46P8ubDpDIfWolDn7nxU2j1rY67xY/dNVuyH0m+HG+r/JI16VYtjIf4COpZtEuFo4D3h3MBeFzGucMnw==}6587 resolution: {integrity: sha512-Q8KAlq37nLKsQ+HsS9NpQVpd5jCgqtu694TDUNHBUBpV9ViD82mRBh8Uug/h68RG9xnLS+kuL4nYaCuFRghHjg==}
6671 hasBin: true6588 hasBin: true
66726589
6673 expo-modules-core@56.0.17:6590 expo-modules-core@57.0.14:
6674 resolution: {integrity: sha512-5J8whnT7Ccp+BrFClLmpF76omBqn95VZExroTm01Dgjm4vpty1Rb7U3we+ZUceNHtRd07Lw30u7FNfDgIhEbRQ==}6591 resolution: {integrity: sha512-Cg3aQnVsQhZcMOF/RFgPGzMuhIak5W9eR9ecwmFSeQ813r4/49ut6RMA6PqUuUKuPCUIRqnBAHfSyTm1W9nfzg==}
6675 peerDependencies:6592 peerDependencies:
6676 react: '*'6593 react: '*'
6677 react-native: '*'6594 react-native: '*'
6678 react-native-worklets: ^0.7.4 || ^0.8.06595 react-native-worklets: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0
6679 peerDependenciesMeta:6596 peerDependenciesMeta:
6680 react-native-worklets:6597 react-native-worklets:
6681 optional: true6598 optional: true
66826599
6683 expo-modules-jsi@56.0.10:6600 expo-modules-jsi@57.0.6:
6684 resolution: {integrity: sha512-fHZcFpYO/o62GYa6fJyAQJZcAShzhoN0iMMDzbr7vD3ewET6e1vAlTonbEakN9F0VHEgBFJ4NREy87uwVcpCuA==}6601 resolution: {integrity: sha512-WK0xFEe0FdZTCLCdfXK+HVNYfAmEbA6goecRxqjr0gh3XYRKAr9tikxqcM0ItLQoEPKntscPZhWcPLGvr97Tfw==}
6685 peerDependencies:6602 peerDependencies:
6686 react-native: '*'6603 react-native: '*'
66876604
6688 expo-network@56.0.5:6605 expo-network@57.0.1:
6689 resolution: {integrity: sha512-zmuyO95jayDY9jyUfOAlNp9XXJrJaAOkBXXLy0TS/nh2kppj7CHirRPkQ/tf0rsxhIL3AEd9nsRTiPtNsGT9Lw==}6606 resolution: {integrity: sha512-ndg+FbDDlz6XTpQ6aVuVgyvrYQwMkpcUAvZIXbwrGBbLTSWNzYC/gawYu1BAeDN7O6JTGY98GBVJBov/JH7LgQ==}
6690 peerDependencies:6607 peerDependencies:
6691 expo: '*'6608 expo: '*'
6692 react: '*'6609 react: '*'
66936610
6694 expo-notifications@56.0.18:6611 expo-notifications@57.0.15:
6695 resolution: {integrity: sha512-HHnrwyCLC5srFojcHYS2KskbNroy9o2fwPKdyhjrdjjrBu4sNRKm4LepcuZjDy98cZKEm89WIPW8O45vut8Rgw==}6612 resolution: {integrity: sha512-H91z4WSFukSQP3dThgh6PCPFrT6VHeR+J2f7CuCOE72JV7YEGcBCir103QY58ocKsdgkodQpnkTU2m8LTHkWLg==}
6696 peerDependencies:6613 peerDependencies:
6697 expo: '*'6614 expo: '*'
6698 react: '*'6615 react: '*'
...@@ -6710,84 +6627,52 @@ packages:...@@ -6710,84 +6627,52 @@ packages:
6710 peerDependencies:6627 peerDependencies:
6711 expo: '*'6628 expo: '*'
67126629
6713 expo-router@56.2.11:6630 expo-secure-store@57.0.2:
6714 resolution: {integrity: sha512-08DBTrKv3QanOc9u1JNxSEChW9c/qNFbQ0dO28OLvufWWfdSRkSdHmh365D2FgoZg1qaOzZPCDuL3tM6nGSfkQ==}6631 resolution: {integrity: sha512-PhrPMKnI7YSObLEQZOoP9evB2ZOCv9kFuG2L7cZfNlOwWjGbir711PlppkXVoM3JE8vamDrTqzMLGv266FhJJg==}
6715 peerDependencies:
6716 '@expo/log-box': ^56.0.13
6717 '@expo/metro-runtime': ^56.0.15
6718 '@testing-library/react-native': '>= 13.2.0'
6719 expo: '*'
6720 expo-constants: ^56.0.18
6721 expo-linking: ^56.0.14
6722 react: '*'
6723 react-dom: '*'
6724 react-native: '*'
6725 react-native-gesture-handler: '*'
6726 react-native-reanimated: '*'
6727 react-native-safe-area-context: '>= 5.4.0'
6728 react-native-screens: ^4.25.2
6729 react-native-web: '*'
6730 react-server-dom-webpack: ~19.0.4 || ~19.1.5 || ~19.2.4
6731 peerDependenciesMeta:
6732 '@testing-library/react-native':
6733 optional: true
6734 react-dom:
6735 optional: true
6736 react-native-gesture-handler:
6737 optional: true
6738 react-native-reanimated:
6739 optional: true
6740 react-native-web:
6741 optional: true
6742 react-server-dom-webpack:
6743 optional: true
6744
6745 expo-secure-store@56.0.4:
6746 resolution: {integrity: sha512-hjEi/gmpdFFJ9lYbdp3k3p/WchV7Gi0Qt8jt/m/0WJadqQrskafHAlDxbZkII1cN3Yd7zp9Lvkeq3UfGhSwirQ==}
6747 peerDependencies:6632 peerDependencies:
6748 expo: '*'6633 expo: '*'
67496634
6750 expo-server@56.0.5:6635 expo-server@57.0.3:
6751 resolution: {integrity: sha512-SmM2p2g3Jrktpiazcst+OxhjSzOHXKAY4BPURHYHXvApzzoybMmrNF4IEZ8DKZ145BhSe4ydAmlEFCRTsdtgUQ==}6636 resolution: {integrity: sha512-aK+LdKzauHSGmsOStZtyxdzv0zWssCkxTw3m4QuOhfDSJsZaMRTd9O41d8ixU/QfELTbaJ0oRNcF7JFV/7O9YQ==}
6752 engines: {node: '>=20.16.0'}6637 engines: {node: '>=20.16.0'}
67536638
6754 expo-sharing@56.0.18:6639 expo-sharing@57.0.16:
6755 resolution: {integrity: sha512-45w4BWNFmdTczp+fJX6YfwJrn9sX+VeRWz2VWLhauygcCrym44HtVDXX5yVYPB9TW9ZesLcEI+CCrCBNWL7smQ==}6640 resolution: {integrity: sha512-Z4ZFYLP8+EqIdUAiERYRI4/r7rtZDCRQ8Lj6jDG0xPF19B8nsFhYMgh7uyic+WulFEr+Xn7FeWgSDAuufkOyzw==}
6756 peerDependencies:6641 peerDependencies:
6757 expo: '*'6642 expo: '*'
6758 react: '*'6643 react: '*'
6759 react-native: '*'6644 react-native: '*'
67606645
6761 expo-splash-screen@56.0.10:6646 expo-splash-screen@57.0.8:
6762 resolution: {integrity: sha512-vDIlo8hzt9HlCZQ0kSY66v83D1WEXOJbVMeyPDfXDu9tbDdPMNUyDpi4WGJXikAjxnAKfbt5Mv5NnEbxINy+VA==}6647 resolution: {integrity: sha512-BEsrKg4niYBZa5AFzWRyGqxA4ZemtBOPwbCy+C336iGYYPuZYLEgWJGmm2xD1gRfCdrM/TP+l2ONd86Zvk3KyA==}
6763 peerDependencies:6648 peerDependencies:
6764 expo: '*'6649 expo: '*'
67656650
6766 expo-sqlite@56.0.5:6651 expo-sqlite@57.0.2:
6767 resolution: {integrity: sha512-wHYRVLS5nUFEtli45wHaO+RjlRY8sQXyOSgENVk6I4zq7+FgySqjOk3YOYW6IKIMwhj5XzjMJO+pY8xKUy73Kw==}6652 resolution: {integrity: sha512-5KVbT7BQFZlIcQBXKWvwBERK3ODF6PSqct27GQKukZzAjsx2B97R+mwtYqrTUtUbw71VJrQrdr9Yl2OWYC7UpA==}
6768 peerDependencies:6653 peerDependencies:
6769 expo: '*'6654 expo: '*'
6770 react: '*'6655 react: '*'
6771 react-native: '*'6656 react-native: '*'
67726657
6773 expo-structured-headers@56.0.0:6658 expo-structured-headers@57.0.0:
6774 resolution: {integrity: sha512-Yv4x+SQxNnMQm4nu8NFfzx197YaDhdYH2N0u7tGErwWTmH9Tm1SAhqo7bLbBWLC9kf7W+kdzTshLU9rTiCXWGw==}6659 resolution: {integrity: sha512-//t9UNPbJSEysc2x4VKJG/u7Osvv5DYJWsET5bqt/B+qcD1by/JXvSQzX3Q/YAgA96xFPontrz6OAPLbO4JKEA==}
67756660
6776 expo-symbols@56.0.6:6661 expo-symbols@57.0.2:
6777 resolution: {integrity: sha512-BrA81DjcNafdj7gXVhdrExb9LtUiSVyOf/NavyMmDAHgHMY1GqeR5cnn1PSAZeYKnSgQhee/H89XUpAxtog5hg==}6662 resolution: {integrity: sha512-qZ0iqOflm5lZGwRsQ5Y8sDksw3GAUKwHSX1bJBoocXf7gu14vafIXXYWte+JT9VfXAUGyKodJhLHP/GoOrcNWg==}
6778 peerDependencies:6663 peerDependencies:
6779 expo: '*'6664 expo: '*'
6780 expo-font: '*'6665 expo-font: '*'
6781 react: '*'6666 react: '*'
6782 react-native: '*'6667 react-native: '*'
67836668
6784 expo-updates-interface@56.0.2:6669 expo-updates-interface@57.0.1:
6785 resolution: {integrity: sha512-eWTwSZ9y8vrULG2oBn2TQSSIwBGSq/TxGJ3jY6tuVS2FWH/ASRIiKs3zkUZTRoC3ZuV2alz0mUClYV7nNrFx8g==}6670 resolution: {integrity: sha512-+LUWwJ0gf/TEKMVdQAw/Gjih4dvrk+URgy24X9qEGKuuMDZqjBRm9T4yQyBVALGL5TTdPUaB6ILxx3lshm3pwQ==}
6786 peerDependencies:6671 peerDependencies:
6787 expo: '*'6672 expo: '*'
67886673
6789 expo-updates@56.0.19:6674 expo-updates@57.0.19:
6790 resolution: {integrity: sha512-tTSPYO5h8wDA6a+wQ2v/SRdnOdz29x0npGHCv+4Ev31Fz5r05Ii1Wgfh3BlTXNz8mikMReDsZCf6YN71YeQKpw==}6675 resolution: {integrity: sha512-xX4KIUa8H2xKmiVDe/uEehD96MV6nyyF/OCrE+PBYfOEp6BbS8bYkHZfNFcoDCKMRuT6pg9JrCi8OmnoWlM/2A==}
6791 hasBin: true6676 hasBin: true
6792 peerDependencies:6677 peerDependencies:
6793 expo: '*'6678 expo: '*'
...@@ -6798,24 +6683,24 @@ packages:...@@ -6798,24 +6683,24 @@ packages:
6798 expo-dev-client:6683 expo-dev-client:
6799 optional: true6684 optional: true
68006685
6801 expo-web-browser@56.0.5:6686 expo-web-browser@57.0.2:
6802 resolution: {integrity: sha512-kaN+wcR5lHwPCH1IgrU1XyPUQvBRzdF1TMp65uAF9iUCyipqYnmrvV87eqAmrdkFFopWVgU7FcxPu1UZw+gvUQ==}6687 resolution: {integrity: sha512-3vl5kvd7PB48ub6PpNIJUuPxO8xVa6D8RnIgNba6SXRwqFprOfeEZgwTgtm41kz0AAtvMOztUVNEUkwrHKjqMQ==}
6803 peerDependencies:6688 peerDependencies:
6804 expo: '*'6689 expo: '*'
6805 react-native: '*'6690 react-native: '*'
68066691
6807 expo-widgets@56.0.19:6692 expo-widgets@57.0.15:
6808 resolution: {integrity: sha512-D2RWectoEalVdGwXyE2LX3L9T6q6jSKh8jjvk1K3JSE1qOcCVZk+TJtvBUveTq8OoLblkeFMXqQ2fHG+kg655w==}6693 resolution: {integrity: sha512-dlwbUCLaxOZFcIejxtOo95NyqJMa4Sop4NPzJEvvD2MwXERBqxkp8RExxVDAEiBRIdAYqC1u02SnIJWT/27f7g==}
6809 peerDependencies:6694 peerDependencies:
6810 expo: '*'6695 expo: '*'
6811 react: '*'6696 react: '*'
6812 react-native: '*'6697 react-native: '*'
68136698
6814 expo@56.0.12:6699 expo@57.0.18:
6815 resolution: {integrity: sha512-FxgdI/Yqva6iJOThZIHfvxlKPxs4EC4uScUnEswwSArR/Fj9k430O13R590LcOQTsdNsjIs+GBHwjfoAY6vmAQ==}6700 resolution: {integrity: sha512-6nax9hJPhf9dWrstliXUABTJXDNIJrfJKcCtjSxuYVs2Yf127GIhKf3wsEYSFUl+LFdRbPPTNaweJePH159wZA==}
6816 hasBin: true6701 hasBin: true
6817 peerDependencies:6702 peerDependencies:
6818 '@expo/dom-webview': '*'6703 '@expo/dom-webview': 57.0.1
6819 '@expo/metro-runtime': '*'6704 '@expo/metro-runtime': '*'
6820 react: '*'6705 react: '*'
6821 react-dom: '*'6706 react-dom: '*'
...@@ -7176,21 +7061,27 @@ packages:...@@ -7176,21 +7061,27 @@ packages:
7176 heic-to@1.5.2:7061 heic-to@1.5.2:
7177 resolution: {integrity: sha512-8Fns+lZHAWmz5U5IUxDeXKwIf3foBoKNPLxxFY4B0MkLjNuomEIHCoDbDE+x/llFK3NCEO1cu4+n3iUKY+Svmw==}7062 resolution: {integrity: sha512-8Fns+lZHAWmz5U5IUxDeXKwIf3foBoKNPLxxFY4B0MkLjNuomEIHCoDbDE+x/llFK3NCEO1cu4+n3iUKY+Svmw==}
71787063
7179 hermes-compiler@250829098.0.10:7064 hermes-compiler@250829098.0.17:
7180 resolution: {integrity: sha512-TcRlZ0/TlyfJqquRFAWoyElVNnkdYRi/sEp4/Qy8/GYxjg8j2cS9D4MjuaQ+qimkmLN7AmO+44IznRf06mAr0w==}7065 resolution: {integrity: sha512-qG1PXzTEtriF6oQLZF3vyHhSMxOdW5h2TqqLri0rdpstPustd2fSvRZQMVAPdlhgFwBfYnj3OUZtiO6LjYsEFw==}
7181
7182 hermes-estree@0.33.3:
7183 resolution: {integrity: sha512-6kzYZHCk8Fy1Uc+t3HGYyJn3OL4aeqKLTyina4UFtWl8I0kSL7OmKThaiX+Uh2f8nGw3mo4Ifxg0M5Zk3/Oeqg==}
71847066
7185 hermes-estree@0.35.0:7067 hermes-estree@0.35.0:
7186 resolution: {integrity: sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==}7068 resolution: {integrity: sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==}
71877069
7188 hermes-parser@0.33.3:7070 hermes-estree@0.36.0:
7189 resolution: {integrity: sha512-Yg3HgaG4CqgyowtYjX/FsnPAuZdHOqSMtnbpylbptsQ9nwwSKsy6uRWcGO5RK0EqiX12q8HvDWKgeAVajRO5DA==}7071 resolution: {integrity: sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==}
7072
7073 hermes-estree@0.36.1:
7074 resolution: {integrity: sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==}
71907075
7191 hermes-parser@0.35.0:7076 hermes-parser@0.35.0:
7192 resolution: {integrity: sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==}7077 resolution: {integrity: sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==}
71937078
7079 hermes-parser@0.36.0:
7080 resolution: {integrity: sha512-GdpwMmH5x6IpC1cijvcvYnlPB60Mh6kTSF/NFdYV/j56gYdi+0RIakYs+eqOV+bbO0SW7mgVVGSsTJxyPQfo3w==}
7081
7082 hermes-parser@0.36.1:
7083 resolution: {integrity: sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==}
7084
7194 hoist-non-react-statics@3.3.2:7085 hoist-non-react-statics@3.3.2:
7195 resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}7086 resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
71967087
...@@ -7260,10 +7151,6 @@ packages:...@@ -7260,10 +7151,6 @@ packages:
7260 immediate@3.0.6:7151 immediate@3.0.6:
7261 resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}7152 resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
72627153
7263 indent-string@4.0.0:
7264 resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
7265 engines: {node: '>=8'}
7266
7267 indent-string@5.0.0:7154 indent-string@5.0.0:
7268 resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}7155 resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
7269 engines: {node: '>=12'}7156 engines: {node: '>=12'}
...@@ -7989,60 +7876,118 @@ packages:...@@ -7989,60 +7876,118 @@ packages:
7989 resolution: {integrity: sha512-rvCfz8snl9h20VcvpOHxZuHP1SlAkv4HXbzw7nyyVwu6Eqo5PRerbakQ9XmUCOsRy70spJ37O+G1TK8oMzo48g==}7876 resolution: {integrity: sha512-rvCfz8snl9h20VcvpOHxZuHP1SlAkv4HXbzw7nyyVwu6Eqo5PRerbakQ9XmUCOsRy70spJ37O+G1TK8oMzo48g==}
7990 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7877 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
79917878
7879 metro-babel-transformer@0.84.5:
7880 resolution: {integrity: sha512-2WbHILKMiJUzfdjmGOQOqU1bWi9//gqiclc/tkk/AIsrrVw3efhZ1uhkOwMTxUEPOzqoo091H0olLmVZH5FHGQ==}
7881 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7882
7992 metro-cache-key@0.84.4:7883 metro-cache-key@0.84.4:
7993 resolution: {integrity: sha512-wVO79aGrkYImpnaVS4+d5RrRBRPX31QtvKB3wKGBuiNSznduZTQHzsrJZRroFJSwnygrzdsGUtDQPuqqFjFdvw==}7884 resolution: {integrity: sha512-wVO79aGrkYImpnaVS4+d5RrRBRPX31QtvKB3wKGBuiNSznduZTQHzsrJZRroFJSwnygrzdsGUtDQPuqqFjFdvw==}
7994 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7885 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
79957886
7887 metro-cache-key@0.84.5:
7888 resolution: {integrity: sha512-3dPB2TnvGjjf0/9O7AXVQURKXuQNauTZE7WpTGTlR017Gh/B5y0m/2wcqxfveUguHSpu89KhVxCAlr2k/H7uhQ==}
7889 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7890
7996 metro-cache@0.84.4:7891 metro-cache@0.84.4:
7997 resolution: {integrity: sha512-gpcFQdSLUwUCk71saKoE64jLFbx2nwTfVCcPSULMNT8QYq0p1eZZE29Jvd0HtT/UlhC3ZOutLxJME5xqD2JUZg==}7892 resolution: {integrity: sha512-gpcFQdSLUwUCk71saKoE64jLFbx2nwTfVCcPSULMNT8QYq0p1eZZE29Jvd0HtT/UlhC3ZOutLxJME5xqD2JUZg==}
7998 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7893 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
79997894
7895 metro-cache@0.84.5:
7896 resolution: {integrity: sha512-WHS0n2OxQqtwEjSeQFPePNrMvEFhmQcUQM9cRJMHByWoi/GMWFBEWOf7hVkAM/0KRutAXNbDlSu/cZB6CyxgQQ==}
7897 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7898
8000 metro-config@0.84.4:7899 metro-config@0.84.4:
8001 resolution: {integrity: sha512-PMotGDjXcXLWo2TMRH+VR99phFNgYTwqh4OoieIKK3yTJa1Jmkl+fZJxDO0jfBvNF+WESHciHvpNuBtXaF3B0Q==}7900 resolution: {integrity: sha512-PMotGDjXcXLWo2TMRH+VR99phFNgYTwqh4OoieIKK3yTJa1Jmkl+fZJxDO0jfBvNF+WESHciHvpNuBtXaF3B0Q==}
8002 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7901 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80037902
7903 metro-config@0.84.5:
7904 resolution: {integrity: sha512-zie+uN6oohscowi2S7ByU+wUw6CrT4ZxW9uAbONOObSxx86RGmnIAmjXHLkfmcdYoY7jzOPEbqcI6oeVmqyBQA==}
7905 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7906
8004 metro-core@0.84.4:7907 metro-core@0.84.4:
8005 resolution: {integrity: sha512-HONpWC5LGXZn3ffkd4Hu6AIrfE7j4Z0g0wMo/goV24WOB3lhuFZ40KgvaDiSw8iyQHloMYay5N/wPX+z8oN/PQ==}7908 resolution: {integrity: sha512-HONpWC5LGXZn3ffkd4Hu6AIrfE7j4Z0g0wMo/goV24WOB3lhuFZ40KgvaDiSw8iyQHloMYay5N/wPX+z8oN/PQ==}
8006 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7909 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80077910
7911 metro-core@0.84.5:
7912 resolution: {integrity: sha512-xwm605hCi5Y6eJTTb8ZWo6pkUcoBEIyiQOfkZh5GwtDwUrP9SNhTQZhzJHrBCwwxlf3Ptl/pxWJgQ1rsNYMnrA==}
7913 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7914
8008 metro-file-map@0.84.4:7915 metro-file-map@0.84.4:
8009 resolution: {integrity: sha512-KSVDi/u60hKPx++NLu3MTIvyjzNoJnFAF8PQFxaj1jiSka/wjw+Ua6sNuJ0TDHQv+7AAoFQxeMgaRAe8Yic5wQ==}7916 resolution: {integrity: sha512-KSVDi/u60hKPx++NLu3MTIvyjzNoJnFAF8PQFxaj1jiSka/wjw+Ua6sNuJ0TDHQv+7AAoFQxeMgaRAe8Yic5wQ==}
8010 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7917 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80117918
7919 metro-file-map@0.84.5:
7920 resolution: {integrity: sha512-mlm/JL8toSbSc2akpKIGmzvrVRSCgZ5vkbycI34oMLoOnLGuLyC8WTyVJ6P0hZG/usDaGwZSl/s9BCRriqjGJA==}
7921 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7922
8012 metro-minify-terser@0.84.4:7923 metro-minify-terser@0.84.4:
8013 resolution: {integrity: sha512-5qpbaVOMC7CPitIpuewzVeGw7E+C3ykbv2mqTjQLl85Z3annSVGlSCTcsZjqXZzjupfK4Ztj3dDc4kc44NZwtQ==}7924 resolution: {integrity: sha512-5qpbaVOMC7CPitIpuewzVeGw7E+C3ykbv2mqTjQLl85Z3annSVGlSCTcsZjqXZzjupfK4Ztj3dDc4kc44NZwtQ==}
8014 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7925 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80157926
7927 metro-minify-terser@0.84.5:
7928 resolution: {integrity: sha512-BJoFwCEDsYnagPqarayInv2+diCDNDdLlaof/p6s9w4gh+gc9HXYM+pDvsKGKKUumpZswNF3Z/ftTMqKl/5IBg==}
7929 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7930
8016 metro-resolver@0.84.4:7931 metro-resolver@0.84.4:
8017 resolution: {integrity: sha512-1qLgbxQ5ZGhhutuPot1Yp348ofDsATL2WkrHF65TobqTT9K3P9qJXw38bomk7ncp5B7OYMfWwtyBZo1lCV792A==}7932 resolution: {integrity: sha512-1qLgbxQ5ZGhhutuPot1Yp348ofDsATL2WkrHF65TobqTT9K3P9qJXw38bomk7ncp5B7OYMfWwtyBZo1lCV792A==}
8018 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7933 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80197934
7935 metro-resolver@0.84.5:
7936 resolution: {integrity: sha512-VSSnepg1k6LyCwtb6eirWdAWlpKwBG8Rdtsr1mU38rMelFyWgh3/QuMSiZIZAIjwg/fsa8GhW5/FO54CAUPCEA==}
7937 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7938
8020 metro-runtime@0.84.4:7939 metro-runtime@0.84.4:
8021 resolution: {integrity: sha512-Jibypds4g7AhzdRKY+kDoj51s5EXMwgyp5ddtlreDAsWefMdOx+agWqgm0H2XSZ/ueanHHVM89fnf5OJnlxa8Q==}7940 resolution: {integrity: sha512-Jibypds4g7AhzdRKY+kDoj51s5EXMwgyp5ddtlreDAsWefMdOx+agWqgm0H2XSZ/ueanHHVM89fnf5OJnlxa8Q==}
8022 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7941 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80237942
7943 metro-runtime@0.84.5:
7944 resolution: {integrity: sha512-U1m2+d1Pr+JO2/iVXBB2OfXXityz7tqwIorxfrT15IEgaHvpJBq/OHiqnOWPKJbUl3JcxjcdviZZOKk85oK4Qg==}
7945 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7946
8024 metro-source-map@0.84.4:7947 metro-source-map@0.84.4:
8025 resolution: {integrity: sha512-jbWkPxIesVuo1IWkvezmMJld6iu8nD62GsrZiV6jP37AOdbo4OBq1FJ+qkOg8sV05wAHB//jAbziuW0SlJfW4g==}7948 resolution: {integrity: sha512-jbWkPxIesVuo1IWkvezmMJld6iu8nD62GsrZiV6jP37AOdbo4OBq1FJ+qkOg8sV05wAHB//jAbziuW0SlJfW4g==}
8026 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7949 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80277950
7951 metro-source-map@0.84.5:
7952 resolution: {integrity: sha512-2BtV5L9uPc49F13Gn5wiP6bX/EncqzqTIk2VL/0F/96Vo0YEOjluT/qktQjFODfqGFsucwnh5mPEAl/2jVEfeg==}
7953 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7954
8028 metro-symbolicate@0.84.4:7955 metro-symbolicate@0.84.4:
8029 resolution: {integrity: sha512-OnfpacxUqGPZQ27t8qK9mFa7uqHIlVWeqRqkCbvMvreEBiamEeOn8krKtcwgP5M4cYDPwuSmCTopHMVthqG4zA==}7956 resolution: {integrity: sha512-OnfpacxUqGPZQ27t8qK9mFa7uqHIlVWeqRqkCbvMvreEBiamEeOn8krKtcwgP5M4cYDPwuSmCTopHMVthqG4zA==}
8030 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7957 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
8031 hasBin: true7958 hasBin: true
80327959
7960 metro-symbolicate@0.84.5:
7961 resolution: {integrity: sha512-rQ40zYDAkaWBN9yvjUuAD0ZpzBMZSoKyGYXnb5JrfbKjun7fTvfoLHL3KXFYenBTYZkQtlp4cKSCv/1utxFyOw==}
7962 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7963 hasBin: true
7964
8033 metro-transform-plugins@0.84.4:7965 metro-transform-plugins@0.84.4:
8034 resolution: {integrity: sha512-kehr6HbAecqD0/a3xLXobELdPaAmRAl8bel0qagPF4vhZtux93nS8S4eq2kgKt6J2GnQpVjSoW1PXdst04mwow==}7966 resolution: {integrity: sha512-kehr6HbAecqD0/a3xLXobELdPaAmRAl8bel0qagPF4vhZtux93nS8S4eq2kgKt6J2GnQpVjSoW1PXdst04mwow==}
8035 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7967 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80367968
7969 metro-transform-plugins@0.84.5:
7970 resolution: {integrity: sha512-+InaSVGaOyt0DyRo4Y/zIdPI6CZwnbNho5LAL23tgmuGwv7fyfkF7kKfPjZcfxXBcoYdTLLFnCfCH/dHSiCqNg==}
7971 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7972
8037 metro-transform-worker@0.84.4:7973 metro-transform-worker@0.84.4:
8038 resolution: {integrity: sha512-W1IYMvvXTu4MxYr7d9h7CeG2vpIr3bmLLIavkPY4O1ilzDrvS8z/NEe6y+pC44Ff7raMXQgYSfdqDUwN/i39gg==}7974 resolution: {integrity: sha512-W1IYMvvXTu4MxYr7d9h7CeG2vpIr3bmLLIavkPY4O1ilzDrvS8z/NEe6y+pC44Ff7raMXQgYSfdqDUwN/i39gg==}
8039 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7975 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
80407976
7977 metro-transform-worker@0.84.5:
7978 resolution: {integrity: sha512-ui1Z8x4s5RL36gMmKLaMMO7O9NNDHNdthEZSCDQHAau3JcAsTaFOK6I+2q4I/kW5u8hSEjJk9L45TXSVJw6g1A==}
7979 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7980
8041 metro@0.84.4:7981 metro@0.84.4:
8042 resolution: {integrity: sha512-8ETTubqfD6ornDy2zYDvRcKnVDOXdFJsjetYDBsY4oAsb6NJkiwFR+FaMESyGppFmQUyBQA4H4sFGxzcQSGtFA==}7982 resolution: {integrity: sha512-8ETTubqfD6ornDy2zYDvRcKnVDOXdFJsjetYDBsY4oAsb6NJkiwFR+FaMESyGppFmQUyBQA4H4sFGxzcQSGtFA==}
8043 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}7983 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
8044 hasBin: true7984 hasBin: true
80457985
7986 metro@0.84.5:
7987 resolution: {integrity: sha512-r1liLkyFZMVSEMNjU1CJU5pRzs3NdkxHqXS60O25c0rCIqAR+cGk7rPydw/g0WAIKVXojIBIF45yYBPagJGcgw==}
7988 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
7989 hasBin: true
7990
8046 micromark-core-commonmark@2.0.3:7991 micromark-core-commonmark@2.0.3:
8047 resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}7992 resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
80487993
...@@ -8186,10 +8131,6 @@ packages:...@@ -8186,10 +8131,6 @@ packages:
8186 resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}8131 resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
8187 engines: {node: '>=10'}8132 engines: {node: '>=10'}
81888133
8189 min-indent@1.0.1:
8190 resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
8191 engines: {node: '>=4'}
8192
8193 minimatch@10.2.5:8134 minimatch@10.2.5:
8194 resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}8135 resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
8195 engines: {node: 18 || 20 || >=22}8136 engines: {node: 18 || 20 || >=22}
...@@ -8288,8 +8229,8 @@ packages:...@@ -8288,8 +8229,8 @@ packages:
8288 multipasta@0.2.8:8229 multipasta@0.2.8:
8289 resolution: {integrity: sha512-ZPWuMKyv0cSO29f7hozp+k6+crZbQijV8ipMvxNxRf2SwtYGTX1ZX89Kd20VV4H9Znonx+EQn+iy1wGQsJ+b+Q==}8230 resolution: {integrity: sha512-ZPWuMKyv0cSO29f7hozp+k6+crZbQijV8ipMvxNxRf2SwtYGTX1ZX89Kd20VV4H9Znonx+EQn+iy1wGQsJ+b+Q==}
82908231
8291 multitars@1.0.0:8232 multitars@1.0.2:
8292 resolution: {integrity: sha512-H/J4fMLedtudftaYMOg7ajzLYgT3/rwbWVJbqr/iUgB8DQztn38ys5HOqI1CzSxx8QhXXwOOnnBvd4v3jG5+Mg==}8233 resolution: {integrity: sha512-6GwVw5eLi9sThdtlS4PKwC7yRLaf45pYhIEzKBHdKxi+YOXGKFX8acIniH+Uh/+k9mS2lQOupTccjoe5r0/1IQ==}
82938234
8294 mute-stream@2.0.0:8235 mute-stream@2.0.0:
8295 resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}8236 resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
...@@ -8431,6 +8372,10 @@ packages:...@@ -8431,6 +8372,10 @@ packages:
8431 resolution: {integrity: sha512-eJXMpz4aQHXF/YBB9ddqZDIS+ooO91hObo9FoW/xBkr54/zCwYYCDqT/O54vNo8kOkWs5Ou/y28NgdrV0edQNA==}8372 resolution: {integrity: sha512-eJXMpz4aQHXF/YBB9ddqZDIS+ooO91hObo9FoW/xBkr54/zCwYYCDqT/O54vNo8kOkWs5Ou/y28NgdrV0edQNA==}
8432 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}8373 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
84338374
8375 ob1@0.84.5:
8376 resolution: {integrity: sha512-aH9RkoZc7w/90HBamFxTw8ZLFr05wXS+iOnvmrgo53Ep8Pyrm5FieQSaPIVROkfFVQISeD/zo92fes26TOwe+A==}
8377 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
8378
8434 object-assign@4.1.1:8379 object-assign@4.1.1:
8435 resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}8380 resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
8436 engines: {node: '>=0.10.0'}8381 engines: {node: '>=0.10.0'}
...@@ -8924,9 +8869,6 @@ packages:...@@ -8924,9 +8869,6 @@ packages:
8924 peerDependencies:8869 peerDependencies:
8925 react: ^18.0.0 || ^19.0.08870 react: ^18.0.0 || ^19.0.0
89268871
8927 react-fast-compare@3.2.2:
8928 resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
8929
8930 react-freeze@1.0.4:8872 react-freeze@1.0.4:
8931 resolution: {integrity: sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==}8873 resolution: {integrity: sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==}
8932 engines: {node: '>=10'}8874 engines: {node: '>=10'}
...@@ -8960,16 +8902,8 @@ packages:...@@ -8960,16 +8902,8 @@ packages:
8960 '@types/react': '>=18'8902 '@types/react': '>=18'
8961 react: '>=18'8903 react: '>=18'
89628904
8963 react-native-drawer-layout@4.2.4:8905 react-native-gesture-handler@2.32.0:
8964 resolution: {integrity: sha512-l1Le5HcVidobnJm8xqFZo46Rs8FDHdxbTZhkjxpNSRgU+QMoQXilOfzTHAeNjEGiKVGgIs9cW3ctXeHqgp5jJg==}8906 resolution: {integrity: sha512-uYIMOKlKENORq2SABE+jIjbPU+h5I/sQKcq2v16zRq848nwEp1fWRVwML4QWqijc8UcXJC25o54S8GQd4Mf2OA==}
8965 peerDependencies:
8966 react: '>= 18.2.0'
8967 react-native: '*'
8968 react-native-gesture-handler: '>= 2.0.0'
8969 react-native-reanimated: '>= 2.0.0'
8970
8971 react-native-gesture-handler@2.31.2:
8972 resolution: {integrity: sha512-rw5q74i2AfS7YGYdbxQDhOU7xqgY6WRM1132/CCm3erqjblhECZDZFHIm0tteHoC9ih24wogVBVVzcTBQtZ+5A==}
8973 peerDependencies:8907 peerDependencies:
8974 react: '*'8908 react: '*'
8975 react-native: '*'8909 react-native: '*'
...@@ -9013,12 +8947,12 @@ packages:...@@ -9013,12 +8947,12 @@ packages:
9013 react: '*'8947 react: '*'
9014 react-native: '*'8948 react-native: '*'
90158949
9016 react-native-reanimated@4.3.1:8950 react-native-reanimated@4.5.1:
9017 resolution: {integrity: sha512-KhGsS0YkCA+gusgyzlf9hnqzVPIR398KTpqXyqq/+yYJJPAvyEEPKcxlB0xtOOXSMrR2A9uRKVARVQhZwrOh+Q==}8951 resolution: {integrity: sha512-RnMvtDuR+68ig864gAvZCOdZehqhC5rFmMo0kn+ARfgVSTvFeF6IFLBVgMPUu0KwihaapEyW24WRi6nEyy1kSA==}
9018 peerDependencies:8952 peerDependencies:
9019 react: '*'8953 react: '*'
9020 react-native: 0.81 - 0.858954 react-native: 0.83 - 0.86
9021 react-native-worklets: 0.8.x8955 react-native-worklets: 0.10.x
90228956
9023 react-native-safe-area-context@5.7.0:8957 react-native-safe-area-context@5.7.0:
9024 resolution: {integrity: sha512-/9/MtQz8ODphjsLdZ+GZAIcC/RtoqW9EeShf7Uvnfgm/pzYrJ75y3PV/J1wuAV1T5Dye5ygq4EAW20RoBq0ABQ==}8958 resolution: {integrity: sha512-/9/MtQz8ODphjsLdZ+GZAIcC/RtoqW9EeShf7Uvnfgm/pzYrJ75y3PV/J1wuAV1T5Dye5ygq4EAW20RoBq0ABQ==}
...@@ -9026,11 +8960,11 @@ packages:...@@ -9026,11 +8960,11 @@ packages:
9026 react: '*'8960 react: '*'
9027 react-native: '*'8961 react-native: '*'
90288962
9029 react-native-screens@4.25.2:8963 react-native-screens@4.26.2:
9030 resolution: {integrity: sha512-1Nj1fusFd+rIMKU/qC9yGKVG+3ofh11d3OdBQKL1iVvQfKvcB8vhvTGQf2TkfxW3bamxN+hCZIXmNuU0mRkyDg==}8964 resolution: {integrity: sha512-2XnWsZToKj76trGtEZzx5ELD/qOICFEprEeUntImmitQFVUkea27fiWdUSITArI356Y1qynpXZINW+Unbhky/A==}
9031 peerDependencies:8965 peerDependencies:
9032 react: '*'8966 react: '*'
9033 react-native: '>=0.82.0'8967 react-native: '*'
90348968
9035 react-native-shiki-engine@0.3.12:8969 react-native-shiki-engine@0.3.12:
9036 resolution: {integrity: sha512-CE6CA3uHGZT5OmY909H+vTv5lrmILV7zuPOF2pXRYXWN2qYm5KG7XacEB/Pq1U2+8D0zJoeMveTny/FHEqnipg==}8970 resolution: {integrity: sha512-CE6CA3uHGZT5OmY909H+vTv5lrmILV7zuPOF2pXRYXWN2qYm5KG7XacEB/Pq1U2+8D0zJoeMveTny/FHEqnipg==}
...@@ -9055,20 +8989,20 @@ packages:...@@ -9055,20 +8989,20 @@ packages:
9055 react: '*'8989 react: '*'
9056 react-native: '*'8990 react-native: '*'
90578991
9058 react-native-worklets@0.8.3:8992 react-native-worklets@0.10.1:
9059 resolution: {integrity: sha512-oCBJROyLU7yG/1R8s0INMflygTH71bx+5XcYkH0CM938TlhSoVbiunE1WVW5FZa51vwYqfLie/IXMX2s1Kh3eg==}8993 resolution: {integrity: sha512-62mRM19bDpfpdI8HLkEErcdOsrAPDtE9lA/sw+5lLRpzBHNhxaoj9QyY2KjXqUmirelxkX4zuPGTC3VdA0feJA==}
9060 peerDependencies:8994 peerDependencies:
9061 '@babel/core': '*'8995 '@babel/core': '*'
9062 '@react-native/metro-config': '*'8996 '@react-native/metro-config': '*'
9063 react: '*'8997 react: '*'
9064 react-native: 0.81 - 0.858998 react-native: 0.83 - 0.86
90658999
9066 react-native@0.85.3:9000 react-native@0.86.3:
9067 resolution: {integrity: sha512-HN/fGC+3nZVcDNcw7gfbM/DuqZAvI9Mz+/SxuhODaua4JY0BPzhfTzWXRyTR4mRgMHmShTPpH2PYMTxvZrsdZA==}9001 resolution: {integrity: sha512-JR5s3bM9ezud+Mw24GlNXNfthqPIKwrQgPPJcam+L97t2sKjjEavhCzBn+fyqZZRcM5+XlhYxpTxVkK7e1n38Q==}
9068 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}9002 engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
9069 hasBin: true9003 hasBin: true
9070 peerDependencies:9004 peerDependencies:
9071 '@react-native/jest-preset': 0.85.39005 '@react-native/jest-preset': 0.86.3
9072 '@types/react': ^19.1.19006 '@types/react': ^19.1.1
9073 react: ^19.2.39007 react: ^19.2.3
9074 peerDependenciesMeta:9008 peerDependenciesMeta:
...@@ -9140,10 +9074,6 @@ packages:...@@ -9140,10 +9074,6 @@ packages:
9140 resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}9074 resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
9141 engines: {node: '>= 20.19.0'}9075 engines: {node: '>= 20.19.0'}
91429076
9143 redent@3.0.0:
9144 resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
9145 engines: {node: '>=8'}
9146
9147 redis-errors@1.2.0:9077 redis-errors@1.2.0:
9148 resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}9078 resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
9149 engines: {node: '>=4'}9079 engines: {node: '>=4'}
...@@ -9336,6 +9266,11 @@ packages:...@@ -9336,6 +9266,11 @@ packages:
9336 safer-buffer@2.1.2:9266 safer-buffer@2.1.2:
9337 resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}9267 resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
93389268
9269 sandbox-cli-detector@0.2.0:
9270 resolution: {integrity: sha512-4lyHX0ZU0AZKwjgZ1InxZAa3PNpyEb8rOQ+Zss1ReYmhNzW0Q+h1zE5nvniXN0HaAWZaZE1zgVNEirb0R7LmNg==}
9271 engines: {node: '>=18.18'}
9272 hasBin: true
9273
9339 sanitize-filename@1.6.4:9274 sanitize-filename@1.6.4:
9340 resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==}9275 resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==}
93419276
...@@ -9408,9 +9343,6 @@ packages:...@@ -9408,9 +9343,6 @@ packages:
9408 resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}9343 resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}
9409 engines: {node: '>= 18'}9344 engines: {node: '>= 18'}
94109345
9411 server-only@0.0.1:
9412 resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
9413
9414 setimmediate@1.0.5:9346 setimmediate@1.0.5:
9415 resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}9347 resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
94169348
...@@ -9421,9 +9353,6 @@ packages:...@@ -9421,9 +9353,6 @@ packages:
9421 resolution: {integrity: sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw==}9353 resolution: {integrity: sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw==}
9422 engines: {node: '>=10'}9354 engines: {node: '>=10'}
94239355
9424 shallowequal@1.1.0:
9425 resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
9426
9427 sharp@0.34.5:9356 sharp@0.34.5:
9428 resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}9357 resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
9429 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}9358 engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
...@@ -9570,9 +9499,6 @@ packages:...@@ -9570,9 +9499,6 @@ packages:
9570 standard-as-callback@2.1.0:9499 standard-as-callback@2.1.0:
9571 resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}9500 resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
95729501
9573 standard-navigation@0.0.5:
9574 resolution: {integrity: sha512-YAmzwAiiQVocZxO/VGPFiQHcu5pKiz09QIGC0MK6aRMoa3E0QkoTQgcqJr7ZZ3OMiNhu4DkaGElFI5htjOIDbw==}
9575
9576 standard-navigation@0.0.7:9502 standard-navigation@0.0.7:
9577 resolution: {integrity: sha512-NCGLCNyuXrFOkGHxdNZFnpsehGtiq1oXbPhKl7ZuxFO5J//H2evqqOchmD4YwEUJnkjO4kH9Xp4hQX6hdAYCKQ==}9503 resolution: {integrity: sha512-NCGLCNyuXrFOkGHxdNZFnpsehGtiq1oXbPhKl7ZuxFO5J//H2evqqOchmD4YwEUJnkjO4kH9Xp4hQX6hdAYCKQ==}
95789504
...@@ -9639,10 +9565,6 @@ packages:...@@ -9639,10 +9565,6 @@ packages:
9639 resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}9565 resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
9640 engines: {node: '>=12'}9566 engines: {node: '>=12'}
96419567
9642 strip-indent@3.0.0:
9643 resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
9644 engines: {node: '>=8'}
9645
9646 strnum@2.3.0:9568 strnum@2.3.0:
9647 resolution: {integrity: sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==}9569 resolution: {integrity: sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==}
96489570
...@@ -10531,9 +10453,6 @@ packages:...@@ -10531,9 +10453,6 @@ packages:
1053110453
10532snapshots:10454snapshots:
1053310455
10534 '@adobe/css-tools@4.5.0':
10535 optional: true
10536
10537 '@alcalzone/ansi-tokenize@0.2.5':10456 '@alcalzone/ansi-tokenize@0.2.5':
10538 dependencies:10457 dependencies:
10539 ansi-styles: 6.2.310458 ansi-styles: 6.2.3
...@@ -11467,10 +11386,10 @@ snapshots:...@@ -11467,10 +11386,10 @@ snapshots:
11467 '@bruits/satteri-win32-x64-msvc@0.9.3':11386 '@bruits/satteri-win32-x64-msvc@0.9.3':
11468 optional: true11387 optional: true
1146911388
11470 '@callstack/liquid-glass@0.7.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':11389 '@callstack/liquid-glass@0.7.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
11471 dependencies:11390 dependencies:
11472 react: 19.2.311391 react: 19.2.3
11473 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)11392 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1147411393
11475 '@capsizecss/unpack@4.0.1':11394 '@capsizecss/unpack@4.0.1':
11476 dependencies:11395 dependencies:
...@@ -11574,24 +11493,24 @@ snapshots:...@@ -11574,24 +11493,24 @@ snapshots:
11574 electron-store: 8.2.011493 electron-store: 8.2.0
11575 react-dom: 19.2.6(react@19.2.6)11494 react-dom: 19.2.6(react@19.2.6)
1157611495
11577 '@clerk/expo@4.2.0(patch_hash=72e426f44fc1cde16fc2cbba3d1e96cdca7c6d957faa73d0fe6b43948608a6c1)(expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-constants@56.0.18)(expo-crypto@56.0.4(expo@56.0.12))(expo-secure-store@56.0.4(expo@56.0.12))(expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)':11496 '@clerk/expo@4.2.0(patch_hash=72e426f44fc1cde16fc2cbba3d1e96cdca7c6d957faa73d0fe6b43948608a6c1)(1fcd0592788ddcf326eeeb90d875ed47)':
11578 dependencies:11497 dependencies:
11579 '@clerk/clerk-js': 6.30.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)11498 '@clerk/clerk-js': 6.30.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
11580 '@clerk/react': 6.14.7(react-dom@19.2.3(react@19.2.3))(react@19.2.3)11499 '@clerk/react': 6.14.7(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
11581 '@clerk/shared': 4.30.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)11500 '@clerk/shared': 4.30.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
11582 '@expo/config-plugins': 56.0.9(typescript@6.0.3)11501 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
11583 base-64: 1.0.011502 base-64: 1.0.0
11584 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)11503 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
11585 react: 19.2.311504 react: 19.2.3
11586 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)11505 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
11587 react-native-url-polyfill: 4.0.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))11506 react-native-url-polyfill: 4.0.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
11588 tslib: 2.8.111507 tslib: 2.8.1
11589 optionalDependencies:11508 optionalDependencies:
11590 expo-auth-session: 56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)11509 expo-auth-session: 57.0.10(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
11591 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))11510 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
11592 expo-crypto: 56.0.4(expo@56.0.12)11511 expo-crypto: 57.0.2(expo@57.0.18)
11593 expo-secure-store: 56.0.4(expo@56.0.12)11512 expo-secure-store: 57.0.2(expo@57.0.18)
11594 expo-web-browser: 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))11513 expo-web-browser: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
11595 react-dom: 19.2.3(react@19.2.3)11514 react-dom: 19.2.3(react@19.2.3)
11596 transitivePeerDependencies:11515 transitivePeerDependencies:
11597 - supports-color11516 - supports-color
...@@ -12191,32 +12110,33 @@ snapshots:...@@ -12191,32 +12110,33 @@ snapshots:
1219112110
12192 '@expo-google-fonts/material-symbols@0.4.38': {}12111 '@expo-google-fonts/material-symbols@0.4.38': {}
1219312112
12194 '@expo/cli@56.1.16(@expo/dom-webview@56.0.5)(@expo/metro-runtime@56.0.15)(bufferutil@4.1.0)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)(utf-8-validate@6.0.6)':12113 '@expo/cli@57.0.20(@expo/dom-webview@57.0.1)(@expo/metro-runtime@57.0.14)(bufferutil@4.1.0)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)(utf-8-validate@6.0.6)':
12195 dependencies:12114 dependencies:
12196 '@expo/code-signing-certificates': 0.0.612115 '@expo/code-signing-certificates': 0.0.6
12197 '@expo/config': 56.0.9(typescript@6.0.3)12116 '@expo/config': 57.0.9(typescript@6.0.3)
12198 '@expo/config-plugins': 56.0.9(typescript@6.0.3)12117 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
12199 '@expo/devcert': 1.2.112118 '@expo/devcert': 1.2.1
12200 '@expo/env': 2.3.012119 '@expo/env': 2.4.3
12201 '@expo/image-utils': 0.10.1(typescript@6.0.3)12120 '@expo/image-utils': 0.11.5(typescript@6.0.3)
12202 '@expo/inline-modules': 0.0.12(typescript@6.0.3)12121 '@expo/inline-modules': 0.1.7(typescript@6.0.3)
12203 '@expo/json-file': 10.2.012122 '@expo/json-file': 11.0.1
12204 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)12123 '@expo/log-box': 57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12205 '@expo/metro': 56.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)12124 '@expo/metro': 56.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12206 '@expo/metro-config': 56.0.14(patch_hash=8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46)(bufferutil@4.1.0)(expo@56.0.12)(typescript@6.0.3)(utf-8-validate@6.0.6)12125 '@expo/metro-config': 57.0.12(patch_hash=96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2)(bufferutil@4.1.0)(expo@57.0.18)(typescript@6.0.3)(utf-8-validate@6.0.6)
12207 '@expo/metro-file-map': 56.0.312126 '@expo/metro-file-map': 57.0.2
12208 '@expo/osascript': 2.6.012127 '@expo/osascript': 2.7.1
12209 '@expo/package-manager': 1.12.112128 '@expo/package-manager': 1.13.1
12210 '@expo/plist': 0.7.012129 '@expo/plist': 0.8.1
12211 '@expo/prebuild-config': 56.0.16(typescript@6.0.3)12130 '@expo/prebuild-config': 57.0.15(typescript@6.0.3)
12212 '@expo/require-utils': 56.1.3(typescript@6.0.3)12131 '@expo/require-utils': 57.0.5(typescript@6.0.3)
12213 '@expo/router-server': 56.0.14(@expo/metro-runtime@56.0.15)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo-server@56.0.5)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)12132 '@expo/router-server': 57.0.8(@expo/metro-runtime@57.0.14)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-server@57.0.3)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
12214 '@expo/schema-utils': 56.0.112133 '@expo/schema-utils': 57.0.2
12215 '@expo/spawn-async': 1.8.012134 '@expo/spawn-async': 1.8.0
12216 '@expo/ws-tunnel': 2.0.0(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))12135 '@expo/ws-tunnel': 2.0.0(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
12217 '@expo/xcpretty': 4.4.412136 '@expo/xcpretty': 4.4.4
12218 '@react-native/dev-middleware': 0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)12137 '@react-native/dev-middleware': 0.86.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12219 accepts: 1.3.812138 accepts: 1.3.8
12139 agent-cli-detector: 0.1.6
12220 arg: 5.0.212140 arg: 5.0.2
12221 bplist-creator: 0.1.012141 bplist-creator: 0.1.0
12222 bplist-parser: 0.3.212142 bplist-parser: 0.3.2
...@@ -12226,13 +12146,13 @@ snapshots:...@@ -12226,13 +12146,13 @@ snapshots:
12226 connect: 3.7.012146 connect: 3.7.0
12227 debug: 4.4.312147 debug: 4.4.3
12228 dnssd-advertise: 1.1.412148 dnssd-advertise: 1.1.4
12229 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)12149 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12230 expo-server: 56.0.512150 expo-server: 57.0.3
12231 fetch-nodeshim: 0.4.1012151 fetch-nodeshim: 0.4.10
12232 getenv: 2.0.012152 getenv: 2.0.0
12233 glob: 13.0.612153 glob: 13.0.6
12234 lan-network: 0.2.112154 lan-network: 0.2.1
12235 multitars: 1.0.012155 multitars: 1.0.2
12236 node-forge: 1.4.012156 node-forge: 1.4.0
12237 npm-package-arg: 11.0.312157 npm-package-arg: 11.0.3
12238 ora: 3.4.012158 ora: 3.4.0
...@@ -12241,6 +12161,7 @@ snapshots:...@@ -12241,6 +12161,7 @@ snapshots:
12241 progress: 2.0.312161 progress: 2.0.3
12242 prompts: 2.4.212162 prompts: 2.4.2
12243 resolve-from: 5.0.012163 resolve-from: 5.0.0
12164 sandbox-cli-detector: 0.2.0
12244 semver: 7.8.512165 semver: 7.8.5
12245 send: 0.19.212166 send: 0.19.2
12246 slugify: 1.6.912167 slugify: 1.6.9
...@@ -12252,8 +12173,7 @@ snapshots:...@@ -12252,8 +12173,7 @@ snapshots:
12252 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)12173 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12253 zod: 3.25.7612174 zod: 3.25.76
12254 optionalDependencies:12175 optionalDependencies:
12255 expo-router: 56.2.11(1d12f8130d9562de288829ccb10045a7)12176 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
12256 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
12257 transitivePeerDependencies:12177 transitivePeerDependencies:
12258 - '@expo/dom-webview'12178 - '@expo/dom-webview'
12259 - '@expo/metro-runtime'12179 - '@expo/metro-runtime'
...@@ -12267,32 +12187,33 @@ snapshots:...@@ -12267,32 +12187,33 @@ snapshots:
12267 - typescript12187 - typescript
12268 - utf-8-validate12188 - utf-8-validate
1226912189
12270 '@expo/cli@56.1.16(@expo/dom-webview@56.0.5)(@expo/metro-runtime@56.0.15)(bufferutil@4.1.0)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3)(utf-8-validate@6.0.6)':12190 '@expo/cli@57.0.20(@expo/dom-webview@57.0.1)(@expo/metro-runtime@57.0.14)(bufferutil@4.1.0)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3)(utf-8-validate@6.0.6)':
12271 dependencies:12191 dependencies:
12272 '@expo/code-signing-certificates': 0.0.612192 '@expo/code-signing-certificates': 0.0.6
12273 '@expo/config': 56.0.9(typescript@6.0.3)12193 '@expo/config': 57.0.9(typescript@6.0.3)
12274 '@expo/config-plugins': 56.0.9(typescript@6.0.3)12194 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
12275 '@expo/devcert': 1.2.112195 '@expo/devcert': 1.2.1
12276 '@expo/env': 2.3.012196 '@expo/env': 2.4.3
12277 '@expo/image-utils': 0.10.1(typescript@6.0.3)12197 '@expo/image-utils': 0.11.5(typescript@6.0.3)
12278 '@expo/inline-modules': 0.0.12(typescript@6.0.3)12198 '@expo/inline-modules': 0.1.7(typescript@6.0.3)
12279 '@expo/json-file': 10.2.012199 '@expo/json-file': 11.0.1
12280 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)12200 '@expo/log-box': 57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12281 '@expo/metro': 56.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)12201 '@expo/metro': 56.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12282 '@expo/metro-config': 56.0.14(patch_hash=8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46)(bufferutil@4.1.0)(expo@56.0.12)(typescript@6.0.3)(utf-8-validate@6.0.6)12202 '@expo/metro-config': 57.0.12(patch_hash=96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2)(bufferutil@4.1.0)(expo@57.0.18)(typescript@6.0.3)(utf-8-validate@6.0.6)
12283 '@expo/metro-file-map': 56.0.312203 '@expo/metro-file-map': 57.0.2
12284 '@expo/osascript': 2.6.012204 '@expo/osascript': 2.7.1
12285 '@expo/package-manager': 1.12.112205 '@expo/package-manager': 1.13.1
12286 '@expo/plist': 0.7.012206 '@expo/plist': 0.8.1
12287 '@expo/prebuild-config': 56.0.16(typescript@6.0.3)12207 '@expo/prebuild-config': 57.0.15(typescript@6.0.3)
12288 '@expo/require-utils': 56.1.3(typescript@6.0.3)12208 '@expo/require-utils': 57.0.5(typescript@6.0.3)
12289 '@expo/router-server': 56.0.14(@expo/metro-runtime@56.0.15)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo-server@56.0.5)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)12209 '@expo/router-server': 57.0.8(@expo/metro-runtime@57.0.14)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(expo-server@57.0.3)(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
12290 '@expo/schema-utils': 56.0.112210 '@expo/schema-utils': 57.0.2
12291 '@expo/spawn-async': 1.8.012211 '@expo/spawn-async': 1.8.0
12292 '@expo/ws-tunnel': 2.0.0(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))12212 '@expo/ws-tunnel': 2.0.0(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
12293 '@expo/xcpretty': 4.4.412213 '@expo/xcpretty': 4.4.4
12294 '@react-native/dev-middleware': 0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)12214 '@react-native/dev-middleware': 0.86.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12295 accepts: 1.3.812215 accepts: 1.3.8
12216 agent-cli-detector: 0.1.6
12296 arg: 5.0.212217 arg: 5.0.2
12297 bplist-creator: 0.1.012218 bplist-creator: 0.1.0
12298 bplist-parser: 0.3.212219 bplist-parser: 0.3.2
...@@ -12302,13 +12223,13 @@ snapshots:...@@ -12302,13 +12223,13 @@ snapshots:
12302 connect: 3.7.012223 connect: 3.7.0
12303 debug: 4.4.312224 debug: 4.4.3
12304 dnssd-advertise: 1.1.412225 dnssd-advertise: 1.1.4
12305 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)12226 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
12306 expo-server: 56.0.512227 expo-server: 57.0.3
12307 fetch-nodeshim: 0.4.1012228 fetch-nodeshim: 0.4.10
12308 getenv: 2.0.012229 getenv: 2.0.0
12309 glob: 13.0.612230 glob: 13.0.6
12310 lan-network: 0.2.112231 lan-network: 0.2.1
12311 multitars: 1.0.012232 multitars: 1.0.2
12312 node-forge: 1.4.012233 node-forge: 1.4.0
12313 npm-package-arg: 11.0.312234 npm-package-arg: 11.0.3
12314 ora: 3.4.012235 ora: 3.4.0
...@@ -12317,6 +12238,7 @@ snapshots:...@@ -12317,6 +12238,7 @@ snapshots:
12317 progress: 2.0.312238 progress: 2.0.3
12318 prompts: 2.4.212239 prompts: 2.4.2
12319 resolve-from: 5.0.012240 resolve-from: 5.0.0
12241 sandbox-cli-detector: 0.2.0
12320 semver: 7.8.512242 semver: 7.8.5
12321 send: 0.19.212243 send: 0.19.2
12322 slugify: 1.6.912244 slugify: 1.6.9
...@@ -12328,8 +12250,7 @@ snapshots:...@@ -12328,8 +12250,7 @@ snapshots:
12328 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)12250 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12329 zod: 3.25.7612251 zod: 3.25.76
12330 optionalDependencies:12252 optionalDependencies:
12331 expo-router: 56.2.11(5cef6fdc582974f4d93d5694873ec814)12253 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12332 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12333 transitivePeerDependencies:12254 transitivePeerDependencies:
12334 - '@expo/dom-webview'12255 - '@expo/dom-webview'
12335 - '@expo/metro-runtime'12256 - '@expo/metro-runtime'
...@@ -12348,12 +12269,12 @@ snapshots:...@@ -12348,12 +12269,12 @@ snapshots:
12348 dependencies:12269 dependencies:
12349 node-forge: 1.4.012270 node-forge: 1.4.0
1235012271
12351 '@expo/config-plugins@56.0.9(typescript@6.0.3)':12272 '@expo/config-plugins@57.0.9(typescript@6.0.3)':
12352 dependencies:12273 dependencies:
12353 '@expo/config-types': 56.0.612274 '@expo/config-types': 57.0.2
12354 '@expo/json-file': 10.2.012275 '@expo/json-file': 11.0.1
12355 '@expo/plist': 0.7.012276 '@expo/plist': 0.8.1
12356 '@expo/require-utils': 56.1.3(typescript@6.0.3)12277 '@expo/require-utils': 57.0.5(typescript@6.0.3)
12357 '@expo/sdk-runtime-versions': 1.0.012278 '@expo/sdk-runtime-versions': 1.0.0
12358 chalk: 4.1.212279 chalk: 4.1.2
12359 debug: 4.4.312280 debug: 4.4.3
...@@ -12367,14 +12288,14 @@ snapshots:...@@ -12367,14 +12288,14 @@ snapshots:
12367 - supports-color12288 - supports-color
12368 - typescript12289 - typescript
1236912290
12370 '@expo/config-types@56.0.6': {}12291 '@expo/config-types@57.0.2': {}
1237112292
12372 '@expo/config@56.0.9(typescript@6.0.3)':12293 '@expo/config@57.0.9(typescript@6.0.3)':
12373 dependencies:12294 dependencies:
12374 '@expo/config-plugins': 56.0.9(typescript@6.0.3)12295 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
12375 '@expo/config-types': 56.0.612296 '@expo/config-types': 57.0.2
12376 '@expo/json-file': 10.2.012297 '@expo/json-file': 11.0.1
12377 '@expo/require-utils': 56.1.3(typescript@6.0.3)12298 '@expo/require-utils': 57.0.5(typescript@6.0.3)
12378 deepmerge: 4.3.112299 deepmerge: 4.3.1
12379 getenv: 2.0.012300 getenv: 2.0.0
12380 glob: 13.0.612301 glob: 13.0.6
...@@ -12392,35 +12313,35 @@ snapshots:...@@ -12392,35 +12313,35 @@ snapshots:
12392 transitivePeerDependencies:12313 transitivePeerDependencies:
12393 - supports-color12314 - supports-color
1239412315
12395 '@expo/devtools@56.0.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':12316 '@expo/devtools@57.0.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
12396 dependencies:12317 dependencies:
12397 chalk: 4.1.212318 chalk: 4.1.2
12398 optionalDependencies:12319 optionalDependencies:
12399 react: 19.2.312320 react: 19.2.3
12400 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)12321 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1240112322
12402 '@expo/devtools@56.0.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':12323 '@expo/devtools@57.0.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
12403 dependencies:12324 dependencies:
12404 chalk: 4.1.212325 chalk: 4.1.2
12405 optionalDependencies:12326 optionalDependencies:
12406 react: 19.2.612327 react: 19.2.6
12407 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)12328 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12408 optional: true12329 optional: true
1240912330
12410 '@expo/dom-webview@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':12331 '@expo/dom-webview@57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
12411 dependencies:12332 dependencies:
12412 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)12333 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12413 react: 19.2.312334 react: 19.2.3
12414 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)12335 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1241512336
12416 '@expo/dom-webview@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':12337 '@expo/dom-webview@57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
12417 dependencies:12338 dependencies:
12418 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)12339 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
12419 react: 19.2.612340 react: 19.2.6
12420 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)12341 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12421 optional: true12342 optional: true
1242212343
12423 '@expo/env@2.3.0':12344 '@expo/env@2.4.3':
12424 dependencies:12345 dependencies:
12425 chalk: 4.1.212346 chalk: 4.1.2
12426 debug: 4.4.312347 debug: 4.4.3
...@@ -12428,11 +12349,11 @@ snapshots:...@@ -12428,11 +12349,11 @@ snapshots:
12428 transitivePeerDependencies:12349 transitivePeerDependencies:
12429 - supports-color12350 - supports-color
1243012351
12431 '@expo/expo-modules-macros-plugin@0.2.2': {}12352 '@expo/expo-modules-macros-plugin@0.6.1': {}
1243212353
12433 '@expo/fingerprint@0.19.4':12354 '@expo/fingerprint@0.20.11':
12434 dependencies:12355 dependencies:
12435 '@expo/env': 2.3.012356 '@expo/env': 2.4.3
12436 '@expo/spawn-async': 1.8.012357 '@expo/spawn-async': 1.8.0
12437 arg: 5.0.212358 arg: 5.0.2
12438 chalk: 4.1.212359 chalk: 4.1.2
...@@ -12446,9 +12367,9 @@ snapshots:...@@ -12446,9 +12367,9 @@ snapshots:
12446 transitivePeerDependencies:12367 transitivePeerDependencies:
12447 - supports-color12368 - supports-color
1244812369
12449 '@expo/image-utils@0.10.1(typescript@6.0.3)':12370 '@expo/image-utils@0.11.5(typescript@6.0.3)':
12450 dependencies:12371 dependencies:
12451 '@expo/require-utils': 56.1.3(typescript@6.0.3)12372 '@expo/require-utils': 57.0.5(typescript@6.0.3)
12452 '@expo/spawn-async': 1.8.012373 '@expo/spawn-async': 1.8.0
12453 chalk: 4.1.212374 chalk: 4.1.2
12454 getenv: 2.0.012375 getenv: 2.0.0
...@@ -12472,55 +12393,55 @@ snapshots:...@@ -12472,55 +12393,55 @@ snapshots:
12472 - supports-color12393 - supports-color
12473 - typescript12394 - typescript
1247412395
12475 '@expo/inline-modules@0.0.12(typescript@6.0.3)':12396 '@expo/inline-modules@0.1.7(typescript@6.0.3)':
12476 dependencies:12397 dependencies:
12477 '@expo/config-plugins': 56.0.9(typescript@6.0.3)12398 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
12478 transitivePeerDependencies:12399 transitivePeerDependencies:
12479 - supports-color12400 - supports-color
12480 - typescript12401 - typescript
1248112402
12482 '@expo/json-file@10.2.0':12403 '@expo/json-file@11.0.1':
12483 dependencies:12404 dependencies:
12484 '@babel/code-frame': 7.29.712405 '@babel/code-frame': 7.29.7
12485 json5: 2.2.312406 json5: 2.2.3
1248612407
12487 '@expo/local-build-cache-provider@56.0.8(typescript@6.0.3)':12408 '@expo/local-build-cache-provider@57.0.8(typescript@6.0.3)':
12488 dependencies:12409 dependencies:
12489 '@expo/config': 56.0.9(typescript@6.0.3)12410 '@expo/config': 57.0.9(typescript@6.0.3)
12490 chalk: 4.1.212411 chalk: 4.1.2
12491 transitivePeerDependencies:12412 transitivePeerDependencies:
12492 - supports-color12413 - supports-color
12493 - typescript12414 - typescript
1249412415
12495 '@expo/log-box@56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':12416 '@expo/log-box@57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
12496 dependencies:12417 dependencies:
12497 '@expo/dom-webview': 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)12418 '@expo/dom-webview': 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12498 anser: 1.4.1012419 anser: 1.4.10
12499 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)12420 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12500 react: 19.2.312421 react: 19.2.3
12501 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)12422 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
12502 stacktrace-parser: 0.1.1112423 stacktrace-parser: 0.1.11
1250312424
12504 '@expo/log-box@56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':12425 '@expo/log-box@57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
12505 dependencies:12426 dependencies:
12506 '@expo/dom-webview': 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)12427 '@expo/dom-webview': 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12507 anser: 1.4.1012428 anser: 1.4.10
12508 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)12429 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
12509 react: 19.2.612430 react: 19.2.6
12510 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)12431 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12511 stacktrace-parser: 0.1.1112432 stacktrace-parser: 0.1.11
12512 optional: true12433 optional: true
1251312434
12514 '@expo/metro-config@56.0.14(patch_hash=8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46)(bufferutil@4.1.0)(expo@56.0.12)(typescript@6.0.3)(utf-8-validate@6.0.6)':12435 '@expo/metro-config@57.0.12(patch_hash=96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2)(bufferutil@4.1.0)(expo@57.0.18)(typescript@6.0.3)(utf-8-validate@6.0.6)':
12515 dependencies:12436 dependencies:
12516 '@babel/code-frame': 7.29.712437 '@babel/code-frame': 7.29.7
12517 '@babel/core': 7.29.712438 '@babel/core': 7.29.7
12518 '@babel/generator': 7.29.712439 '@babel/generator': 7.29.7
12519 '@expo/config': 56.0.9(typescript@6.0.3)12440 '@expo/config': 57.0.9(typescript@6.0.3)
12520 '@expo/env': 2.3.012441 '@expo/env': 2.4.3
12521 '@expo/json-file': 10.2.012442 '@expo/json-file': 11.0.1
12522 '@expo/metro': 56.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)12443 '@expo/metro': 56.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12523 '@expo/require-utils': 56.1.3(typescript@6.0.3)12444 '@expo/require-utils': 57.0.5(typescript@6.0.3)
12524 '@expo/spawn-async': 1.8.012445 '@expo/spawn-async': 1.8.0
12525 '@jridgewell/gen-mapping': 0.3.1312446 '@jridgewell/gen-mapping': 0.3.13
12526 '@jridgewell/remapping': 2.3.512447 '@jridgewell/remapping': 2.3.5
...@@ -12530,21 +12451,21 @@ snapshots:...@@ -12530,21 +12451,21 @@ snapshots:
12530 debug: 4.4.312451 debug: 4.4.3
12531 getenv: 2.0.012452 getenv: 2.0.0
12532 glob: 13.0.612453 glob: 13.0.6
12533 hermes-parser: 0.33.312454 hermes-parser: 0.36.1
12534 jsc-safe-url: 0.2.412455 jsc-safe-url: 0.2.4
12535 lightningcss: 1.32.012456 lightningcss: 1.32.0
12536 picomatch: 4.0.412457 picomatch: 4.0.4
12537 postcss: 8.5.1512458 postcss: 8.5.15
12538 resolve-from: 5.0.012459 resolve-from: 5.0.0
12539 optionalDependencies:12460 optionalDependencies:
12540 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)12461 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12541 transitivePeerDependencies:12462 transitivePeerDependencies:
12542 - bufferutil12463 - bufferutil
12543 - supports-color12464 - supports-color
12544 - typescript12465 - typescript
12545 - utf-8-validate12466 - utf-8-validate
1254612467
12547 '@expo/metro-file-map@56.0.3':12468 '@expo/metro-file-map@57.0.2':
12548 dependencies:12469 dependencies:
12549 debug: 4.4.312470 debug: 4.4.3
12550 fb-watchman: 2.0.212471 fb-watchman: 2.0.2
...@@ -12555,83 +12476,83 @@ snapshots:...@@ -12555,83 +12476,83 @@ snapshots:
12555 transitivePeerDependencies:12476 transitivePeerDependencies:
12556 - supports-color12477 - supports-color
1255712478
12558 '@expo/metro-runtime@56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':12479 '@expo/metro-runtime@57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
12559 dependencies:12480 dependencies:
12560 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)12481 '@expo/log-box': 57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12561 anser: 1.4.1012482 anser: 1.4.10
12562 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)12483 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12563 pretty-format: 29.7.012484 pretty-format: 29.7.0
12564 react: 19.2.312485 react: 19.2.3
12565 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)12486 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
12566 stacktrace-parser: 0.1.1112487 stacktrace-parser: 0.1.11
12567 whatwg-fetch: 3.6.2012488 whatwg-fetch: 3.6.20
12568 optionalDependencies:12489 optionalDependencies:
12569 react-dom: 19.2.3(react@19.2.3)12490 react-dom: 19.2.3(react@19.2.3)
1257012491
12571 '@expo/metro-runtime@56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':12492 '@expo/metro-runtime@57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
12572 dependencies:12493 dependencies:
12573 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)12494 '@expo/log-box': 57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12574 anser: 1.4.1012495 anser: 1.4.10
12575 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)12496 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
12576 pretty-format: 29.7.012497 pretty-format: 29.7.0
12577 react: 19.2.612498 react: 19.2.6
12578 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)12499 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12579 stacktrace-parser: 0.1.1112500 stacktrace-parser: 0.1.11
12580 whatwg-fetch: 3.6.2012501 whatwg-fetch: 3.6.20
12581 optionalDependencies:12502 optionalDependencies:
12582 react-dom: 19.2.6(react@19.2.6)12503 react-dom: 19.2.6(react@19.2.6)
12583 optional: true12504 optional: true
1258412505
12585 '@expo/metro@56.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)':12506 '@expo/metro@56.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
12586 dependencies:12507 dependencies:
12587 metro: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)12508 metro: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12588 metro-babel-transformer: 0.84.412509 metro-babel-transformer: 0.84.5
12589 metro-cache: 0.84.412510 metro-cache: 0.84.5
12590 metro-cache-key: 0.84.412511 metro-cache-key: 0.84.5
12591 metro-config: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)12512 metro-config: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12592 metro-core: 0.84.412513 metro-core: 0.84.5
12593 metro-file-map: 0.84.412514 metro-file-map: 0.84.5
12594 metro-minify-terser: 0.84.412515 metro-minify-terser: 0.84.5
12595 metro-resolver: 0.84.412516 metro-resolver: 0.84.5
12596 metro-runtime: 0.84.412517 metro-runtime: 0.84.5
12597 metro-source-map: 0.84.412518 metro-source-map: 0.84.5
12598 metro-symbolicate: 0.84.412519 metro-symbolicate: 0.84.5
12599 metro-transform-plugins: 0.84.412520 metro-transform-plugins: 0.84.5
12600 metro-transform-worker: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)12521 metro-transform-worker: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
12601 transitivePeerDependencies:12522 transitivePeerDependencies:
12602 - bufferutil12523 - bufferutil
12603 - supports-color12524 - supports-color
12604 - utf-8-validate12525 - utf-8-validate
1260512526
12606 '@expo/osascript@2.6.0':12527 '@expo/osascript@2.7.1':
12607 dependencies:12528 dependencies:
12608 '@expo/spawn-async': 1.8.012529 '@expo/spawn-async': 1.8.0
1260912530
12610 '@expo/package-manager@1.12.1':12531 '@expo/package-manager@1.13.1':
12611 dependencies:12532 dependencies:
12612 '@expo/json-file': 10.2.012533 '@expo/json-file': 11.0.1
12613 '@expo/spawn-async': 1.8.012534 '@expo/spawn-async': 1.8.0
12614 chalk: 4.1.212535 chalk: 4.1.2
12615 npm-package-arg: 11.0.312536 npm-package-arg: 11.0.3
12616 ora: 3.4.012537 ora: 3.4.0
12617 resolve-workspace-root: 2.0.112538 resolve-workspace-root: 2.0.1
1261812539
12619 '@expo/plist@0.7.0':12540 '@expo/plist@0.8.1':
12620 dependencies:12541 dependencies:
12621 '@xmldom/xmldom': 0.8.1312542 '@xmldom/xmldom': 0.8.13
12622 base64-js: 1.5.112543 base64-js: 1.5.1
12623 xmlbuilder: 15.1.112544 xmlbuilder: 15.1.1
1262412545
12625 '@expo/prebuild-config@56.0.16(typescript@6.0.3)':12546 '@expo/prebuild-config@57.0.15(typescript@6.0.3)':
12626 dependencies:12547 dependencies:
12627 '@expo/config': 56.0.9(typescript@6.0.3)12548 '@expo/config': 57.0.9(typescript@6.0.3)
12628 '@expo/config-plugins': 56.0.9(typescript@6.0.3)12549 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
12629 '@expo/config-types': 56.0.612550 '@expo/config-types': 57.0.2
12630 '@expo/image-utils': 0.10.1(typescript@6.0.3)12551 '@expo/image-utils': 0.11.5(typescript@6.0.3)
12631 '@expo/json-file': 10.2.012552 '@expo/json-file': 11.0.1
12632 '@react-native/normalize-colors': 0.85.312553 '@react-native/normalize-colors': 0.86.3
12633 debug: 4.4.312554 debug: 4.4.3
12634 expo-modules-autolinking: 56.0.16(typescript@6.0.3)12555 expo-modules-autolinking: 57.0.12(typescript@6.0.3)
12635 resolve-from: 5.0.012556 resolve-from: 5.0.0
12636 semver: 7.8.512557 semver: 7.8.5
12637 transitivePeerDependencies:12558 transitivePeerDependencies:
...@@ -12648,7 +12569,7 @@ snapshots:...@@ -12648,7 +12569,7 @@ snapshots:
12648 transitivePeerDependencies:12569 transitivePeerDependencies:
12649 - supports-color12570 - supports-color
1265012571
12651 '@expo/require-utils@56.1.3(typescript@6.0.3)':12572 '@expo/require-utils@57.0.5(typescript@6.0.3)':
12652 dependencies:12573 dependencies:
12653 '@babel/code-frame': 7.29.712574 '@babel/code-frame': 7.29.7
12654 '@babel/core': 7.29.712575 '@babel/core': 7.29.7
...@@ -12658,38 +12579,36 @@ snapshots:...@@ -12658,38 +12579,36 @@ snapshots:
12658 transitivePeerDependencies:12579 transitivePeerDependencies:
12659 - supports-color12580 - supports-color
1266012581
12661 '@expo/router-server@56.0.14(@expo/metro-runtime@56.0.15)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo-server@56.0.5)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':12582 '@expo/router-server@57.0.8(@expo/metro-runtime@57.0.14)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-server@57.0.3)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
12662 dependencies:12583 dependencies:
12663 debug: 4.4.312584 debug: 4.4.3
12664 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)12585 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12665 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))12586 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
12666 expo-font: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)12587 expo-font: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12667 expo-server: 56.0.512588 expo-server: 57.0.3
12668 react: 19.2.312589 react: 19.2.3
12669 optionalDependencies:12590 optionalDependencies:
12670 '@expo/metro-runtime': 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)12591 '@expo/metro-runtime': 57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12671 expo-router: 56.2.11(1d12f8130d9562de288829ccb10045a7)
12672 react-dom: 19.2.3(react@19.2.3)12592 react-dom: 19.2.3(react@19.2.3)
12673 transitivePeerDependencies:12593 transitivePeerDependencies:
12674 - supports-color12594 - supports-color
1267512595
12676 '@expo/router-server@56.0.14(@expo/metro-runtime@56.0.15)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo-server@56.0.5)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':12596 '@expo/router-server@57.0.8(@expo/metro-runtime@57.0.14)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(expo-server@57.0.3)(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
12677 dependencies:12597 dependencies:
12678 debug: 4.4.312598 debug: 4.4.3
12679 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)12599 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
12680 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))12600 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
12681 expo-font: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)12601 expo-font: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12682 expo-server: 56.0.512602 expo-server: 57.0.3
12683 react: 19.2.612603 react: 19.2.6
12684 optionalDependencies:12604 optionalDependencies:
12685 '@expo/metro-runtime': 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)12605 '@expo/metro-runtime': 57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12686 expo-router: 56.2.11(5cef6fdc582974f4d93d5694873ec814)
12687 react-dom: 19.2.6(react@19.2.6)12606 react-dom: 19.2.6(react@19.2.6)
12688 transitivePeerDependencies:12607 transitivePeerDependencies:
12689 - supports-color12608 - supports-color
12690 optional: true12609 optional: true
1269112610
12692 '@expo/schema-utils@56.0.1': {}12611 '@expo/schema-utils@57.0.2': {}
1269312612
12694 '@expo/sdk-runtime-versions@1.0.0': {}12613 '@expo/sdk-runtime-versions@1.0.0': {}
1269512614
...@@ -12699,35 +12618,17 @@ snapshots:...@@ -12699,35 +12618,17 @@ snapshots:
1269912618
12700 '@expo/sudo-prompt@9.3.2': {}12619 '@expo/sudo-prompt@9.3.2': {}
1270112620
12702 '@expo/ui@56.0.18(32843e0c0883df8bccfa0b8323659df5)':12621 '@expo/ui@57.0.14(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
12703 dependencies:12622 dependencies:
12704 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)12623 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
12705 react: 19.2.6
12706 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
12707 sf-symbols-typescript: 2.2.0
12708 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
12709 optionalDependencies:
12710 '@babel/core': 7.29.7
12711 react-dom: 19.2.6(react@19.2.6)
12712 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12713 react-native-worklets: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
12714 transitivePeerDependencies:
12715 - '@types/react'
12716 - '@types/react-dom'
12717 optional: true
12718
12719 '@expo/ui@56.0.18(3cdc0dde9f93166d952f1e1bd0cb25c0)':
12720 dependencies:
12721 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)
12722 react: 19.2.312624 react: 19.2.3
12723 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)12625 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
12724 sf-symbols-typescript: 2.2.012626 sf-symbols-typescript: 2.2.0
12725 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)12627 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
12726 optionalDependencies:12628 optionalDependencies:
12727 '@babel/core': 7.29.712629 '@babel/core': 7.29.7
12728 react-dom: 19.2.3(react@19.2.3)12630 react-dom: 19.2.3(react@19.2.3)
12729 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)12631 react-native-worklets: 0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12730 react-native-worklets: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
12731 transitivePeerDependencies:12632 transitivePeerDependencies:
12732 - '@types/react'12633 - '@types/react'
12733 - '@types/react-dom'12634 - '@types/react-dom'
...@@ -12986,13 +12887,13 @@ snapshots:...@@ -12986,13 +12887,13 @@ snapshots:
12986 dependencies:12887 dependencies:
12987 jsbi: 4.3.212888 jsbi: 4.3.2
1298812889
12989 '@legendapp/list@3.3.5(patch_hash=064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':12890 '@legendapp/list@3.3.5(patch_hash=064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
12990 dependencies:12891 dependencies:
12991 react: 19.2.312892 react: 19.2.3
12992 use-sync-external-store: 1.6.0(react@19.2.3)12893 use-sync-external-store: 1.6.0(react@19.2.3)
12993 optionalDependencies:12894 optionalDependencies:
12994 react-dom: 19.2.3(react@19.2.3)12895 react-dom: 19.2.3(react@19.2.3)
12995 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)12896 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1299612897
12997 '@legendapp/list@3.3.5(patch_hash=064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':12898 '@legendapp/list@3.3.5(patch_hash=064530db83875fa671559a81ae42dc159726dc2dd6ec4c982da44ff7c7a74706)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
12998 dependencies:12899 dependencies:
...@@ -13643,58 +13544,18 @@ snapshots:...@@ -13643,58 +13544,18 @@ snapshots:
1364313544
13644 '@radix-ui/primitive@1.1.3': {}13545 '@radix-ui/primitive@1.1.3': {}
1364513546
13646 '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13647 dependencies:
13648 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13649 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13650 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
13651 '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.3)
13652 react: 19.2.3
13653 react-dom: 19.2.3(react@19.2.3)
13654 optionalDependencies:
13655 '@types/react': 19.2.16
13656 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13657 optional: true
13658
13659 '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13660 dependencies:
13661 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13662 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13663 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13664 '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.6)
13665 react: 19.2.6
13666 react-dom: 19.2.6(react@19.2.6)
13667 optionalDependencies:
13668 '@types/react': 19.2.16
13669 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13670 optional: true
13671
13672 '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.16)(react@19.2.3)':13547 '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.16)(react@19.2.3)':
13673 dependencies:13548 dependencies:
13674 react: 19.2.313549 react: 19.2.3
13675 optionalDependencies:13550 optionalDependencies:
13676 '@types/react': 19.2.1613551 '@types/react': 19.2.16
1367713552
13678 '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.16)(react@19.2.6)':
13679 dependencies:
13680 react: 19.2.6
13681 optionalDependencies:
13682 '@types/react': 19.2.16
13683 optional: true
13684
13685 '@radix-ui/react-context@1.1.2(@types/react@19.2.16)(react@19.2.3)':13553 '@radix-ui/react-context@1.1.2(@types/react@19.2.16)(react@19.2.3)':
13686 dependencies:13554 dependencies:
13687 react: 19.2.313555 react: 19.2.3
13688 optionalDependencies:13556 optionalDependencies:
13689 '@types/react': 19.2.1613557 '@types/react': 19.2.16
1369013558
13691 '@radix-ui/react-context@1.1.2(@types/react@19.2.16)(react@19.2.6)':
13692 dependencies:
13693 react: 19.2.6
13694 optionalDependencies:
13695 '@types/react': 19.2.16
13696 optional: true
13697
13698 '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':13559 '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13699 dependencies:13560 dependencies:
13700 '@radix-ui/primitive': 1.1.313561 '@radix-ui/primitive': 1.1.3
...@@ -13717,43 +13578,6 @@ snapshots:...@@ -13717,43 +13578,6 @@ snapshots:
13717 '@types/react': 19.2.1613578 '@types/react': 19.2.16
13718 '@types/react-dom': 19.2.3(@types/react@19.2.16)13579 '@types/react-dom': 19.2.3(@types/react@19.2.16)
1371913580
13720 '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13721 dependencies:
13722 '@radix-ui/primitive': 1.1.3
13723 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13724 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13725 '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13726 '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.16)(react@19.2.6)
13727 '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13728 '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13729 '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13730 '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13731 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13732 '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.6)
13733 '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.16)(react@19.2.6)
13734 aria-hidden: 1.2.6
13735 react: 19.2.6
13736 react-dom: 19.2.6(react@19.2.6)
13737 react-remove-scroll: 2.7.2(@types/react@19.2.16)(react@19.2.6)
13738 optionalDependencies:
13739 '@types/react': 19.2.16
13740 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13741 optional: true
13742
13743 '@radix-ui/react-direction@1.1.1(@types/react@19.2.16)(react@19.2.3)':
13744 dependencies:
13745 react: 19.2.3
13746 optionalDependencies:
13747 '@types/react': 19.2.16
13748 optional: true
13749
13750 '@radix-ui/react-direction@1.1.1(@types/react@19.2.16)(react@19.2.6)':
13751 dependencies:
13752 react: 19.2.6
13753 optionalDependencies:
13754 '@types/react': 19.2.16
13755 optional: true
13756
13757 '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':13581 '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13758 dependencies:13582 dependencies:
13759 '@radix-ui/primitive': 1.1.313583 '@radix-ui/primitive': 1.1.3
...@@ -13767,33 +13591,12 @@ snapshots:...@@ -13767,33 +13591,12 @@ snapshots:
13767 '@types/react': 19.2.1613591 '@types/react': 19.2.16
13768 '@types/react-dom': 19.2.3(@types/react@19.2.16)13592 '@types/react-dom': 19.2.3(@types/react@19.2.16)
1376913593
13770 '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13771 dependencies:
13772 '@radix-ui/primitive': 1.1.3
13773 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13774 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13775 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13776 '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13777 react: 19.2.6
13778 react-dom: 19.2.6(react@19.2.6)
13779 optionalDependencies:
13780 '@types/react': 19.2.16
13781 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13782 optional: true
13783
13784 '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.16)(react@19.2.3)':13594 '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.16)(react@19.2.3)':
13785 dependencies:13595 dependencies:
13786 react: 19.2.313596 react: 19.2.3
13787 optionalDependencies:13597 optionalDependencies:
13788 '@types/react': 19.2.1613598 '@types/react': 19.2.16
1378913599
13790 '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.16)(react@19.2.6)':
13791 dependencies:
13792 react: 19.2.6
13793 optionalDependencies:
13794 '@types/react': 19.2.16
13795 optional: true
13796
13797 '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':13600 '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13798 dependencies:13601 dependencies:
13799 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)13602 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)
...@@ -13805,18 +13608,6 @@ snapshots:...@@ -13805,18 +13608,6 @@ snapshots:
13805 '@types/react': 19.2.1613608 '@types/react': 19.2.16
13806 '@types/react-dom': 19.2.3(@types/react@19.2.16)13609 '@types/react-dom': 19.2.3(@types/react@19.2.16)
1380713610
13808 '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13809 dependencies:
13810 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13811 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13812 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13813 react: 19.2.6
13814 react-dom: 19.2.6(react@19.2.6)
13815 optionalDependencies:
13816 '@types/react': 19.2.16
13817 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13818 optional: true
13819
13820 '@radix-ui/react-id@1.1.1(@types/react@19.2.16)(react@19.2.3)':13611 '@radix-ui/react-id@1.1.1(@types/react@19.2.16)(react@19.2.3)':
13821 dependencies:13612 dependencies:
13822 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.3)13613 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.3)
...@@ -13824,14 +13615,6 @@ snapshots:...@@ -13824,14 +13615,6 @@ snapshots:
13824 optionalDependencies:13615 optionalDependencies:
13825 '@types/react': 19.2.1613616 '@types/react': 19.2.16
1382613617
13827 '@radix-ui/react-id@1.1.1(@types/react@19.2.16)(react@19.2.6)':
13828 dependencies:
13829 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13830 react: 19.2.6
13831 optionalDependencies:
13832 '@types/react': 19.2.16
13833 optional: true
13834
13835 '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':13618 '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13836 dependencies:13619 dependencies:
13837 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)13620 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
...@@ -13842,18 +13625,7 @@ snapshots:...@@ -13842,18 +13625,7 @@ snapshots:
13842 '@types/react': 19.2.1613625 '@types/react': 19.2.16
13843 '@types/react-dom': 19.2.3(@types/react@19.2.16)13626 '@types/react-dom': 19.2.3(@types/react@19.2.16)
1384413627
13845 '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':13628 '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13846 dependencies:
13847 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13848 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13849 react: 19.2.6
13850 react-dom: 19.2.6(react@19.2.6)
13851 optionalDependencies:
13852 '@types/react': 19.2.16
13853 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13854 optional: true
13855
13856 '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13857 dependencies:13629 dependencies:
13858 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)13630 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13859 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.3)13631 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.3)
...@@ -13863,17 +13635,6 @@ snapshots:...@@ -13863,17 +13635,6 @@ snapshots:
13863 '@types/react': 19.2.1613635 '@types/react': 19.2.16
13864 '@types/react-dom': 19.2.3(@types/react@19.2.16)13636 '@types/react-dom': 19.2.3(@types/react@19.2.16)
1386513637
13866 '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13867 dependencies:
13868 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13869 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13870 react: 19.2.6
13871 react-dom: 19.2.6(react@19.2.6)
13872 optionalDependencies:
13873 '@types/react': 19.2.16
13874 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13875 optional: true
13876
13877 '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':13638 '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13878 dependencies:13639 dependencies:
13879 '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.3)13640 '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.3)
...@@ -13883,52 +13644,6 @@ snapshots:...@@ -13883,52 +13644,6 @@ snapshots:
13883 '@types/react': 19.2.1613644 '@types/react': 19.2.16
13884 '@types/react-dom': 19.2.3(@types/react@19.2.16)13645 '@types/react-dom': 19.2.3(@types/react@19.2.16)
1388513646
13886 '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13887 dependencies:
13888 '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.6)
13889 react: 19.2.6
13890 react-dom: 19.2.6(react@19.2.6)
13891 optionalDependencies:
13892 '@types/react': 19.2.16
13893 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13894 optional: true
13895
13896 '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13897 dependencies:
13898 '@radix-ui/primitive': 1.1.3
13899 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
13900 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13901 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13902 '@radix-ui/react-direction': 1.1.1(@types/react@19.2.16)(react@19.2.3)
13903 '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.3)
13904 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
13905 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.3)
13906 '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.16)(react@19.2.3)
13907 react: 19.2.3
13908 react-dom: 19.2.3(react@19.2.3)
13909 optionalDependencies:
13910 '@types/react': 19.2.16
13911 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13912 optional: true
13913
13914 '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13915 dependencies:
13916 '@radix-ui/primitive': 1.1.3
13917 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13918 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13919 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13920 '@radix-ui/react-direction': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13921 '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13922 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13923 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13924 '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.16)(react@19.2.6)
13925 react: 19.2.6
13926 react-dom: 19.2.6(react@19.2.6)
13927 optionalDependencies:
13928 '@types/react': 19.2.16
13929 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13930 optional: true
13931
13932 '@radix-ui/react-slot@1.2.3(@types/react@19.2.16)(react@19.2.3)':13647 '@radix-ui/react-slot@1.2.3(@types/react@19.2.16)(react@19.2.3)':
13933 dependencies:13648 dependencies:
13934 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)13649 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)
...@@ -13936,77 +13651,12 @@ snapshots:...@@ -13936,77 +13651,12 @@ snapshots:
13936 optionalDependencies:13651 optionalDependencies:
13937 '@types/react': 19.2.1613652 '@types/react': 19.2.16
1393813653
13939 '@radix-ui/react-slot@1.2.3(@types/react@19.2.16)(react@19.2.6)':
13940 dependencies:
13941 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13942 react: 19.2.6
13943 optionalDependencies:
13944 '@types/react': 19.2.16
13945 optional: true
13946
13947 '@radix-ui/react-slot@1.2.4(@types/react@19.2.16)(react@19.2.3)':
13948 dependencies:
13949 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13950 react: 19.2.3
13951 optionalDependencies:
13952 '@types/react': 19.2.16
13953 optional: true
13954
13955 '@radix-ui/react-slot@1.2.4(@types/react@19.2.16)(react@19.2.6)':
13956 dependencies:
13957 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13958 react: 19.2.6
13959 optionalDependencies:
13960 '@types/react': 19.2.16
13961 optional: true
13962
13963 '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
13964 dependencies:
13965 '@radix-ui/primitive': 1.1.3
13966 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.3)
13967 '@radix-ui/react-direction': 1.1.1(@types/react@19.2.16)(react@19.2.3)
13968 '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.3)
13969 '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
13970 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
13971 '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
13972 '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.16)(react@19.2.3)
13973 react: 19.2.3
13974 react-dom: 19.2.3(react@19.2.3)
13975 optionalDependencies:
13976 '@types/react': 19.2.16
13977 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13978 optional: true
13979
13980 '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13981 dependencies:
13982 '@radix-ui/primitive': 1.1.3
13983 '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.6)
13984 '@radix-ui/react-direction': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13985 '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.6)
13986 '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13987 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13988 '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
13989 '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.16)(react@19.2.6)
13990 react: 19.2.6
13991 react-dom: 19.2.6(react@19.2.6)
13992 optionalDependencies:
13993 '@types/react': 19.2.16
13994 '@types/react-dom': 19.2.3(@types/react@19.2.16)
13995 optional: true
13996
13997 '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.16)(react@19.2.3)':13654 '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.16)(react@19.2.3)':
13998 dependencies:13655 dependencies:
13999 react: 19.2.313656 react: 19.2.3
14000 optionalDependencies:13657 optionalDependencies:
14001 '@types/react': 19.2.1613658 '@types/react': 19.2.16
1400213659
14003 '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.16)(react@19.2.6)':
14004 dependencies:
14005 react: 19.2.6
14006 optionalDependencies:
14007 '@types/react': 19.2.16
14008 optional: true
14009
14010 '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.16)(react@19.2.3)':13660 '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.16)(react@19.2.3)':
14011 dependencies:13661 dependencies:
14012 '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.16)(react@19.2.3)13662 '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.16)(react@19.2.3)
...@@ -14015,15 +13665,6 @@ snapshots:...@@ -14015,15 +13665,6 @@ snapshots:
14015 optionalDependencies:13665 optionalDependencies:
14016 '@types/react': 19.2.1613666 '@types/react': 19.2.16
1401713667
14018 '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.16)(react@19.2.6)':
14019 dependencies:
14020 '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.16)(react@19.2.6)
14021 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.6)
14022 react: 19.2.6
14023 optionalDependencies:
14024 '@types/react': 19.2.16
14025 optional: true
14026
14027 '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.16)(react@19.2.3)':13668 '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.16)(react@19.2.3)':
14028 dependencies:13669 dependencies:
14029 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.3)13670 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.3)
...@@ -14031,14 +13672,6 @@ snapshots:...@@ -14031,14 +13672,6 @@ snapshots:
14031 optionalDependencies:13672 optionalDependencies:
14032 '@types/react': 19.2.1613673 '@types/react': 19.2.16
1403313674
14034 '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.16)(react@19.2.6)':
14035 dependencies:
14036 '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.6)
14037 react: 19.2.6
14038 optionalDependencies:
14039 '@types/react': 19.2.16
14040 optional: true
14041
14042 '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.16)(react@19.2.3)':13675 '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.16)(react@19.2.3)':
14043 dependencies:13676 dependencies:
14044 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.3)13677 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.3)
...@@ -14046,27 +13679,12 @@ snapshots:...@@ -14046,27 +13679,12 @@ snapshots:
14046 optionalDependencies:13679 optionalDependencies:
14047 '@types/react': 19.2.1613680 '@types/react': 19.2.16
1404813681
14049 '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.16)(react@19.2.6)':
14050 dependencies:
14051 '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.6)
14052 react: 19.2.6
14053 optionalDependencies:
14054 '@types/react': 19.2.16
14055 optional: true
14056
14057 '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.16)(react@19.2.3)':13682 '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.16)(react@19.2.3)':
14058 dependencies:13683 dependencies:
14059 react: 19.2.313684 react: 19.2.3
14060 optionalDependencies:13685 optionalDependencies:
14061 '@types/react': 19.2.1613686 '@types/react': 19.2.16
1406213687
14063 '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.16)(react@19.2.6)':
14064 dependencies:
14065 react: 19.2.6
14066 optionalDependencies:
14067 '@types/react': 19.2.16
14068 optional: true
14069
14070 '@react-grab/cli@0.1.44':13688 '@react-grab/cli@0.1.44':
14071 dependencies:13689 dependencies:
14072 agent-install: 0.0.513690 agent-install: 0.0.5
...@@ -14078,34 +13696,28 @@ snapshots:...@@ -14078,34 +13696,28 @@ snapshots:
14078 prompts: 2.4.213696 prompts: 2.4.2
14079 tinyexec: 1.2.413697 tinyexec: 1.2.4
1408013698
14081 '@react-native-masked-view/masked-view@0.3.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':13699 '@react-native-masked-view/masked-view@0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
14082 dependencies:13700 dependencies:
14083 react: 19.2.313701 react: 19.2.3
14084 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13702 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
14085 optional: true
14086
14087 '@react-native-masked-view/masked-view@0.3.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
14088 dependencies:
14089 react: 19.2.6
14090 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
14091 optional: true13703 optional: true
1409213704
14093 '@react-native-menu/menu@2.0.0(patch_hash=c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a0045)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':13705 '@react-native-menu/menu@2.0.0(patch_hash=c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a0045)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
14094 dependencies:13706 dependencies:
14095 react: 19.2.313707 react: 19.2.3
14096 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13708 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1409713709
14098 '@react-native/assets-registry@0.85.3': {}13710 '@react-native/assets-registry@0.86.3': {}
1409913711
14100 '@react-native/babel-plugin-codegen@0.85.3(@babel/core@7.29.7)':13712 '@react-native/babel-plugin-codegen@0.86.3(@babel/core@7.29.7)':
14101 dependencies:13713 dependencies:
14102 '@babel/traverse': 7.29.713714 '@babel/traverse': 7.29.7
14103 '@react-native/codegen': 0.85.3(@babel/core@7.29.7)13715 '@react-native/codegen': 0.86.3(@babel/core@7.29.7)
14104 transitivePeerDependencies:13716 transitivePeerDependencies:
14105 - '@babel/core'13717 - '@babel/core'
14106 - supports-color13718 - supports-color
1410713719
14108 '@react-native/babel-preset@0.85.3(@babel/core@7.29.7)':13720 '@react-native/babel-preset@0.86.3(@babel/core@7.29.7)':
14109 dependencies:13721 dependencies:
14110 '@babel/core': 7.29.713722 '@babel/core': 7.29.7
14111 '@babel/plugin-proposal-export-default-from': 7.29.7(@babel/core@7.29.7)13723 '@babel/plugin-proposal-export-default-from': 7.29.7(@babel/core@7.29.7)
...@@ -14136,26 +13748,26 @@ snapshots:...@@ -14136,26 +13748,26 @@ snapshots:
14136 '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7)13748 '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7)
14137 '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)13749 '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
14138 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)13750 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
14139 '@react-native/babel-plugin-codegen': 0.85.3(@babel/core@7.29.7)13751 '@react-native/babel-plugin-codegen': 0.86.3(@babel/core@7.29.7)
14140 babel-plugin-syntax-hermes-parser: 0.33.313752 babel-plugin-syntax-hermes-parser: 0.36.0
14141 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7)13753 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7)
14142 react-refresh: 0.14.213754 react-refresh: 0.14.2
14143 transitivePeerDependencies:13755 transitivePeerDependencies:
14144 - supports-color13756 - supports-color
1414513757
14146 '@react-native/codegen@0.85.3(@babel/core@7.29.7)':13758 '@react-native/codegen@0.86.3(@babel/core@7.29.7)':
14147 dependencies:13759 dependencies:
14148 '@babel/core': 7.29.713760 '@babel/core': 7.29.7
14149 '@babel/parser': 7.29.713761 '@babel/parser': 7.29.7
14150 hermes-parser: 0.33.313762 hermes-parser: 0.36.0
14151 invariant: 2.2.413763 invariant: 2.2.4
14152 nullthrows: 1.1.113764 nullthrows: 1.1.1
14153 tinyglobby: 0.2.1713765 tinyglobby: 0.2.17
14154 yargs: 17.7.213766 yargs: 17.7.2
1415513767
14156 '@react-native/community-cli-plugin@0.85.3(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)':13768 '@react-native/community-cli-plugin@0.86.3(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
14157 dependencies:13769 dependencies:
14158 '@react-native/dev-middleware': 0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)13770 '@react-native/dev-middleware': 0.86.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
14159 debug: 4.4.313771 debug: 4.4.3
14160 invariant: 2.2.413772 invariant: 2.2.4
14161 metro: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)13773 metro: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
...@@ -14163,15 +13775,15 @@ snapshots:...@@ -14163,15 +13775,15 @@ snapshots:
14163 metro-core: 0.84.413775 metro-core: 0.84.4
14164 semver: 7.8.513776 semver: 7.8.5
14165 optionalDependencies:13777 optionalDependencies:
14166 '@react-native/metro-config': 0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)13778 '@react-native/metro-config': 0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)
14167 transitivePeerDependencies:13779 transitivePeerDependencies:
14168 - bufferutil13780 - bufferutil
14169 - supports-color13781 - supports-color
14170 - utf-8-validate13782 - utf-8-validate
1417113783
14172 '@react-native/debugger-frontend@0.85.3': {}13784 '@react-native/debugger-frontend@0.86.3': {}
1417313785
14174 '@react-native/debugger-shell@0.85.3':13786 '@react-native/debugger-shell@0.86.3':
14175 dependencies:13787 dependencies:
14176 cross-spawn: 7.0.613788 cross-spawn: 7.0.6
14177 debug: 4.4.313789 debug: 4.4.3
...@@ -14179,11 +13791,11 @@ snapshots:...@@ -14179,11 +13791,11 @@ snapshots:
14179 transitivePeerDependencies:13791 transitivePeerDependencies:
14180 - supports-color13792 - supports-color
1418113793
14182 '@react-native/dev-middleware@0.85.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)':13794 '@react-native/dev-middleware@0.86.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
14183 dependencies:13795 dependencies:
14184 '@isaacs/ttlcache': 1.4.113796 '@isaacs/ttlcache': 1.4.1
14185 '@react-native/debugger-frontend': 0.85.313797 '@react-native/debugger-frontend': 0.86.3
14186 '@react-native/debugger-shell': 0.85.313798 '@react-native/debugger-shell': 0.86.3
14187 chrome-launcher: 0.15.213799 chrome-launcher: 0.15.2
14188 chromium-edge-launcher: 0.3.013800 chromium-edge-launcher: 0.3.0
14189 connect: 3.7.013801 connect: 3.7.0
...@@ -14198,48 +13810,48 @@ snapshots:...@@ -14198,48 +13810,48 @@ snapshots:
14198 - supports-color13810 - supports-color
14199 - utf-8-validate13811 - utf-8-validate
1420013812
14201 '@react-native/gradle-plugin@0.85.3(patch_hash=c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784)': {}13813 '@react-native/gradle-plugin@0.86.3': {}
1420213814
14203 '@react-native/js-polyfills@0.85.3': {}13815 '@react-native/js-polyfills@0.86.3': {}
1420413816
14205 '@react-native/metro-babel-transformer@0.85.3(@babel/core@7.29.7)':13817 '@react-native/metro-babel-transformer@0.86.3(@babel/core@7.29.7)':
14206 dependencies:13818 dependencies:
14207 '@babel/core': 7.29.713819 '@babel/core': 7.29.7
14208 '@react-native/babel-preset': 0.85.3(@babel/core@7.29.7)13820 '@react-native/babel-preset': 0.86.3(@babel/core@7.29.7)
14209 hermes-parser: 0.33.313821 hermes-parser: 0.36.0
14210 nullthrows: 1.1.113822 nullthrows: 1.1.1
14211 transitivePeerDependencies:13823 transitivePeerDependencies:
14212 - supports-color13824 - supports-color
1421313825
14214 '@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)':13826 '@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)':
14215 dependencies:13827 dependencies:
14216 '@react-native/js-polyfills': 0.85.313828 '@react-native/js-polyfills': 0.86.3
14217 '@react-native/metro-babel-transformer': 0.85.3(@babel/core@7.29.7)13829 '@react-native/metro-babel-transformer': 0.86.3(@babel/core@7.29.7)
14218 metro-config: 0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)13830 metro-config: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
14219 metro-runtime: 0.84.413831 metro-runtime: 0.84.5
14220 transitivePeerDependencies:13832 transitivePeerDependencies:
14221 - '@babel/core'13833 - '@babel/core'
14222 - bufferutil13834 - bufferutil
14223 - supports-color13835 - supports-color
14224 - utf-8-validate13836 - utf-8-validate
1422513837
14226 '@react-native/normalize-colors@0.85.3': {}13838 '@react-native/normalize-colors@0.86.3': {}
1422713839
14228 '@react-native/virtualized-lists@0.85.3(@types/react@19.2.16)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':13840 '@react-native/virtualized-lists@0.86.3(@types/react@19.2.16)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
14229 dependencies:13841 dependencies:
14230 invariant: 2.2.413842 invariant: 2.2.4
14231 nullthrows: 1.1.113843 nullthrows: 1.1.1
14232 react: 19.2.313844 react: 19.2.3
14233 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13845 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
14234 optionalDependencies:13846 optionalDependencies:
14235 '@types/react': 19.2.1613847 '@types/react': 19.2.16
1423613848
14237 '@react-native/virtualized-lists@0.85.3(@types/react@19.2.16)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':13849 '@react-native/virtualized-lists@0.86.3(@types/react@19.2.16)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)':
14238 dependencies:13850 dependencies:
14239 invariant: 2.2.413851 invariant: 2.2.4
14240 nullthrows: 1.1.113852 nullthrows: 1.1.1
14241 react: 19.2.613853 react: 19.2.6
14242 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)13854 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
14243 optionalDependencies:13855 optionalDependencies:
14244 '@types/react': 19.2.1613856 '@types/react': 19.2.16
14245 optional: true13857 optional: true
...@@ -14256,40 +13868,40 @@ snapshots:...@@ -14256,40 +13868,40 @@ snapshots:
14256 use-latest-callback: 0.2.6(react@19.2.3)13868 use-latest-callback: 0.2.6(react@19.2.3)
14257 use-sync-external-store: 1.6.0(react@19.2.3)13869 use-sync-external-store: 1.6.0(react@19.2.3)
1425813870
14259 '@react-navigation/elements@2.9.26(c6a2ad0e2c930f8e3896e77c3ba11bc4)':13871 '@react-navigation/elements@2.9.26(c10301b6e0c42fc6434d2b643197a81e)':
14260 dependencies:13872 dependencies:
14261 '@react-navigation/native': 7.3.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)13873 '@react-navigation/native': 7.3.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14262 color: 4.2.313874 color: 4.2.3
14263 react: 19.2.313875 react: 19.2.3
14264 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13876 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
14265 react-native-safe-area-context: 5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)13877 react-native-safe-area-context: 5.7.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14266 use-latest-callback: 0.2.6(react@19.2.3)13878 use-latest-callback: 0.2.6(react@19.2.3)
14267 use-sync-external-store: 1.6.0(react@19.2.3)13879 use-sync-external-store: 1.6.0(react@19.2.3)
14268 optionalDependencies:13880 optionalDependencies:
14269 '@react-native-masked-view/masked-view': 0.3.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)13881 '@react-native-masked-view/masked-view': 0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
1427013882
14271 '@react-navigation/native-stack@7.17.6(patch_hash=e667c3cef8c78bb9ff4882ee5bd23a432247b843060a9499eb5f07e9e2295552)(8effe605a545f8a17acafbaed58f0e86)':13883 '@react-navigation/native-stack@7.17.6(patch_hash=e667c3cef8c78bb9ff4882ee5bd23a432247b843060a9499eb5f07e9e2295552)(df02ad16d8d764efad8e903a73894296)':
14272 dependencies:13884 dependencies:
14273 '@react-navigation/elements': 2.9.26(c6a2ad0e2c930f8e3896e77c3ba11bc4)13885 '@react-navigation/elements': 2.9.26(c10301b6e0c42fc6434d2b643197a81e)
14274 '@react-navigation/native': 7.3.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)13886 '@react-navigation/native': 7.3.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14275 color: 4.2.313887 color: 4.2.3
14276 react: 19.2.313888 react: 19.2.3
14277 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13889 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
14278 react-native-safe-area-context: 5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)13890 react-native-safe-area-context: 5.7.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14279 react-native-screens: 4.25.2(patch_hash=7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)13891 react-native-screens: 4.26.2(patch_hash=11566900d0c90514867ede5a2333ba412ab3b5a532ba1955e6306fff8b12de1a)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14280 sf-symbols-typescript: 2.2.013892 sf-symbols-typescript: 2.2.0
14281 warn-once: 0.1.113893 warn-once: 0.1.1
14282 transitivePeerDependencies:13894 transitivePeerDependencies:
14283 - '@react-native-masked-view/masked-view'13895 - '@react-native-masked-view/masked-view'
1428413896
14285 '@react-navigation/native@7.3.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':13897 '@react-navigation/native@7.3.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
14286 dependencies:13898 dependencies:
14287 '@react-navigation/core': 7.21.2(react@19.2.3)13899 '@react-navigation/core': 7.21.2(react@19.2.3)
14288 escape-string-regexp: 4.0.013900 escape-string-regexp: 4.0.0
14289 fast-deep-equal: 3.1.313901 fast-deep-equal: 3.1.3
14290 nanoid: 3.3.1213902 nanoid: 3.3.12
14291 react: 19.2.313903 react: 19.2.3
14292 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13904 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
14293 standard-navigation: 0.0.713905 standard-navigation: 0.0.7
14294 use-latest-callback: 0.2.6(react@19.2.3)13906 use-latest-callback: 0.2.6(react@19.2.3)
1429513907
...@@ -14629,25 +14241,25 @@ snapshots:...@@ -14629,25 +14241,25 @@ snapshots:
14629 dependencies:14241 dependencies:
14630 defer-to-connect: 2.0.114242 defer-to-connect: 2.0.1
1463114243
14632 '@t3tools/mobile-markdown-text@file:apps/mobile/modules/t3-markdown-text(ed3009b8f2424467288a00b38bef28fe)':14244 '@t3tools/mobile-markdown-text@file:apps/mobile/modules/t3-markdown-text(8819e1ff552fc19b333a2dfaf02d39db)':
14633 dependencies:14245 dependencies:
14634 expo-asset: 56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)14246 expo-asset: 57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
14635 expo-clipboard: 56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)14247 expo-clipboard: 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14636 expo-haptics: 56.0.3(expo@56.0.12)14248 expo-haptics: 57.0.2(expo@57.0.18)
14637 expo-symbols: 56.0.6(expo-font@56.0.7)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)14249 expo-symbols: 57.0.2(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
14638 react: 19.2.314250 react: 19.2.3
14639 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)14251 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
14640 react-native-nitro-markdown: 0.5.8(react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native-svg@15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)14252 react-native-nitro-markdown: 0.5.8(react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native-svg@15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
1464114253
14642 '@t3tools/mobile-review-diff-native@file:apps/mobile/modules/t3-review-diff': {}14254 '@t3tools/mobile-review-diff-native@file:apps/mobile/modules/t3-review-diff': {}
1464314255
14644 '@t3tools/mobile-terminal-native@file:apps/mobile/modules/t3-terminal': {}14256 '@t3tools/mobile-terminal-native@file:apps/mobile/modules/t3-terminal': {}
1464514257
14646 '@tabler/icons-react-native@3.44.0(react-native-svg@15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react@19.2.3)':14258 '@tabler/icons-react-native@3.44.0(react-native-svg@15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react@19.2.3)':
14647 dependencies:14259 dependencies:
14648 '@tabler/icons': 3.44.014260 '@tabler/icons': 3.44.0
14649 react: 19.2.314261 react: 19.2.3
14650 react-native-svg: 15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)14262 react-native-svg: 15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
1465114263
14652 '@tabler/icons@3.44.0': {}14264 '@tabler/icons@3.44.0': {}
1465314265
...@@ -14893,16 +14505,6 @@ snapshots:...@@ -14893,16 +14505,6 @@ snapshots:
14893 picocolors: 1.1.114505 picocolors: 1.1.1
14894 pretty-format: 27.5.114506 pretty-format: 27.5.1
1489514507
14896 '@testing-library/jest-dom@6.9.1':
14897 dependencies:
14898 '@adobe/css-tools': 4.5.0
14899 aria-query: 5.3.2
14900 css.escape: 1.5.1
14901 dom-accessibility-api: 0.6.3
14902 picocolors: 1.1.1
14903 redent: 3.0.0
14904 optional: true
14905
14906 '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)':14508 '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)':
14907 dependencies:14509 dependencies:
14908 '@testing-library/dom': 10.4.114510 '@testing-library/dom': 10.4.1
...@@ -15378,6 +14980,8 @@ snapshots:...@@ -15378,6 +14980,8 @@ snapshots:
1537814980
15379 agent-base@7.1.4: {}14981 agent-base@7.1.4: {}
1538014982
14983 agent-cli-detector@0.1.6: {}
14984
15381 agent-install@0.0.5:14985 agent-install@0.0.5:
15382 dependencies:14986 dependencies:
15383 '@iarna/toml': 2.2.514987 '@iarna/toml': 2.2.5
...@@ -15419,7 +15023,7 @@ snapshots:...@@ -15419,7 +15023,7 @@ snapshots:
15419 json-schema-traverse: 1.0.015023 json-schema-traverse: 1.0.0
15420 require-from-string: 2.0.215024 require-from-string: 2.0.2
1542115025
15422 alchemy@2.0.0-beta.65(75567d8add6e3362e26fe00f83a97bee):15026 alchemy@2.0.0-beta.65(00c448ade6580e73d10ccfe1b32cee97):
15423 dependencies:15027 dependencies:
15424 '@alchemy.run/node-utils': 0.0.515028 '@alchemy.run/node-utils': 0.0.5
15425 '@aws-sdk/credential-providers': 3.1062.015029 '@aws-sdk/credential-providers': 3.1062.0
...@@ -15464,7 +15068,7 @@ snapshots:...@@ -15464,7 +15068,7 @@ snapshots:
15464 '@effect/platform-node': 4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(ioredis@5.11.0)(utf-8-validate@6.0.6)15068 '@effect/platform-node': 4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(ioredis@5.11.0)(utf-8-validate@6.0.6)
15465 '@effect/sql-pg': 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15069 '@effect/sql-pg': 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
15466 drizzle-kit: 1.0.0-rc.415070 drizzle-kit: 1.0.0-rc.4
15467 drizzle-orm: 1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3)15071 drizzle-orm: 1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3)
15468 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'15072 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
15469 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)15073 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
15470 transitivePeerDependencies:15074 transitivePeerDependencies:
...@@ -15762,70 +15366,21 @@ snapshots:...@@ -15762,70 +15366,21 @@ snapshots:
1576215366
15763 babel-plugin-react-native-web@0.21.2: {}15367 babel-plugin-react-native-web@0.21.2: {}
1576415368
15765 babel-plugin-syntax-hermes-parser@0.33.3:15369 babel-plugin-syntax-hermes-parser@0.36.0:
15766 dependencies:15370 dependencies:
15767 hermes-parser: 0.33.315371 hermes-parser: 0.36.0
1576815372
15769 babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.29.7):15373 babel-plugin-syntax-hermes-parser@0.36.1:
15770 dependencies:15374 dependencies:
15771 '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7)15375 hermes-parser: 0.36.1
15772 transitivePeerDependencies:
15773 - '@babel/core'
1577415376
15775 babel-preset-expo@56.0.14(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@56.0.19)(expo@56.0.12)(react-refresh@0.14.2):15377 babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.29.7):
15776 dependencies:15378 dependencies:
15777 '@babel/generator': 7.29.715379 '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7)
15778 '@babel/helper-module-imports': 7.29.7
15779 '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7)
15780 '@babel/plugin-proposal-export-default-from': 7.29.7(@babel/core@7.29.7)
15781 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7)
15782 '@babel/plugin-syntax-export-default-from': 7.29.7(@babel/core@7.29.7)
15783 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7)
15784 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7)
15785 '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7)
15786 '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7)
15787 '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7)
15788 '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7)
15789 '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7)
15790 '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7)
15791 '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7)
15792 '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7)
15793 '@babel/plugin-transform-flow-strip-types': 7.29.7(@babel/core@7.29.7)
15794 '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7)
15795 '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7)
15796 '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7)
15797 '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7)
15798 '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7)
15799 '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7)
15800 '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7)
15801 '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7)
15802 '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7)
15803 '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7)
15804 '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7)
15805 '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7)
15806 '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.7)
15807 '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7)
15808 '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7)
15809 '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7)
15810 '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
15811 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
15812 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)
15813 '@react-native/babel-plugin-codegen': 0.85.3(@babel/core@7.29.7)
15814 babel-plugin-react-compiler: 1.0.0
15815 babel-plugin-react-native-web: 0.21.2
15816 babel-plugin-syntax-hermes-parser: 0.33.3
15817 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7)
15818 debug: 4.4.3
15819 react-refresh: 0.14.2
15820 optionalDependencies:
15821 '@babel/runtime': 7.29.7
15822 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)
15823 expo-widgets: 56.0.19(3cdc0dde9f93166d952f1e1bd0cb25c0)
15824 transitivePeerDependencies:15380 transitivePeerDependencies:
15825 - '@babel/core'15381 - '@babel/core'
15826 - supports-color
1582715382
15828 babel-preset-expo@56.0.15(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@56.0.19)(expo@56.0.12)(react-refresh@0.14.2):15383 babel-preset-expo@57.0.9(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@57.0.15)(expo@57.0.18)(react-refresh@0.14.2):
15829 dependencies:15384 dependencies:
15830 '@babel/generator': 7.29.715385 '@babel/generator': 7.29.7
15831 '@babel/helper-module-imports': 7.29.715386 '@babel/helper-module-imports': 7.29.7
...@@ -15863,17 +15418,17 @@ snapshots:...@@ -15863,17 +15418,17 @@ snapshots:
15863 '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)15418 '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
15864 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)15419 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
15865 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)15420 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)
15866 '@react-native/babel-plugin-codegen': 0.85.3(@babel/core@7.29.7)15421 '@react-native/babel-plugin-codegen': 0.86.3(@babel/core@7.29.7)
15867 babel-plugin-react-compiler: 1.0.015422 babel-plugin-react-compiler: 1.0.0
15868 babel-plugin-react-native-web: 0.21.215423 babel-plugin-react-native-web: 0.21.2
15869 babel-plugin-syntax-hermes-parser: 0.33.315424 babel-plugin-syntax-hermes-parser: 0.36.1
15870 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7)15425 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7)
15871 debug: 4.4.315426 debug: 4.4.3
15872 react-refresh: 0.14.215427 react-refresh: 0.14.2
15873 optionalDependencies:15428 optionalDependencies:
15874 '@babel/runtime': 7.29.715429 '@babel/runtime': 7.29.7
15875 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)15430 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
15876 expo-widgets: 56.0.19(3cdc0dde9f93166d952f1e1bd0cb25c0)15431 expo-widgets: 57.0.15(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
15877 transitivePeerDependencies:15432 transitivePeerDependencies:
15878 - '@babel/core'15433 - '@babel/core'
15879 - supports-color15434 - supports-color
...@@ -16149,9 +15704,6 @@ snapshots:...@@ -16149,9 +15704,6 @@ snapshots:
1614915704
16150 cli-width@4.1.0: {}15705 cli-width@4.1.0: {}
1615115706
16152 client-only@0.0.1:
16153 optional: true
16154
16155 cliui@8.0.1:15707 cliui@8.0.1:
16156 dependencies:15708 dependencies:
16157 string-width: 4.2.315709 string-width: 4.2.3
...@@ -16337,9 +15889,6 @@ snapshots:...@@ -16337,9 +15889,6 @@ snapshots:
1633715889
16338 css-what@6.2.2: {}15890 css-what@6.2.2: {}
1633915891
16340 css.escape@1.5.1:
16341 optional: true
16342
16343 csso@5.0.5:15892 csso@5.0.5:
16344 dependencies:15893 dependencies:
16345 css-tree: 2.2.115894 css-tree: 2.2.1
...@@ -16448,9 +15997,6 @@ snapshots:...@@ -16448,9 +15997,6 @@ snapshots:
1644815997
16449 dom-accessibility-api@0.5.16: {}15998 dom-accessibility-api@0.5.16: {}
1645015999
16451 dom-accessibility-api@0.6.3:
16452 optional: true
16453
16454 dom-serializer@2.0.0:16000 dom-serializer@2.0.0:
16455 dependencies:16001 dependencies:
16456 domelementtype: 2.3.016002 domelementtype: 2.3.0
...@@ -16487,7 +16033,7 @@ snapshots:...@@ -16487,7 +16033,7 @@ snapshots:
16487 get-tsconfig: 4.14.016033 get-tsconfig: 4.14.0
16488 jiti: 2.7.016034 jiti: 2.7.0
1648916035
16490 drizzle-orm@1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3):16036 drizzle-orm@1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3):
16491 optionalDependencies:16037 optionalDependencies:
16492 '@cloudflare/workers-types': 4.20260604.116038 '@cloudflare/workers-types': 4.20260604.1
16493 '@effect/sql-d1': 4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))16039 '@effect/sql-d1': 4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
...@@ -16496,7 +16042,7 @@ snapshots:...@@ -16496,7 +16042,7 @@ snapshots:
16496 '@libsql/client': 0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)16042 '@libsql/client': 0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
16497 bun-types: 1.3.1416043 bun-types: 1.3.14
16498 effect: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)16044 effect: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)
16499 expo-sqlite: 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16045 expo-sqlite: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
16500 mysql2: 3.22.4(@types/node@24.12.4)16046 mysql2: 3.22.4(@types/node@24.12.4)
16501 pg: 8.21.016047 pg: 8.21.0
16502 zod: 4.4.316048 zod: 4.4.3
...@@ -16763,233 +16309,215 @@ snapshots:...@@ -16763,233 +16309,215 @@ snapshots:
1676316309
16764 expect-type@1.4.0: {}16310 expect-type@1.4.0: {}
1676516311
16766 expo-application@56.0.3(expo@56.0.12):16312 expo-application@57.0.2(expo@57.0.18):
16767 dependencies:16313 dependencies:
16768 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16314 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1676916315
16770 expo-asset@56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3):16316 expo-asset@57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3):
16771 dependencies:16317 dependencies:
16772 '@expo/image-utils': 0.10.1(typescript@6.0.3)16318 '@expo/image-utils': 0.11.5(typescript@6.0.3)
16773 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16319 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16774 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16320 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16775 react: 19.2.316321 react: 19.2.3
16776 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16322 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16777 transitivePeerDependencies:16323 transitivePeerDependencies:
16778 - supports-color16324 - supports-color
16779 - typescript16325 - typescript
1678016326
16781 expo-asset@56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3):16327 expo-asset@57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3):
16782 dependencies:16328 dependencies:
16783 '@expo/image-utils': 0.10.1(typescript@6.0.3)16329 '@expo/image-utils': 0.11.5(typescript@6.0.3)
16784 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)16330 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
16785 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))16331 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
16786 react: 19.2.616332 react: 19.2.6
16787 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16333 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
16788 transitivePeerDependencies:16334 transitivePeerDependencies:
16789 - supports-color16335 - supports-color
16790 - typescript16336 - typescript
16791 optional: true16337 optional: true
1679216338
16793 expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16339 expo-auth-session@57.0.10(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16794 dependencies:16340 dependencies:
16795 expo-application: 56.0.3(expo@56.0.12)16341 expo-application: 57.0.2(expo@57.0.18)
16796 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16342 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16797 expo-crypto: 56.0.4(expo@56.0.12)16343 expo-crypto: 57.0.2(expo@57.0.18)
16798 expo-linking: 56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16344 expo-linking: 57.0.8(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
16799 expo-web-browser: 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16345 expo-web-browser: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16800 invariant: 2.2.416346 invariant: 2.2.4
16801 react: 19.2.316347 react: 19.2.3
16802 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16348 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16803 transitivePeerDependencies:16349 transitivePeerDependencies:
16804 - expo16350 - expo
16805 - supports-color16351 - supports-color
1680616352
16807 expo-blur@56.0.3(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16353 expo-blur@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16808 dependencies:16354 dependencies:
16809 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16355 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16810 react: 19.2.316356 react: 19.2.3
16811 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16357 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1681216358
16813 expo-build-properties@56.0.19(expo@56.0.12):16359 expo-build-properties@57.0.15(expo@57.0.18):
16814 dependencies:16360 dependencies:
16815 '@expo/schema-utils': 56.0.116361 '@expo/schema-utils': 57.0.2
16816 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16362 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16817 resolve-from: 5.0.016363 resolve-from: 5.0.0
16818 semver: 7.8.516364 semver: 7.8.5
1681916365
16820 expo-camera@56.0.8(@types/emscripten@1.41.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16366 expo-camera@57.0.4(@types/emscripten@1.41.5)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16821 dependencies:16367 dependencies:
16822 barcode-detector: 3.2.0(@types/emscripten@1.41.5)16368 barcode-detector: 3.2.0(@types/emscripten@1.41.5)
16823 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16369 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16824 react: 19.2.316370 react: 19.2.3
16825 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16371 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16826 transitivePeerDependencies:16372 transitivePeerDependencies:
16827 - '@types/emscripten'16373 - '@types/emscripten'
1682816374
16829 expo-clipboard@56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16375 expo-clipboard@57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16830 dependencies:16376 dependencies:
16831 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16377 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16832 react: 19.2.316378 react: 19.2.3
16833 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16379 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1683416380
16835 expo-constants@56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16381 expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
16836 dependencies:16382 dependencies:
16837 '@expo/env': 2.3.016383 '@expo/env': 2.4.3
16838 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16384 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16839 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16385 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16840 transitivePeerDependencies:16386 transitivePeerDependencies:
16841 - supports-color16387 - supports-color
1684216388
16843 expo-constants@56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)):16389 expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)):
16844 dependencies:16390 dependencies:
16845 '@expo/env': 2.3.016391 '@expo/env': 2.4.3
16846 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)16392 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
16847 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16393 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
16848 transitivePeerDependencies:16394 transitivePeerDependencies:
16849 - supports-color16395 - supports-color
16850 optional: true16396 optional: true
1685116397
16852 expo-crypto@56.0.4(expo@56.0.12):16398 expo-crypto@57.0.2(expo@57.0.18):
16853 dependencies:16399 dependencies:
16854 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16400 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1685516401
16856 expo-dev-client@56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16402 expo-dev-client@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
16857 dependencies:16403 dependencies:
16858 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16404 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16859 expo-dev-launcher: 56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16405 expo-dev-launcher: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16860 expo-dev-menu: 56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16406 expo-dev-menu: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16861 expo-dev-menu-interface: 56.0.1(expo@56.0.12)16407 expo-dev-menu-interface: 57.0.0(expo@57.0.18)
16862 expo-manifests: 56.0.4(expo@56.0.12)16408 expo-manifests: 57.0.1(expo@57.0.18)
16863 expo-updates-interface: 56.0.2(expo@56.0.12)16409 expo-updates-interface: 57.0.1(expo@57.0.18)
16864 transitivePeerDependencies:16410 transitivePeerDependencies:
16865 - react-native16411 - react-native
1686616412
16867 expo-dev-launcher@56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16413 expo-dev-launcher@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
16868 dependencies:16414 dependencies:
16869 '@expo/schema-utils': 56.0.116415 '@expo/schema-utils': 57.0.2
16870 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16416 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16871 expo-dev-menu: 56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16417 expo-dev-menu: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16872 expo-manifests: 56.0.4(expo@56.0.12)16418 expo-manifests: 57.0.1(expo@57.0.18)
16873 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16419 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1687416420
16875 expo-dev-menu-interface@56.0.1(expo@56.0.12):16421 expo-dev-menu-interface@57.0.0(expo@57.0.18):
16876 dependencies:16422 dependencies:
16877 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16423 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1687816424
16879 expo-dev-menu@56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16425 expo-dev-menu@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
16880 dependencies:16426 dependencies:
16881 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16427 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16882 expo-dev-menu-interface: 56.0.1(expo@56.0.12)16428 expo-dev-menu-interface: 57.0.0(expo@57.0.18)
16883 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16429 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1688416430
16885 expo-device@56.0.4(expo@56.0.12):16431 expo-device@57.0.1(expo@57.0.18):
16886 dependencies:16432 dependencies:
16887 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16433 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16888 ua-parser-js: 0.7.4116434 ua-parser-js: 0.7.41
1688916435
16890 expo-eas-client@56.0.1: {}16436 expo-eas-client@57.0.2: {}
1689116437
16892 expo-file-system@56.0.8(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16438 expo-file-system@57.0.6(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
16893 dependencies:16439 dependencies:
16894 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16440 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16895 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16441 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1689616442
16897 expo-file-system@56.0.8(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)):16443 expo-file-system@57.0.6(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)):
16898 dependencies:16444 dependencies:
16899 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)16445 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
16900 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16446 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
16901 optional: true16447 optional: true
1690216448
16903 expo-font@56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16449 expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16904 dependencies:16450 dependencies:
16905 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16451 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16906 fontfaceobserver: 2.3.016452 fontfaceobserver: 2.3.0
16907 react: 19.2.316453 react: 19.2.3
16908 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16454 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1690916455
16910 expo-font@56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):16456 expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
16911 dependencies:16457 dependencies:
16912 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)16458 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
16913 fontfaceobserver: 2.3.016459 fontfaceobserver: 2.3.0
16914 react: 19.2.616460 react: 19.2.6
16915 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16461 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
16916 optional: true16462 optional: true
1691716463
16918 expo-glass-effect@56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16464 expo-glass-effect@57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16919 dependencies:16465 dependencies:
16920 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16466 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16921 react: 19.2.316467 react: 19.2.3
16922 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16468 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16923
16924 expo-glass-effect@56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
16925 dependencies:
16926 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)
16927 react: 19.2.6
16928 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
16929 optional: true
1693016469
16931 expo-haptics@56.0.3(expo@56.0.12):16470 expo-haptics@57.0.2(expo@57.0.18):
16932 dependencies:16471 dependencies:
16933 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16472 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1693416473
16935 expo-image-loader@56.0.3(expo@56.0.12):16474 expo-image-loader@57.0.1(expo@57.0.18):
16936 dependencies:16475 dependencies:
16937 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16476 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1693816477
16939 expo-image-picker@56.0.18(expo@56.0.12):16478 expo-image-picker@57.0.14(expo@57.0.18):
16940 dependencies:16479 dependencies:
16941 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16480 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16942 expo-image-loader: 56.0.3(expo@56.0.12)16481 expo-image-loader: 57.0.1(expo@57.0.18)
1694316482
16944 expo-image@56.0.11(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16483 expo-image@57.0.3(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16945 dependencies:16484 dependencies:
16946 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16485 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16947 react: 19.2.316486 react: 19.2.3
16948 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16487 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16949 sf-symbols-typescript: 2.2.016488 sf-symbols-typescript: 2.2.0
1695016489
16951 expo-json-utils@56.0.0: {}16490 expo-json-utils@57.0.1: {}
1695216491
16953 expo-keep-awake@56.0.3(expo@56.0.12)(react@19.2.3):16492 expo-keep-awake@57.0.1(expo@57.0.18)(react@19.2.3):
16954 dependencies:16493 dependencies:
16955 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16494 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16956 react: 19.2.316495 react: 19.2.3
1695716496
16958 expo-keep-awake@56.0.3(expo@56.0.12)(react@19.2.6):16497 expo-keep-awake@57.0.1(expo@57.0.18)(react@19.2.6):
16959 dependencies:16498 dependencies:
16960 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)16499 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
16961 react: 19.2.616500 react: 19.2.6
16962 optional: true16501 optional: true
1696316502
16964 expo-linking@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16503 expo-linking@57.0.8(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
16965 dependencies:16504 dependencies:
16966 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16505 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
16967 invariant: 2.2.416506 invariant: 2.2.4
16968 react: 19.2.316507 react: 19.2.3
16969 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16508 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
16970 transitivePeerDependencies:16509 transitivePeerDependencies:
16971 - expo16510 - expo
16972 - supports-color16511 - supports-color
1697316512
16974 expo-linking@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):16513 expo-manifests@57.0.1(expo@57.0.18):
16975 dependencies:16514 dependencies:
16976 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))16515 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
16977 invariant: 2.2.416516 expo-json-utils: 57.0.1
16978 react: 19.2.6
16979 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
16980 transitivePeerDependencies:
16981 - expo
16982 - supports-color
16983 optional: true
1698416517
16985 expo-manifests@56.0.4(expo@56.0.12):16518 expo-modules-autolinking@57.0.12(typescript@6.0.3):
16986 dependencies:16519 dependencies:
16987 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16520 '@expo/require-utils': 57.0.5(typescript@6.0.3)
16988 expo-json-utils: 56.0.0
16989
16990 expo-modules-autolinking@56.0.16(typescript@6.0.3):
16991 dependencies:
16992 '@expo/require-utils': 56.1.3(typescript@6.0.3)
16993 '@expo/spawn-async': 1.8.016521 '@expo/spawn-async': 1.8.0
16994 chalk: 4.1.216522 chalk: 4.1.2
16995 commander: 7.2.016523 commander: 7.2.0
...@@ -16997,317 +16525,204 @@ snapshots:...@@ -16997,317 +16525,204 @@ snapshots:
16997 - supports-color16525 - supports-color
16998 - typescript16526 - typescript
1699916527
17000 expo-modules-core@56.0.17(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16528 expo-modules-core@57.0.14(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
17001 dependencies:16529 dependencies:
17002 '@expo/expo-modules-macros-plugin': 0.2.216530 '@expo/expo-modules-macros-plugin': 0.6.1
17003 expo-modules-jsi: 56.0.10(patch_hash=9170f8074ae4e35a0a086e756c8f815794fd3abe51eac67ca3ba02804225ec1f)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16531 expo-modules-jsi: 57.0.6(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
17004 invariant: 2.2.416532 invariant: 2.2.4
17005 react: 19.2.316533 react: 19.2.3
17006 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16534 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17007 optionalDependencies:16535 optionalDependencies:
17008 react-native-worklets: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16536 react-native-worklets: 0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
1700916537
17010 expo-modules-core@56.0.17(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):16538 expo-modules-core@57.0.14(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
17011 dependencies:16539 dependencies:
17012 '@expo/expo-modules-macros-plugin': 0.2.216540 '@expo/expo-modules-macros-plugin': 0.6.1
17013 expo-modules-jsi: 56.0.10(patch_hash=9170f8074ae4e35a0a086e756c8f815794fd3abe51eac67ca3ba02804225ec1f)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))16541 expo-modules-jsi: 57.0.6(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
17014 invariant: 2.2.416542 invariant: 2.2.4
17015 react: 19.2.616543 react: 19.2.6
17016 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16544 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
17017 optionalDependencies:16545 optionalDependencies:
17018 react-native-worklets: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16546 react-native-worklets: 0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17019 optional: true16547 optional: true
1702016548
17021 expo-modules-jsi@56.0.10(patch_hash=9170f8074ae4e35a0a086e756c8f815794fd3abe51eac67ca3ba02804225ec1f)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16549 expo-modules-jsi@57.0.6(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
17022 dependencies:16550 dependencies:
17023 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16551 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1702416552
17025 expo-modules-jsi@56.0.10(patch_hash=9170f8074ae4e35a0a086e756c8f815794fd3abe51eac67ca3ba02804225ec1f)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)):16553 expo-modules-jsi@57.0.6(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)):
17026 dependencies:16554 dependencies:
17027 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16555 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
17028 optional: true16556 optional: true
1702916557
17030 expo-network@56.0.5(expo@56.0.12)(react@19.2.3):16558 expo-network@57.0.1(expo@57.0.18)(react@19.2.3):
17031 dependencies:16559 dependencies:
17032 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16560 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17033 react: 19.2.316561 react: 19.2.3
1703416562
17035 expo-notifications@56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3):16563 expo-notifications@57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3):
17036 dependencies:16564 dependencies:
17037 '@expo/image-utils': 0.10.1(typescript@6.0.3)16565 '@expo/image-utils': 0.11.5(typescript@6.0.3)
17038 abort-controller: 3.0.016566 abort-controller: 3.0.0
17039 badgin: 1.2.316567 badgin: 1.2.3
17040 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16568 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17041 expo-application: 56.0.3(expo@56.0.12)16569 expo-application: 57.0.2(expo@57.0.18)
17042 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16570 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
17043 react: 19.2.316571 react: 19.2.3
17044 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16572 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17045 transitivePeerDependencies:16573 transitivePeerDependencies:
17046 - supports-color16574 - supports-color
17047 - typescript16575 - typescript
1704816576
17049 expo-paste-input@0.1.15(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16577 expo-paste-input@0.1.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
17050 dependencies:16578 dependencies:
17051 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16579 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17052 react: 19.2.316580 react: 19.2.3
17053 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16581 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1705416582
17055 expo-quick-actions@6.0.2(expo@56.0.12)(typescript@6.0.3):16583 expo-quick-actions@6.0.2(expo@57.0.18)(typescript@6.0.3):
17056 dependencies:16584 dependencies:
17057 '@expo/image-utils': 0.8.14(typescript@6.0.3)16585 '@expo/image-utils': 0.8.14(typescript@6.0.3)
17058 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16586 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17059 schema-utils: 4.3.316587 schema-utils: 4.3.3
17060 sf-symbols-typescript: 2.2.016588 sf-symbols-typescript: 2.2.0
17061 transitivePeerDependencies:16589 transitivePeerDependencies:
17062 - supports-color16590 - supports-color
17063 - typescript16591 - typescript
1706416592
17065 expo-router@56.2.11(1d12f8130d9562de288829ccb10045a7):16593 expo-secure-store@57.0.2(expo@57.0.18):
17066 dependencies:
17067 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17068 '@expo/metro-runtime': 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17069 '@expo/schema-utils': 56.0.1
17070 '@expo/ui': 56.0.18(3cdc0dde9f93166d952f1e1bd0cb25c0)
17071 '@radix-ui/react-slot': 1.2.4(@types/react@19.2.16)(react@19.2.3)
17072 '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
17073 '@react-native-masked-view/masked-view': 0.3.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17074 '@testing-library/jest-dom': 6.9.1
17075 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
17076 client-only: 0.0.1
17077 color: 4.2.3
17078 debug: 4.4.3
17079 escape-string-regexp: 4.0.0
17080 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)
17081 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
17082 expo-glass-effect: 56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17083 expo-linking: 56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17084 expo-server: 56.0.5
17085 expo-symbols: 56.0.6(expo-font@56.0.7)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17086 fast-deep-equal: 3.1.3
17087 invariant: 2.2.4
17088 nanoid: 3.3.12
17089 query-string: 7.1.3
17090 react: 19.2.3
17091 react-fast-compare: 3.2.2
17092 react-is: 19.2.7
17093 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17094 react-native-drawer-layout: 4.2.4(05364bd849de538917a7364cc7dee3f5)
17095 react-native-safe-area-context: 5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17096 react-native-screens: 4.25.2(patch_hash=7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17097 server-only: 0.0.1
17098 sf-symbols-typescript: 2.2.0
17099 shallowequal: 1.1.0
17100 standard-navigation: 0.0.5
17101 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
17102 optionalDependencies:
17103 react-dom: 19.2.3(react@19.2.3)
17104 react-native-gesture-handler: 2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17105 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17106 transitivePeerDependencies:
17107 - '@babel/core'
17108 - '@testing-library/dom'
17109 - '@types/react'
17110 - '@types/react-dom'
17111 - expo-font
17112 - react-native-worklets
17113 - supports-color
17114 optional: true
17115
17116 expo-router@56.2.11(5cef6fdc582974f4d93d5694873ec814):
17117 dependencies:
17118 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17119 '@expo/metro-runtime': 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17120 '@expo/schema-utils': 56.0.1
17121 '@expo/ui': 56.0.18(32843e0c0883df8bccfa0b8323659df5)
17122 '@radix-ui/react-slot': 1.2.4(@types/react@19.2.16)(react@19.2.6)
17123 '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
17124 '@react-native-masked-view/masked-view': 0.3.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17125 '@testing-library/jest-dom': 6.9.1
17126 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
17127 client-only: 0.0.1
17128 color: 4.2.3
17129 debug: 4.4.3
17130 escape-string-regexp: 4.0.0
17131 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)
17132 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
17133 expo-glass-effect: 56.0.4(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17134 expo-linking: 56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17135 expo-server: 56.0.5
17136 expo-symbols: 56.0.6(expo-font@56.0.7)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17137 fast-deep-equal: 3.1.3
17138 invariant: 2.2.4
17139 nanoid: 3.3.12
17140 query-string: 7.1.3
17141 react: 19.2.6
17142 react-fast-compare: 3.2.2
17143 react-is: 19.2.7
17144 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
17145 react-native-drawer-layout: 4.2.4(de9b2f2dc96a3557fdc0df187a8417ee)
17146 react-native-safe-area-context: 5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17147 react-native-screens: 4.25.2(patch_hash=7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17148 server-only: 0.0.1
17149 sf-symbols-typescript: 2.2.0
17150 shallowequal: 1.1.0
17151 standard-navigation: 0.0.5
17152 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
17153 optionalDependencies:
17154 react-dom: 19.2.6(react@19.2.6)
17155 react-native-gesture-handler: 2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17156 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17157 transitivePeerDependencies:
17158 - '@babel/core'
17159 - '@testing-library/dom'
17160 - '@types/react'
17161 - '@types/react-dom'
17162 - expo-font
17163 - react-native-worklets
17164 - supports-color
17165 optional: true
17166
17167 expo-secure-store@56.0.4(expo@56.0.12):
17168 dependencies:16594 dependencies:
17169 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16595 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1717016596
17171 expo-server@56.0.5: {}16597 expo-server@57.0.3: {}
1717216598
17173 expo-sharing@56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3):16599 expo-sharing@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3):
17174 dependencies:16600 dependencies:
17175 '@expo/config-plugins': 56.0.9(typescript@6.0.3)16601 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
17176 '@expo/config-types': 56.0.616602 '@expo/config-types': 57.0.2
17177 '@expo/plist': 0.7.016603 '@expo/plist': 0.8.1
17178 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16604 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17179 react: 19.2.316605 react: 19.2.3
17180 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16606 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17181 transitivePeerDependencies:16607 transitivePeerDependencies:
17182 - supports-color16608 - supports-color
17183 - typescript16609 - typescript
1718416610
17185 expo-splash-screen@56.0.10(expo@56.0.12)(typescript@6.0.3):16611 expo-splash-screen@57.0.8(expo@57.0.18)(typescript@6.0.3):
17186 dependencies:16612 dependencies:
17187 '@expo/config-plugins': 56.0.9(typescript@6.0.3)16613 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
17188 '@expo/image-utils': 0.10.1(typescript@6.0.3)16614 '@expo/image-utils': 0.11.5(typescript@6.0.3)
17189 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16615 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17190 xml2js: 0.6.016616 xml2js: 0.6.0
17191 transitivePeerDependencies:16617 transitivePeerDependencies:
17192 - supports-color16618 - supports-color
17193 - typescript16619 - typescript
1719416620
17195 expo-sqlite@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16621 expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
17196 dependencies:16622 dependencies:
17197 await-lock: 2.2.216623 await-lock: 2.2.2
17198 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16624 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17199 react: 19.2.316625 react: 19.2.3
17200 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16626 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1720116627
17202 expo-sqlite@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):16628 expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
17203 dependencies:16629 dependencies:
17204 await-lock: 2.2.216630 await-lock: 2.2.2
17205 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)16631 expo: 57.0.18(ecb3896f1dbe5154a21ddc585503f306)
17206 react: 19.2.616632 react: 19.2.6
17207 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16633 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
17208 optional: true16634 optional: true
1720916635
17210 expo-structured-headers@56.0.0: {}16636 expo-structured-headers@57.0.0: {}
1721116637
17212 expo-symbols@56.0.6(expo-font@56.0.7)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16638 expo-symbols@57.0.2(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
17213 dependencies:16639 dependencies:
17214 '@expo-google-fonts/material-symbols': 0.4.3816640 '@expo-google-fonts/material-symbols': 0.4.38
17215 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16641 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17216 expo-font: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16642 expo-font: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17217 react: 19.2.316643 react: 19.2.3
17218 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16644 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17219 sf-symbols-typescript: 2.2.0
17220
17221 expo-symbols@56.0.6(expo-font@56.0.7)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
17222 dependencies:
17223 '@expo-google-fonts/material-symbols': 0.4.38
17224 expo: 56.0.12(deb8cbf3e0f411b34ba85a995c9982ba)
17225 expo-font: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17226 react: 19.2.6
17227 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
17228 sf-symbols-typescript: 2.2.016645 sf-symbols-typescript: 2.2.0
17229 optional: true
1723016646
17231 expo-updates-interface@56.0.2(expo@56.0.12):16647 expo-updates-interface@57.0.1(expo@57.0.18):
17232 dependencies:16648 dependencies:
17233 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16649 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
1723416650
17235 expo-updates@56.0.19(expo-dev-client@56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):16651 expo-updates@57.0.19(expo-dev-client@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
17236 dependencies:16652 dependencies:
17237 '@expo/code-signing-certificates': 0.0.616653 '@expo/code-signing-certificates': 0.0.6
17238 '@expo/plist': 0.7.016654 '@expo/plist': 0.8.1
17239 '@expo/spawn-async': 1.8.016655 '@expo/spawn-async': 1.8.0
17240 arg: 4.1.316656 arg: 4.1.3
17241 chalk: 4.1.216657 chalk: 4.1.2
17242 debug: 4.4.316658 debug: 4.4.3
17243 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16659 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17244 expo-eas-client: 56.0.116660 expo-eas-client: 57.0.2
17245 expo-manifests: 56.0.4(expo@56.0.12)16661 expo-manifests: 57.0.1(expo@57.0.18)
17246 expo-structured-headers: 56.0.016662 expo-structured-headers: 57.0.0
17247 expo-updates-interface: 56.0.2(expo@56.0.12)16663 expo-updates-interface: 57.0.1(expo@57.0.18)
17248 getenv: 2.0.016664 getenv: 2.0.0
17249 glob: 13.0.616665 glob: 13.0.6
17250 ignore: 5.3.216666 ignore: 5.3.2
17251 nullthrows: 1.1.116667 nullthrows: 1.1.1
17252 react: 19.2.316668 react: 19.2.3
17253 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16669 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17254 resolve-from: 5.0.016670 resolve-from: 5.0.0
17255 optionalDependencies:16671 optionalDependencies:
17256 expo-dev-client: 56.0.20(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16672 expo-dev-client: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
17257 transitivePeerDependencies:16673 transitivePeerDependencies:
17258 - supports-color16674 - supports-color
1725916675
17260 expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):16676 expo-web-browser@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
17261 dependencies:16677 dependencies:
17262 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16678 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17263 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16679 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1726416680
17265 expo-widgets@56.0.19(3cdc0dde9f93166d952f1e1bd0cb25c0):16681 expo-widgets@57.0.15(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
17266 dependencies:16682 dependencies:
17267 '@expo/plist': 0.7.016683 '@expo/plist': 0.8.1
17268 '@expo/ui': 56.0.18(3cdc0dde9f93166d952f1e1bd0cb25c0)16684 '@expo/ui': 57.0.14(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17269 expo: 56.0.12(8895228379997a2a064f9644cda56ed0)16685 expo: 57.0.18(f9c992a5d7c53d81398568d3950992dc)
17270 react: 19.2.316686 react: 19.2.3
17271 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16687 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17272 transitivePeerDependencies:16688 transitivePeerDependencies:
17273 - '@babel/core'16689 - '@babel/core'
17274 - '@types/react'16690 - '@types/react'
17275 - '@types/react-dom'16691 - '@types/react-dom'
17276 - react-dom16692 - react-dom
17277 - react-native-reanimated
17278 - react-native-worklets16693 - react-native-worklets
1727916694
17280 expo@56.0.12(8895228379997a2a064f9644cda56ed0):16695 expo@57.0.18(ecb3896f1dbe5154a21ddc585503f306):
17281 dependencies:16696 dependencies:
17282 '@babel/runtime': 7.29.716697 '@babel/runtime': 7.29.7
17283 '@expo/cli': 56.1.16(@expo/dom-webview@56.0.5)(@expo/metro-runtime@56.0.15)(bufferutil@4.1.0)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)(utf-8-validate@6.0.6)16698 '@expo/cli': 57.0.20(@expo/dom-webview@57.0.1)(@expo/metro-runtime@57.0.14)(bufferutil@4.1.0)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3)(utf-8-validate@6.0.6)
17284 '@expo/config': 56.0.9(typescript@6.0.3)16699 '@expo/config': 57.0.9(typescript@6.0.3)
17285 '@expo/config-plugins': 56.0.9(typescript@6.0.3)16700 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
17286 '@expo/devtools': 56.0.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16701 '@expo/devtools': 57.0.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17287 '@expo/fingerprint': 0.19.416702 '@expo/fingerprint': 0.20.11
17288 '@expo/local-build-cache-provider': 56.0.8(typescript@6.0.3)16703 '@expo/local-build-cache-provider': 57.0.8(typescript@6.0.3)
17289 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16704 '@expo/log-box': 57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17290 '@expo/metro': 56.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)16705 '@expo/metro': 56.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)
17291 '@expo/metro-config': 56.0.14(patch_hash=8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46)(bufferutil@4.1.0)(expo@56.0.12)(typescript@6.0.3)(utf-8-validate@6.0.6)16706 '@expo/metro-config': 57.0.12(patch_hash=96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2)(bufferutil@4.1.0)(expo@57.0.18)(typescript@6.0.3)(utf-8-validate@6.0.6)
17292 '@ungap/structured-clone': 1.3.116707 '@ungap/structured-clone': 1.3.1
17293 babel-preset-expo: 56.0.15(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@56.0.19)(expo@56.0.12)(react-refresh@0.14.2)16708 babel-preset-expo: 57.0.9(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@57.0.15)(expo@57.0.18)(react-refresh@0.14.2)
17294 expo-asset: 56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)16709 expo-asset: 57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3)
17295 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16710 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
17296 expo-file-system: 56.0.8(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))16711 expo-file-system: 57.0.6(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))
17297 expo-font: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16712 expo-font: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17298 expo-keep-awake: 56.0.3(expo@56.0.12)(react@19.2.3)16713 expo-keep-awake: 57.0.1(expo@57.0.18)(react@19.2.6)
17299 expo-modules-autolinking: 56.0.16(typescript@6.0.3)16714 expo-modules-autolinking: 57.0.12(typescript@6.0.3)
17300 expo-modules-core: 56.0.17(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16715 expo-modules-core: 57.0.14(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17301 pretty-format: 29.7.016716 pretty-format: 29.7.0
17302 react: 19.2.316717 react: 19.2.6
17303 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)16718 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
17304 react-refresh: 0.14.216719 react-refresh: 0.14.2
17305 whatwg-url-minimum: 0.1.216720 whatwg-url-minimum: 0.1.2
17306 optionalDependencies:16721 optionalDependencies:
17307 '@expo/dom-webview': 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16722 '@expo/dom-webview': 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17308 '@expo/metro-runtime': 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16723 '@expo/metro-runtime': 57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.6(react@19.2.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17309 react-dom: 19.2.3(react@19.2.3)16724 react-dom: 19.2.6(react@19.2.6)
17310 react-native-webview: 13.16.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)16725 react-native-webview: 13.16.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
17311 transitivePeerDependencies:16726 transitivePeerDependencies:
17312 - '@babel/core'16727 - '@babel/core'
17313 - bufferutil16728 - bufferutil
...@@ -17318,38 +16733,39 @@ snapshots:...@@ -17318,38 +16733,39 @@ snapshots:
17318 - supports-color16733 - supports-color
17319 - typescript16734 - typescript
17320 - utf-8-validate16735 - utf-8-validate
16736 optional: true
1732116737
17322 expo@56.0.12(deb8cbf3e0f411b34ba85a995c9982ba):16738 expo@57.0.18(f9c992a5d7c53d81398568d3950992dc):
17323 dependencies:16739 dependencies:
17324 '@babel/runtime': 7.29.716740 '@babel/runtime': 7.29.7
17325 '@expo/cli': 56.1.16(@expo/dom-webview@56.0.5)(@expo/metro-runtime@56.0.15)(bufferutil@4.1.0)(expo-constants@56.0.18)(expo-font@56.0.7)(expo-router@56.2.11)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3)(utf-8-validate@6.0.6)16741 '@expo/cli': 57.0.20(@expo/dom-webview@57.0.1)(@expo/metro-runtime@57.0.14)(bufferutil@4.1.0)(expo-constants@57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo-font@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)(utf-8-validate@6.0.6)
17326 '@expo/config': 56.0.9(typescript@6.0.3)16742 '@expo/config': 57.0.9(typescript@6.0.3)
17327 '@expo/config-plugins': 56.0.9(typescript@6.0.3)16743 '@expo/config-plugins': 57.0.9(typescript@6.0.3)
17328 '@expo/devtools': 56.0.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16744 '@expo/devtools': 57.0.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17329 '@expo/fingerprint': 0.19.416745 '@expo/fingerprint': 0.20.11
17330 '@expo/local-build-cache-provider': 56.0.8(typescript@6.0.3)16746 '@expo/local-build-cache-provider': 57.0.8(typescript@6.0.3)
17331 '@expo/log-box': 56.0.13(@expo/dom-webview@56.0.5)(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16747 '@expo/log-box': 57.0.4(@expo/dom-webview@57.0.1)(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17332 '@expo/metro': 56.0.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)16748 '@expo/metro': 56.0.2(bufferutil@4.1.0)(utf-8-validate@6.0.6)
17333 '@expo/metro-config': 56.0.14(patch_hash=8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46)(bufferutil@4.1.0)(expo@56.0.12)(typescript@6.0.3)(utf-8-validate@6.0.6)16749 '@expo/metro-config': 57.0.12(patch_hash=96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2)(bufferutil@4.1.0)(expo@57.0.18)(typescript@6.0.3)(utf-8-validate@6.0.6)
17334 '@ungap/structured-clone': 1.3.116750 '@ungap/structured-clone': 1.3.1
17335 babel-preset-expo: 56.0.15(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@56.0.19)(expo@56.0.12)(react-refresh@0.14.2)16751 babel-preset-expo: 57.0.9(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo-widgets@57.0.15)(expo@57.0.18)(react-refresh@0.14.2)
17336 expo-asset: 56.0.17(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)(typescript@6.0.3)16752 expo-asset: 57.0.15(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
17337 expo-constants: 56.0.18(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))16753 expo-constants: 57.0.16(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
17338 expo-file-system: 56.0.8(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))16754 expo-file-system: 57.0.6(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))
17339 expo-font: 56.0.7(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16755 expo-font: 57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17340 expo-keep-awake: 56.0.3(expo@56.0.12)(react@19.2.6)16756 expo-keep-awake: 57.0.1(expo@57.0.18)(react@19.2.3)
17341 expo-modules-autolinking: 56.0.16(typescript@6.0.3)16757 expo-modules-autolinking: 57.0.12(typescript@6.0.3)
17342 expo-modules-core: 56.0.17(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16758 expo-modules-core: 57.0.14(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17343 pretty-format: 29.7.016759 pretty-format: 29.7.0
17344 react: 19.2.616760 react: 19.2.3
17345 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)16761 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
17346 react-refresh: 0.14.216762 react-refresh: 0.14.2
17347 whatwg-url-minimum: 0.1.216763 whatwg-url-minimum: 0.1.2
17348 optionalDependencies:16764 optionalDependencies:
17349 '@expo/dom-webview': 56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16765 '@expo/dom-webview': 57.0.1(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17350 '@expo/metro-runtime': 56.0.15(@expo/log-box@56.0.13)(expo@56.0.12)(react-dom@19.2.6(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16766 '@expo/metro-runtime': 57.0.14(@expo/log-box@57.0.4)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17351 react-dom: 19.2.6(react@19.2.6)16767 react-dom: 19.2.3(react@19.2.3)
17352 react-native-webview: 13.16.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)16768 react-native-webview: 13.16.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
17353 transitivePeerDependencies:16769 transitivePeerDependencies:
17354 - '@babel/core'16770 - '@babel/core'
17355 - bufferutil16771 - bufferutil
...@@ -17360,7 +16776,6 @@ snapshots:...@@ -17360,7 +16776,6 @@ snapshots:
17360 - supports-color16776 - supports-color
17361 - typescript16777 - typescript
17362 - utf-8-validate16778 - utf-8-validate
17363 optional: true
1736416779
17365 exponential-backoff@3.1.3: {}16780 exponential-backoff@3.1.3: {}
1736616781
...@@ -17867,20 +17282,26 @@ snapshots:...@@ -17867,20 +17282,26 @@ snapshots:
1786717282
17868 heic-to@1.5.2: {}17283 heic-to@1.5.2: {}
1786917284
17870 hermes-compiler@250829098.0.10: {}17285 hermes-compiler@250829098.0.17: {}
17871
17872 hermes-estree@0.33.3: {}
1787317286
17874 hermes-estree@0.35.0: {}17287 hermes-estree@0.35.0: {}
1787517288
17876 hermes-parser@0.33.3:17289 hermes-estree@0.36.0: {}
17877 dependencies:17290
17878 hermes-estree: 0.33.317291 hermes-estree@0.36.1: {}
1787917292
17880 hermes-parser@0.35.0:17293 hermes-parser@0.35.0:
17881 dependencies:17294 dependencies:
17882 hermes-estree: 0.35.017295 hermes-estree: 0.35.0
1788317296
17297 hermes-parser@0.36.0:
17298 dependencies:
17299 hermes-estree: 0.36.0
17300
17301 hermes-parser@0.36.1:
17302 dependencies:
17303 hermes-estree: 0.36.1
17304
17884 hoist-non-react-statics@3.3.2:17305 hoist-non-react-statics@3.3.2:
17885 dependencies:17306 dependencies:
17886 react-is: 16.13.117307 react-is: 16.13.1
...@@ -17949,9 +17370,6 @@ snapshots:...@@ -17949,9 +17370,6 @@ snapshots:
1794917370
17950 immediate@3.0.6: {}17371 immediate@3.0.6: {}
1795117372
17952 indent-string@4.0.0:
17953 optional: true
17954
17955 indent-string@5.0.0: {}17373 indent-string@5.0.0: {}
1795617374
17957 inflight@1.0.6:17375 inflight@1.0.6:
...@@ -18675,10 +18093,24 @@ snapshots:...@@ -18675,10 +18093,24 @@ snapshots:
18675 transitivePeerDependencies:18093 transitivePeerDependencies:
18676 - supports-color18094 - supports-color
1867718095
18096 metro-babel-transformer@0.84.5:
18097 dependencies:
18098 '@babel/core': 7.29.7
18099 flow-enums-runtime: 0.0.6
18100 hermes-parser: 0.35.0
18101 metro-cache-key: 0.84.5
18102 nullthrows: 1.1.1
18103 transitivePeerDependencies:
18104 - supports-color
18105
18678 metro-cache-key@0.84.4:18106 metro-cache-key@0.84.4:
18679 dependencies:18107 dependencies:
18680 flow-enums-runtime: 0.0.618108 flow-enums-runtime: 0.0.6
1868118109
18110 metro-cache-key@0.84.5:
18111 dependencies:
18112 flow-enums-runtime: 0.0.6
18113
18682 metro-cache@0.84.4:18114 metro-cache@0.84.4:
18683 dependencies:18115 dependencies:
18684 exponential-backoff: 3.1.318116 exponential-backoff: 3.1.3
...@@ -18688,6 +18120,15 @@ snapshots:...@@ -18688,6 +18120,15 @@ snapshots:
18688 transitivePeerDependencies:18120 transitivePeerDependencies:
18689 - supports-color18121 - supports-color
1869018122
18123 metro-cache@0.84.5:
18124 dependencies:
18125 exponential-backoff: 3.1.3
18126 flow-enums-runtime: 0.0.6
18127 https-proxy-agent: 7.0.6
18128 metro-core: 0.84.5
18129 transitivePeerDependencies:
18130 - supports-color
18131
18691 metro-config@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):18132 metro-config@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
18692 dependencies:18133 dependencies:
18693 connect: 3.7.018134 connect: 3.7.0
...@@ -18703,12 +18144,33 @@ snapshots:...@@ -18703,12 +18144,33 @@ snapshots:
18703 - supports-color18144 - supports-color
18704 - utf-8-validate18145 - utf-8-validate
1870518146
18147 metro-config@0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6):
18148 dependencies:
18149 connect: 3.7.0
18150 flow-enums-runtime: 0.0.6
18151 jest-validate: 29.7.0
18152 metro: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
18153 metro-cache: 0.84.5
18154 metro-core: 0.84.5
18155 metro-runtime: 0.84.5
18156 yaml: 2.9.0
18157 transitivePeerDependencies:
18158 - bufferutil
18159 - supports-color
18160 - utf-8-validate
18161
18706 metro-core@0.84.4:18162 metro-core@0.84.4:
18707 dependencies:18163 dependencies:
18708 flow-enums-runtime: 0.0.618164 flow-enums-runtime: 0.0.6
18709 lodash.throttle: 4.1.118165 lodash.throttle: 4.1.1
18710 metro-resolver: 0.84.418166 metro-resolver: 0.84.4
1871118167
18168 metro-core@0.84.5:
18169 dependencies:
18170 flow-enums-runtime: 0.0.6
18171 lodash.throttle: 4.1.1
18172 metro-resolver: 0.84.5
18173
18712 metro-file-map@0.84.4:18174 metro-file-map@0.84.4:
18713 dependencies:18175 dependencies:
18714 debug: 4.4.318176 debug: 4.4.3
...@@ -18723,20 +18185,48 @@ snapshots:...@@ -18723,20 +18185,48 @@ snapshots:
18723 transitivePeerDependencies:18185 transitivePeerDependencies:
18724 - supports-color18186 - supports-color
1872518187
18188 metro-file-map@0.84.5:
18189 dependencies:
18190 debug: 4.4.3
18191 fb-watchman: 2.0.2
18192 flow-enums-runtime: 0.0.6
18193 graceful-fs: 4.2.11
18194 invariant: 2.2.4
18195 jest-worker: 29.7.0
18196 micromatch: 4.0.8
18197 nullthrows: 1.1.1
18198 walker: 1.0.8
18199 transitivePeerDependencies:
18200 - supports-color
18201
18726 metro-minify-terser@0.84.4:18202 metro-minify-terser@0.84.4:
18727 dependencies:18203 dependencies:
18728 flow-enums-runtime: 0.0.618204 flow-enums-runtime: 0.0.6
18729 terser: 5.48.018205 terser: 5.48.0
1873018206
18207 metro-minify-terser@0.84.5:
18208 dependencies:
18209 flow-enums-runtime: 0.0.6
18210 terser: 5.48.0
18211
18731 metro-resolver@0.84.4:18212 metro-resolver@0.84.4:
18732 dependencies:18213 dependencies:
18733 flow-enums-runtime: 0.0.618214 flow-enums-runtime: 0.0.6
1873418215
18216 metro-resolver@0.84.5:
18217 dependencies:
18218 flow-enums-runtime: 0.0.6
18219
18735 metro-runtime@0.84.4:18220 metro-runtime@0.84.4:
18736 dependencies:18221 dependencies:
18737 '@babel/runtime': 7.29.718222 '@babel/runtime': 7.29.7
18738 flow-enums-runtime: 0.0.618223 flow-enums-runtime: 0.0.6
1873918224
18225 metro-runtime@0.84.5:
18226 dependencies:
18227 '@babel/runtime': 7.29.7
18228 flow-enums-runtime: 0.0.6
18229
18740 metro-source-map@0.84.4:18230 metro-source-map@0.84.4:
18741 dependencies:18231 dependencies:
18742 '@babel/traverse': 7.29.718232 '@babel/traverse': 7.29.7
...@@ -18751,6 +18241,20 @@ snapshots:...@@ -18751,6 +18241,20 @@ snapshots:
18751 transitivePeerDependencies:18241 transitivePeerDependencies:
18752 - supports-color18242 - supports-color
1875318243
18244 metro-source-map@0.84.5:
18245 dependencies:
18246 '@babel/traverse': 7.29.7
18247 '@babel/types': 7.29.7
18248 flow-enums-runtime: 0.0.6
18249 invariant: 2.2.4
18250 metro-symbolicate: 0.84.5
18251 nullthrows: 1.1.1
18252 ob1: 0.84.5
18253 source-map: 0.5.7
18254 vlq: 1.0.1
18255 transitivePeerDependencies:
18256 - supports-color
18257
18754 metro-symbolicate@0.84.4:18258 metro-symbolicate@0.84.4:
18755 dependencies:18259 dependencies:
18756 flow-enums-runtime: 0.0.618260 flow-enums-runtime: 0.0.6
...@@ -18762,6 +18266,17 @@ snapshots:...@@ -18762,6 +18266,17 @@ snapshots:
18762 transitivePeerDependencies:18266 transitivePeerDependencies:
18763 - supports-color18267 - supports-color
1876418268
18269 metro-symbolicate@0.84.5:
18270 dependencies:
18271 flow-enums-runtime: 0.0.6
18272 invariant: 2.2.4
18273 metro-source-map: 0.84.5
18274 nullthrows: 1.1.1
18275 source-map: 0.5.7
18276 vlq: 1.0.1
18277 transitivePeerDependencies:
18278 - supports-color
18279
18765 metro-transform-plugins@0.84.4:18280 metro-transform-plugins@0.84.4:
18766 dependencies:18281 dependencies:
18767 '@babel/core': 7.29.718282 '@babel/core': 7.29.7
...@@ -18773,6 +18288,17 @@ snapshots:...@@ -18773,6 +18288,17 @@ snapshots:
18773 transitivePeerDependencies:18288 transitivePeerDependencies:
18774 - supports-color18289 - supports-color
1877518290
18291 metro-transform-plugins@0.84.5:
18292 dependencies:
18293 '@babel/core': 7.29.7
18294 '@babel/generator': 7.29.7
18295 '@babel/template': 7.29.7
18296 '@babel/traverse': 7.29.7
18297 flow-enums-runtime: 0.0.6
18298 nullthrows: 1.1.1
18299 transitivePeerDependencies:
18300 - supports-color
18301
18776 metro-transform-worker@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):18302 metro-transform-worker@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
18777 dependencies:18303 dependencies:
18778 '@babel/core': 7.29.718304 '@babel/core': 7.29.7
...@@ -18793,6 +18319,26 @@ snapshots:...@@ -18793,6 +18319,26 @@ snapshots:
18793 - supports-color18319 - supports-color
18794 - utf-8-validate18320 - utf-8-validate
1879518321
18322 metro-transform-worker@0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6):
18323 dependencies:
18324 '@babel/core': 7.29.7
18325 '@babel/generator': 7.29.7
18326 '@babel/parser': 7.29.7
18327 '@babel/types': 7.29.7
18328 flow-enums-runtime: 0.0.6
18329 metro: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
18330 metro-babel-transformer: 0.84.5
18331 metro-cache: 0.84.5
18332 metro-cache-key: 0.84.5
18333 metro-minify-terser: 0.84.5
18334 metro-source-map: 0.84.5
18335 metro-transform-plugins: 0.84.5
18336 nullthrows: 1.1.1
18337 transitivePeerDependencies:
18338 - bufferutil
18339 - supports-color
18340 - utf-8-validate
18341
18796 metro@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):18342 metro@0.84.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
18797 dependencies:18343 dependencies:
18798 '@babel/code-frame': 7.29.718344 '@babel/code-frame': 7.29.7
...@@ -18839,6 +18385,51 @@ snapshots:...@@ -18839,6 +18385,51 @@ snapshots:
18839 - supports-color18385 - supports-color
18840 - utf-8-validate18386 - utf-8-validate
1884118387
18388 metro@0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6):
18389 dependencies:
18390 '@babel/code-frame': 7.29.7
18391 '@babel/core': 7.29.7
18392 '@babel/generator': 7.29.7
18393 '@babel/parser': 7.29.7
18394 '@babel/template': 7.29.7
18395 '@babel/traverse': 7.29.7
18396 '@babel/types': 7.29.7
18397 accepts: 2.0.0
18398 ci-info: 2.0.0
18399 connect: 3.7.0
18400 debug: 4.4.3
18401 error-stack-parser: 2.1.4
18402 flow-enums-runtime: 0.0.6
18403 graceful-fs: 4.2.11
18404 hermes-parser: 0.35.0
18405 invariant: 2.2.4
18406 jest-worker: 29.7.0
18407 jsc-safe-url: 0.2.4
18408 lodash.throttle: 4.1.1
18409 metro-babel-transformer: 0.84.5
18410 metro-cache: 0.84.5
18411 metro-cache-key: 0.84.5
18412 metro-config: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
18413 metro-core: 0.84.5
18414 metro-file-map: 0.84.5
18415 metro-resolver: 0.84.5
18416 metro-runtime: 0.84.5
18417 metro-source-map: 0.84.5
18418 metro-symbolicate: 0.84.5
18419 metro-transform-plugins: 0.84.5
18420 metro-transform-worker: 0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
18421 mime-types: 3.0.2
18422 nullthrows: 1.1.1
18423 serialize-error: 2.1.0
18424 source-map: 0.5.7
18425 throat: 5.0.0
18426 ws: 7.5.11(bufferutil@4.1.0)(utf-8-validate@6.0.6)
18427 yargs: 17.7.2
18428 transitivePeerDependencies:
18429 - bufferutil
18430 - supports-color
18431 - utf-8-validate
18432
18842 micromark-core-commonmark@2.0.3:18433 micromark-core-commonmark@2.0.3:
18843 dependencies:18434 dependencies:
18844 decode-named-character-reference: 1.3.018435 decode-named-character-reference: 1.3.0
...@@ -19065,9 +18656,6 @@ snapshots:...@@ -19065,9 +18656,6 @@ snapshots:
1906518656
19066 mimic-response@3.1.0: {}18657 mimic-response@3.1.0: {}
1906718658
19068 min-indent@1.0.1:
19069 optional: true
19070
19071 minimatch@10.2.5:18659 minimatch@10.2.5:
19072 dependencies:18660 dependencies:
19073 brace-expansion: 5.0.618661 brace-expansion: 5.0.6
...@@ -19161,7 +18749,7 @@ snapshots:...@@ -19161,7 +18749,7 @@ snapshots:
1916118749
19162 multipasta@0.2.8: {}18750 multipasta@0.2.8: {}
1916318751
19164 multitars@1.0.0: {}18752 multitars@1.0.2: {}
1916518753
19166 mute-stream@2.0.0: {}18754 mute-stream@2.0.0: {}
1916718755
...@@ -19307,6 +18895,10 @@ snapshots:...@@ -19307,6 +18895,10 @@ snapshots:
19307 dependencies:18895 dependencies:
19308 flow-enums-runtime: 0.0.618896 flow-enums-runtime: 0.0.6
1930918897
18898 ob1@0.84.5:
18899 dependencies:
18900 flow-enums-runtime: 0.0.6
18901
19310 object-assign@4.1.1: {}18902 object-assign@4.1.1: {}
1931118903
19312 object-inspect@1.13.4: {}18904 object-inspect@1.13.4: {}
...@@ -19811,18 +19403,10 @@ snapshots:...@@ -19811,18 +19403,10 @@ snapshots:
19811 dependencies:19403 dependencies:
19812 react: 19.2.619404 react: 19.2.6
1981319405
19814 react-fast-compare@3.2.2:
19815 optional: true
19816
19817 react-freeze@1.0.4(react@19.2.3):19406 react-freeze@1.0.4(react@19.2.3):
19818 dependencies:19407 dependencies:
19819 react: 19.2.319408 react: 19.2.3
1982019409
19821 react-freeze@1.0.4(react@19.2.6):
19822 dependencies:
19823 react: 19.2.6
19824 optional: true
19825
19826 react-grab@0.1.44(react@19.2.6):19410 react-grab@0.1.44(react@19.2.6):
19827 dependencies:19411 dependencies:
19828 '@react-grab/cli': 0.1.4419412 '@react-grab/cli': 0.1.44
...@@ -19856,159 +19440,100 @@ snapshots:...@@ -19856,159 +19440,100 @@ snapshots:
19856 transitivePeerDependencies:19440 transitivePeerDependencies:
19857 - supports-color19441 - supports-color
1985819442
19859 react-native-drawer-layout@4.2.4(05364bd849de538917a7364cc7dee3f5):19443 react-native-gesture-handler@2.32.0(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19860 dependencies:
19861 color: 4.2.3
19862 react: 19.2.3
19863 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19864 react-native-gesture-handler: 2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
19865 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
19866 use-latest-callback: 0.2.6(react@19.2.3)
19867 optional: true
19868
19869 react-native-drawer-layout@4.2.4(de9b2f2dc96a3557fdc0df187a8417ee):
19870 dependencies:
19871 color: 4.2.3
19872 react: 19.2.6
19873 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
19874 react-native-gesture-handler: 2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
19875 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
19876 use-latest-callback: 0.2.6(react@19.2.6)
19877 optional: true
19878
19879 react-native-gesture-handler@2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19880 dependencies:19444 dependencies:
19881 '@egjs/hammerjs': 2.0.1719445 '@egjs/hammerjs': 2.0.17
19882 '@types/react-test-renderer': 19.1.019446 '@types/react-test-renderer': 19.1.0
19883 hoist-non-react-statics: 3.3.219447 hoist-non-react-statics: 3.3.2
19884 invariant: 2.2.419448 invariant: 2.2.4
19885 react: 19.2.319449 react: 19.2.3
19886 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19450 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19887
19888 react-native-gesture-handler@2.31.2(patch_hash=808eb26f9e57cf4945efd3985af4d9c764da6f91f4c9764433cc868602bbf4d3)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
19889 dependencies:
19890 '@egjs/hammerjs': 2.0.17
19891 '@types/react-test-renderer': 19.1.0
19892 hoist-non-react-statics: 3.3.2
19893 invariant: 2.2.4
19894 react: 19.2.6
19895 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
19896 optional: true
1989719451
19898 react-native-image-viewing@0.2.2(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19452 react-native-image-viewing@0.2.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19899 dependencies:19453 dependencies:
19900 react: 19.2.319454 react: 19.2.3
19901 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19455 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1990219456
19903 react-native-is-edge-to-edge@1.3.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19457 react-native-is-edge-to-edge@1.3.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19904 dependencies:19458 dependencies:
19905 react: 19.2.319459 react: 19.2.3
19906 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19460 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19907
19908 react-native-is-edge-to-edge@1.3.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
19909 dependencies:
19910 react: 19.2.6
19911 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
19912 optional: true
1991319461
19914 react-native-keyboard-controller@1.21.13(patch_hash=20be72c84d74253acdcfefbc6defe36dc396944f1a44cab2bdd0e3cd572ae008)(react-native-reanimated@4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19462 react-native-keyboard-controller@1.21.13(patch_hash=20be72c84d74253acdcfefbc6defe36dc396944f1a44cab2bdd0e3cd572ae008)(react-native-reanimated@4.5.1(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19915 dependencies:19463 dependencies:
19916 react: 19.2.319464 react: 19.2.3
19917 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19465 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19918 react-native-is-edge-to-edge: 1.3.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19466 react-native-is-edge-to-edge: 1.3.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
19919 react-native-reanimated: 4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19467 react-native-reanimated: 4.5.1(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
1992019468
19921 react-native-nitro-markdown@0.5.8(react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native-svg@15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19469 react-native-nitro-markdown@0.5.8(react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native-svg@15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19922 dependencies:19470 dependencies:
19923 react: 19.2.319471 react: 19.2.3
19924 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19472 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19925 react-native-nitro-modules: 0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19473 react-native-nitro-modules: 0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
19926 optionalDependencies:19474 optionalDependencies:
19927 react-native-svg: 15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19475 react-native-svg: 15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
1992819476
19929 react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19477 react-native-nitro-modules@0.35.9(patch_hash=825622aae63a8fb5b904f3c77908a0e216261d727ea171709f2c0b6088422675)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19930 dependencies:19478 dependencies:
19931 react: 19.2.319479 react: 19.2.3
19932 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19480 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1993319481
19934 react-native-reanimated@4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19482 react-native-reanimated@4.5.1(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19935 dependencies:19483 dependencies:
19936 react: 19.2.319484 react: 19.2.3
19937 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19485 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19938 react-native-is-edge-to-edge: 1.3.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19486 react-native-is-edge-to-edge: 1.3.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
19939 react-native-worklets: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19487 react-native-worklets: 0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
19940 semver: 7.8.5
19941
19942 react-native-reanimated@4.3.1(react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
19943 dependencies:
19944 react: 19.2.6
19945 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
19946 react-native-is-edge-to-edge: 1.3.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
19947 react-native-worklets: 0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
19948 semver: 7.8.519488 semver: 7.8.5
19949 optional: true
1995019489
19951 react-native-safe-area-context@5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19490 react-native-safe-area-context@5.7.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19952 dependencies:19491 dependencies:
19953 react: 19.2.319492 react: 19.2.3
19954 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19493 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19955
19956 react-native-safe-area-context@5.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
19957 dependencies:
19958 react: 19.2.6
19959 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
19960 optional: true
1996119494
19962 react-native-screens@4.25.2(patch_hash=7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19495 react-native-screens@4.26.2(patch_hash=11566900d0c90514867ede5a2333ba412ab3b5a532ba1955e6306fff8b12de1a)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19963 dependencies:19496 dependencies:
19964 react: 19.2.319497 react: 19.2.3
19965 react-freeze: 1.0.4(react@19.2.3)19498 react-freeze: 1.0.4(react@19.2.3)
19966 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19499 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19967 warn-once: 0.1.1
19968
19969 react-native-screens@4.25.2(patch_hash=7474c207dfb4c474b90901a53afa13a8c869a185518d6fbe907686dc4439056e)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
19970 dependencies:
19971 react: 19.2.6
19972 react-freeze: 1.0.4(react@19.2.6)
19973 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
19974 warn-once: 0.1.119500 warn-once: 0.1.1
19975 optional: true
1997619501
19977 react-native-shiki-engine@0.3.12(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19502 react-native-shiki-engine@0.3.12(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19978 dependencies:19503 dependencies:
19979 '@shikijs/types': 4.3.019504 '@shikijs/types': 4.3.0
19980 '@shikijs/vscode-textmate': 10.0.219505 '@shikijs/vscode-textmate': 10.0.2
19981 react: 19.2.319506 react: 19.2.3
19982 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19507 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1998319508
19984 react-native-svg@15.15.4(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19509 react-native-svg@15.15.4(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19985 dependencies:19510 dependencies:
19986 css-select: 5.2.219511 css-select: 5.2.2
19987 css-tree: 1.1.319512 css-tree: 1.1.3
19988 react: 19.2.319513 react: 19.2.3
19989 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19514 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
19990 warn-once: 0.1.119515 warn-once: 0.1.1
1999119516
19992 react-native-url-polyfill@4.0.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):19517 react-native-url-polyfill@4.0.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)):
19993 dependencies:19518 dependencies:
19994 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19519 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1999519520
19996 react-native-webview@13.16.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19521 react-native-webview@13.16.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
19997 dependencies:19522 dependencies:
19998 escape-string-regexp: 4.0.019523 escape-string-regexp: 4.0.0
19999 invariant: 2.2.419524 invariant: 2.2.4
20000 react: 19.2.319525 react: 19.2.3
20001 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19526 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
2000219527
20003 react-native-webview@13.16.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):19528 react-native-webview@13.16.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
20004 dependencies:19529 dependencies:
20005 escape-string-regexp: 4.0.019530 escape-string-regexp: 4.0.0
20006 invariant: 2.2.419531 invariant: 2.2.4
20007 react: 19.2.619532 react: 19.2.6
20008 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)19533 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
20009 optional: true19534 optional: true
2001019535
20011 react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):19536 react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3):
20012 dependencies:19537 dependencies:
20013 '@babel/core': 7.29.719538 '@babel/core': 7.29.7
20014 '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7)19539 '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7)
...@@ -20020,15 +19545,16 @@ snapshots:...@@ -20020,15 +19545,16 @@ snapshots:
20020 '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7)19545 '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7)
20021 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)19546 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
20022 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)19547 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)
20023 '@react-native/metro-config': 0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)19548 '@babel/types': 7.29.7
19549 '@react-native/metro-config': 0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)
20024 convert-source-map: 2.0.019550 convert-source-map: 2.0.0
20025 react: 19.2.319551 react: 19.2.3
20026 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)19552 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
20027 semver: 7.8.519553 semver: 7.8.5
20028 transitivePeerDependencies:19554 transitivePeerDependencies:
20029 - supports-color19555 - supports-color
2003019556
20031 react-native-worklets@0.8.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):19557 react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6):
20032 dependencies:19558 dependencies:
20033 '@babel/core': 7.29.719559 '@babel/core': 7.29.7
20034 '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7)19560 '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7)
...@@ -20040,32 +19566,33 @@ snapshots:...@@ -20040,32 +19566,33 @@ snapshots:
20040 '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7)19566 '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7)
20041 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)19567 '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
20042 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)19568 '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)
20043 '@react-native/metro-config': 0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)19569 '@babel/types': 7.29.7
19570 '@react-native/metro-config': 0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6)
20044 convert-source-map: 2.0.019571 convert-source-map: 2.0.0
20045 react: 19.2.619572 react: 19.2.6
20046 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)19573 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6)
20047 semver: 7.8.519574 semver: 7.8.5
20048 transitivePeerDependencies:19575 transitivePeerDependencies:
20049 - supports-color19576 - supports-color
20050 optional: true19577 optional: true
2005119578
20052 react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6):19579 react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6):
20053 dependencies:19580 dependencies:
20054 '@react-native/assets-registry': 0.85.319581 '@react-native/assets-registry': 0.86.3
20055 '@react-native/codegen': 0.85.3(@babel/core@7.29.7)19582 '@react-native/codegen': 0.86.3(@babel/core@7.29.7)
20056 '@react-native/community-cli-plugin': 0.85.3(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)19583 '@react-native/community-cli-plugin': 0.86.3(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)
20057 '@react-native/gradle-plugin': 0.85.3(patch_hash=c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784)19584 '@react-native/gradle-plugin': 0.86.3
20058 '@react-native/js-polyfills': 0.85.319585 '@react-native/js-polyfills': 0.86.3
20059 '@react-native/normalize-colors': 0.85.319586 '@react-native/normalize-colors': 0.86.3
20060 '@react-native/virtualized-lists': 0.85.3(@types/react@19.2.16)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)19587 '@react-native/virtualized-lists': 0.86.3(@types/react@19.2.16)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
20061 abort-controller: 3.0.019588 abort-controller: 3.0.0
20062 anser: 1.4.1019589 anser: 1.4.10
20063 ansi-regex: 5.0.119590 ansi-regex: 5.0.1
20064 babel-plugin-syntax-hermes-parser: 0.33.319591 babel-plugin-syntax-hermes-parser: 0.36.0
20065 base64-js: 1.5.119592 base64-js: 1.5.1
20066 commander: 12.1.019593 commander: 12.1.0
20067 flow-enums-runtime: 0.0.619594 flow-enums-runtime: 0.0.6
20068 hermes-compiler: 250829098.0.1019595 hermes-compiler: 250829098.0.17
20069 invariant: 2.2.419596 invariant: 2.2.4
20070 memoize-one: 5.2.119597 memoize-one: 5.2.1
20071 metro-runtime: 0.84.419598 metro-runtime: 0.84.4
...@@ -20094,23 +19621,23 @@ snapshots:...@@ -20094,23 +19621,23 @@ snapshots:
20094 - supports-color19621 - supports-color
20095 - utf-8-validate19622 - utf-8-validate
2009619623
20097 react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6):19624 react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6):
20098 dependencies:19625 dependencies:
20099 '@react-native/assets-registry': 0.85.319626 '@react-native/assets-registry': 0.86.3
20100 '@react-native/codegen': 0.85.3(@babel/core@7.29.7)19627 '@react-native/codegen': 0.86.3(@babel/core@7.29.7)
20101 '@react-native/community-cli-plugin': 0.85.3(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)19628 '@react-native/community-cli-plugin': 0.86.3(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)
20102 '@react-native/gradle-plugin': 0.85.3(patch_hash=c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784)19629 '@react-native/gradle-plugin': 0.86.3
20103 '@react-native/js-polyfills': 0.85.319630 '@react-native/js-polyfills': 0.86.3
20104 '@react-native/normalize-colors': 0.85.319631 '@react-native/normalize-colors': 0.86.3
20105 '@react-native/virtualized-lists': 0.85.3(@types/react@19.2.16)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)19632 '@react-native/virtualized-lists': 0.86.3(@types/react@19.2.16)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
20106 abort-controller: 3.0.019633 abort-controller: 3.0.0
20107 anser: 1.4.1019634 anser: 1.4.10
20108 ansi-regex: 5.0.119635 ansi-regex: 5.0.1
20109 babel-plugin-syntax-hermes-parser: 0.33.319636 babel-plugin-syntax-hermes-parser: 0.36.0
20110 base64-js: 1.5.119637 base64-js: 1.5.1
20111 commander: 12.1.019638 commander: 12.1.0
20112 flow-enums-runtime: 0.0.619639 flow-enums-runtime: 0.0.6
20113 hermes-compiler: 250829098.0.1019640 hermes-compiler: 250829098.0.17
20114 invariant: 2.2.419641 invariant: 2.2.4
20115 memoize-one: 5.2.119642 memoize-one: 5.2.1
20116 metro-runtime: 0.84.419643 metro-runtime: 0.84.4
...@@ -20155,15 +19682,6 @@ snapshots:...@@ -20155,15 +19682,6 @@ snapshots:
20155 optionalDependencies:19682 optionalDependencies:
20156 '@types/react': 19.2.1619683 '@types/react': 19.2.16
2015719684
20158 react-remove-scroll-bar@2.3.8(@types/react@19.2.16)(react@19.2.6):
20159 dependencies:
20160 react: 19.2.6
20161 react-style-singleton: 2.2.3(@types/react@19.2.16)(react@19.2.6)
20162 tslib: 2.8.1
20163 optionalDependencies:
20164 '@types/react': 19.2.16
20165 optional: true
20166
20167 react-remove-scroll@2.7.2(@types/react@19.2.16)(react@19.2.3):19685 react-remove-scroll@2.7.2(@types/react@19.2.16)(react@19.2.3):
20168 dependencies:19686 dependencies:
20169 react: 19.2.319687 react: 19.2.3
...@@ -20175,18 +19693,6 @@ snapshots:...@@ -20175,18 +19693,6 @@ snapshots:
20175 optionalDependencies:19693 optionalDependencies:
20176 '@types/react': 19.2.1619694 '@types/react': 19.2.16
2017719695
20178 react-remove-scroll@2.7.2(@types/react@19.2.16)(react@19.2.6):
20179 dependencies:
20180 react: 19.2.6
20181 react-remove-scroll-bar: 2.3.8(@types/react@19.2.16)(react@19.2.6)
20182 react-style-singleton: 2.2.3(@types/react@19.2.16)(react@19.2.6)
20183 tslib: 2.8.1
20184 use-callback-ref: 1.3.3(@types/react@19.2.16)(react@19.2.6)
20185 use-sidecar: 1.1.3(@types/react@19.2.16)(react@19.2.6)
20186 optionalDependencies:
20187 '@types/react': 19.2.16
20188 optional: true
20189
20190 react-style-singleton@2.2.3(@types/react@19.2.16)(react@19.2.3):19696 react-style-singleton@2.2.3(@types/react@19.2.16)(react@19.2.3):
20191 dependencies:19697 dependencies:
20192 get-nonce: 1.0.119698 get-nonce: 1.0.1
...@@ -20195,15 +19701,6 @@ snapshots:...@@ -20195,15 +19701,6 @@ snapshots:
20195 optionalDependencies:19701 optionalDependencies:
20196 '@types/react': 19.2.1619702 '@types/react': 19.2.16
2019719703
20198 react-style-singleton@2.2.3(@types/react@19.2.16)(react@19.2.6):
20199 dependencies:
20200 get-nonce: 1.0.1
20201 react: 19.2.6
20202 tslib: 2.8.1
20203 optionalDependencies:
20204 '@types/react': 19.2.16
20205 optional: true
20206
20207 react@19.2.3: {}19704 react@19.2.3: {}
2020819705
20209 react@19.2.6: {}19706 react@19.2.6: {}
...@@ -20228,12 +19725,6 @@ snapshots:...@@ -20228,12 +19725,6 @@ snapshots:
2022819725
20229 readdirp@5.0.0: {}19726 readdirp@5.0.0: {}
2023019727
20231 redent@3.0.0:
20232 dependencies:
20233 indent-string: 4.0.0
20234 strip-indent: 3.0.0
20235 optional: true
20236
20237 redis-errors@1.2.0: {}19728 redis-errors@1.2.0: {}
2023819729
20239 redis-parser@3.0.0:19730 redis-parser@3.0.0:
...@@ -20544,6 +20035,8 @@ snapshots:...@@ -20544,6 +20035,8 @@ snapshots:
2054420035
20545 safer-buffer@2.1.2: {}20036 safer-buffer@2.1.2: {}
2054620037
20038 sandbox-cli-detector@0.2.0: {}
20039
20547 sanitize-filename@1.6.4:20040 sanitize-filename@1.6.4:
20548 dependencies:20041 dependencies:
20549 truncate-utf8-bytes: 1.0.220042 truncate-utf8-bytes: 1.0.2
...@@ -20652,18 +20145,12 @@ snapshots:...@@ -20652,18 +20145,12 @@ snapshots:
20652 transitivePeerDependencies:20145 transitivePeerDependencies:
20653 - supports-color20146 - supports-color
2065420147
20655 server-only@0.0.1:
20656 optional: true
20657
20658 setimmediate@1.0.5: {}20148 setimmediate@1.0.5: {}
2065920149
20660 setprototypeof@1.2.0: {}20150 setprototypeof@1.2.0: {}
2066120151
20662 sf-symbols-typescript@2.2.0: {}20152 sf-symbols-typescript@2.2.0: {}
2066320153
20664 shallowequal@1.1.0:
20665 optional: true
20666
20667 sharp@0.34.5:20154 sharp@0.34.5:
20668 dependencies:20155 dependencies:
20669 '@img/colour': 1.1.020156 '@img/colour': 1.1.0
...@@ -20846,9 +20333,6 @@ snapshots:...@@ -20846,9 +20333,6 @@ snapshots:
2084620333
20847 standard-as-callback@2.1.0: {}20334 standard-as-callback@2.1.0: {}
2084820335
20849 standard-navigation@0.0.5:
20850 optional: true
20851
20852 standard-navigation@0.0.7: {}20336 standard-navigation@0.0.7: {}
2085320337
20854 standardwebhooks@1.0.0:20338 standardwebhooks@1.0.0:
...@@ -20910,11 +20394,6 @@ snapshots:...@@ -20910,11 +20394,6 @@ snapshots:
20910 dependencies:20394 dependencies:
20911 ansi-regex: 6.2.220395 ansi-regex: 6.2.2
2091220396
20913 strip-indent@3.0.0:
20914 dependencies:
20915 min-indent: 1.0.1
20916 optional: true
20917
20918 strnum@2.3.0: {}20397 strnum@2.3.0: {}
2091920398
20920 structured-headers@0.4.1: {}20399 structured-headers@0.4.1: {}
...@@ -21223,14 +20702,14 @@ snapshots:...@@ -21223,14 +20702,14 @@ snapshots:
2122320702
21224 universalify@2.0.1: {}20703 universalify@2.0.1: {}
2122520704
21226 uniwind@1.7.0(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(tailwindcss@4.3.0):20705 uniwind@1.7.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(tailwindcss@4.3.0):
21227 dependencies:20706 dependencies:
21228 '@tailwindcss/node': 4.2.120707 '@tailwindcss/node': 4.2.1
21229 '@tailwindcss/oxide': 4.2.120708 '@tailwindcss/oxide': 4.2.1
21230 culori: 4.0.220709 culori: 4.0.2
21231 lightningcss: 1.30.120710 lightningcss: 1.30.1
21232 react: 19.2.320711 react: 19.2.3
21233 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)20712 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
21234 tailwindcss: 4.3.020713 tailwindcss: 4.3.0
2123520714
21236 unpipe@1.0.0: {}20715 unpipe@1.0.0: {}
...@@ -21289,23 +20768,10 @@ snapshots:...@@ -21289,23 +20768,10 @@ snapshots:
21289 optionalDependencies:20768 optionalDependencies:
21290 '@types/react': 19.2.1620769 '@types/react': 19.2.16
2129120770
21292 use-callback-ref@1.3.3(@types/react@19.2.16)(react@19.2.6):
21293 dependencies:
21294 react: 19.2.6
21295 tslib: 2.8.1
21296 optionalDependencies:
21297 '@types/react': 19.2.16
21298 optional: true
21299
21300 use-latest-callback@0.2.6(react@19.2.3):20771 use-latest-callback@0.2.6(react@19.2.3):
21301 dependencies:20772 dependencies:
21302 react: 19.2.320773 react: 19.2.3
2130320774
21304 use-latest-callback@0.2.6(react@19.2.6):
21305 dependencies:
21306 react: 19.2.6
21307 optional: true
21308
21309 use-sidecar@1.1.3(@types/react@19.2.16)(react@19.2.3):20775 use-sidecar@1.1.3(@types/react@19.2.16)(react@19.2.3):
21310 dependencies:20776 dependencies:
21311 detect-node-es: 1.1.020777 detect-node-es: 1.1.0
...@@ -21314,15 +20780,6 @@ snapshots:...@@ -21314,15 +20780,6 @@ snapshots:
21314 optionalDependencies:20780 optionalDependencies:
21315 '@types/react': 19.2.1620781 '@types/react': 19.2.16
2131620782
21317 use-sidecar@1.1.3(@types/react@19.2.16)(react@19.2.6):
21318 dependencies:
21319 detect-node-es: 1.1.0
21320 react: 19.2.6
21321 tslib: 2.8.1
21322 optionalDependencies:
21323 '@types/react': 19.2.16
21324 optional: true
21325
21326 use-sync-external-store@1.6.0(react@19.2.3):20783 use-sync-external-store@1.6.0(react@19.2.3):
21327 dependencies:20784 dependencies:
21328 react: 19.2.320785 react: 19.2.3
...@@ -21359,16 +20816,6 @@ snapshots:...@@ -21359,16 +20816,6 @@ snapshots:
21359 - '@types/react'20816 - '@types/react'
21360 - '@types/react-dom'20817 - '@types/react-dom'
2136120818
21362 vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
21363 dependencies:
21364 '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
21365 react: 19.2.6
21366 react-dom: 19.2.6(react@19.2.6)
21367 transitivePeerDependencies:
21368 - '@types/react'
21369 - '@types/react-dom'
21370 optional: true
21371
21372 vfile-location@5.0.3:20819 vfile-location@5.0.3:
21373 dependencies:20820 dependencies:
21374 '@types/unist': 3.0.320821 '@types/unist': 3.0.3
pnpm-workspace.yaml+19-10
...@@ -76,6 +76,15 @@ minimumReleaseAgeExclude:...@@ -76,6 +76,15 @@ minimumReleaseAgeExclude:
76 - alchemy@2.0.0-beta.6576 - alchemy@2.0.0-beta.65
77 - effect@4.0.0-beta.10377 - effect@4.0.0-beta.103
78 - "@legendapp/list@3.3.5"78 - "@legendapp/list@3.3.5"
79 - "@expo/cli@57.0.20"
80 - "@expo/env@2.4.3"
81 - "@expo/fingerprint@0.20.11"
82 - "@expo/metro-config@57.0.12"
83 - expo-constants@57.0.16
84 - expo-font@57.0.2
85 - expo-updates@57.0.19
86 - expo@57.0.18
87 - expo-widgets@57.0.15
7988
80overrides:89overrides:
81 # The SDK always receives the user's Claude executable, so its bundled binaries are unused.90 # The SDK always receives the user's Claude executable, so its bundled binaries are unused.
...@@ -108,20 +117,22 @@ overrides:...@@ -108,20 +117,22 @@ overrides:
108 "@effect/sql-sqlite-bun": "catalog:"117 "@effect/sql-sqlite-bun": "catalog:"
109 "@effect/vitest": "catalog:"118 "@effect/vitest": "catalog:"
110 "@effect/vitest>vitest": "-"119 "@effect/vitest>vitest": "-"
111 "@expo/metro-config": 56.0.14120 "@expo/dom-webview": 57.0.1
121 "@expo/metro-config": 57.0.12
122 expo-constants: 57.0.16
112 "@pierre/diffs>@shikijs/transformers": ^4.2.0123 "@pierre/diffs>@shikijs/transformers": ^4.2.0
113 "@types/node": "catalog:"124 "@types/node": "catalog:"
114 effect: "catalog:"125 effect: "catalog:"
115 expo-modules-jsi: 56.0.10126 expo-router: 57.0.17
116 "expo-sharing>@expo/config-plugins": 56.0.9127 "expo-sharing>@expo/config-plugins": 57.0.9
117 "expo-sharing>@expo/config-types": 56.0.6128 "expo-sharing>@expo/config-types": 57.0.2
118 vite: "catalog:"129 vite: "catalog:"
119 yaml: "catalog:"130 yaml: "catalog:"
120131
121packageExtensions:132packageExtensions:
122 "@clerk/expo@*":133 "@clerk/expo@*":
123 dependencies:134 dependencies:
124 "@expo/config-plugins": 56.0.9135 "@expo/config-plugins": 57.0.9
125 "@effect/vitest@*":136 "@effect/vitest@*":
126 dependencies:137 dependencies:
127 vite-plus: "catalog:"138 vite-plus: "catalog:"
...@@ -135,19 +146,17 @@ packageExtensions:...@@ -135,19 +146,17 @@ packageExtensions:
135patchedDependencies:146patchedDependencies:
136 "@clerk/expo@4.2.0": patches/@clerk__expo@4.2.0.patch147 "@clerk/expo@4.2.0": patches/@clerk__expo@4.2.0.patch
137 "@effect/vitest@4.0.0-beta.103": patches/@effect__vitest@4.0.0-beta.103.patch148 "@effect/vitest@4.0.0-beta.103": patches/@effect__vitest@4.0.0-beta.103.patch
138 "@expo/metro-config@56.0.14": patches/@expo%2Fmetro-config@56.0.14.patch149 "@expo/metro-config@57.0.12": patches/@expo__metro-config@57.0.12.patch
139 "@ff-labs/fff-node@0.9.4": patches/@ff-labs__fff-node@0.9.4.patch150 "@ff-labs/fff-node@0.9.4": patches/@ff-labs__fff-node@0.9.4.patch
140 "@legendapp/list@3.3.5": patches/@legendapp__list@3.3.5.patch151 "@legendapp/list@3.3.5": patches/@legendapp__list@3.3.5.patch
141 "@pierre/diffs@1.3.0-beta.10": patches/@pierre%2Fdiffs@1.3.0-beta.10.patch152 "@pierre/diffs@1.3.0-beta.10": patches/@pierre%2Fdiffs@1.3.0-beta.10.patch
142 "@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch153 "@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch
143 "@react-native/gradle-plugin@0.85.3": patches/@react-native__gradle-plugin@0.85.3.patch
144 "@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch154 "@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch
145 effect@4.0.0-beta.103: patches/effect@4.0.0-beta.103.patch155 effect@4.0.0-beta.103: patches/effect@4.0.0-beta.103.patch
146 expo-modules-jsi@56.0.10: patches/expo-modules-jsi@56.0.10.patch156 react-native-gesture-handler@2.32.0: patches/react-native-gesture-handler@2.32.0.patch
147 react-native-gesture-handler@2.31.2: patches/react-native-gesture-handler@2.31.2.patch
148 react-native-keyboard-controller@1.21.13: patches/react-native-keyboard-controller@1.21.13.patch157 react-native-keyboard-controller@1.21.13: patches/react-native-keyboard-controller@1.21.13.patch
149 react-native-nitro-modules@0.35.9: patches/react-native-nitro-modules@0.35.9.patch158 react-native-nitro-modules@0.35.9: patches/react-native-nitro-modules@0.35.9.patch
150 react-native-screens@4.25.2: patches/react-native-screens@4.25.2.patch159 react-native-screens@4.26.2: patches/react-native-screens@4.26.2.patch
151160
152peerDependencyRules:161peerDependencyRules:
153 allowAny:162 allowAny: