diff --git a/apps/bare-expo/ios/Podfile.lock b/apps/bare-expo/ios/Podfile.lock index aca636888da9a1..34707195192beb 100644 --- a/apps/bare-expo/ios/Podfile.lock +++ b/apps/bare-expo/ios/Podfile.lock @@ -38,7 +38,7 @@ PODS: - EXManifests/Tests (56.0.4): - ExpoModulesCore - ExpoModulesTestCore - - Expo (56.0.0): + - Expo (56.0.1): - ExpoModulesCore - ExpoModulesJSI - hermes-engine @@ -299,7 +299,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Expo/Tests (56.0.0): + - Expo/Tests (56.0.1): - ExpoModulesCore - ExpoModulesJSI - ExpoModulesTestCore @@ -588,7 +588,7 @@ PODS: - ExpoNotifications/Tests (56.0.11): - ExpoModulesCore - ExpoModulesTestCore - - ExpoObserve (56.0.11): + - ExpoObserve (56.0.12): - EASClient - ExpoAppMetrics - ExpoModulesCore @@ -613,7 +613,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoObserve/Tests (56.0.11): + - ExpoObserve/Tests (56.0.12): - EASClient - ExpoAppMetrics - ExpoModulesCore @@ -2317,7 +2317,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-safe-area-context (5.6.2): + - react-native-safe-area-context (5.7.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2329,8 +2329,8 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-safe-area-context/common (= 5.6.2) - - react-native-safe-area-context/fabric (= 5.6.2) + - react-native-safe-area-context/common (= 5.7.0) + - react-native-safe-area-context/fabric (= 5.7.0) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -2341,7 +2341,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-safe-area-context/common (5.6.2): + - react-native-safe-area-context/common (5.7.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2363,7 +2363,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-safe-area-context/fabric (5.6.2): + - react-native-safe-area-context/fabric (5.7.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3437,7 +3437,7 @@ DEPENDENCIES: - "react-native-keyboard-controller (from `../../../node_modules/.pnpm/react-native-keyboard-controller@1.21.6_react-native-reanimated@4.3.1_patch_hash=1e34e4_e9da8032dc92e07ee8e9f9de5f82aa13/node_modules/react-native-keyboard-controller`)" - "react-native-netinfo (from `../../../node_modules/.pnpm/@react-native-community+netinfo@11.5.2_patch_hash=ced0cb79848978ecc3e780a4d812d94868434_57cdd99b2abbd81bf66bfe06e3966bfe/node_modules/@react-native-community/netinfo`)" - "react-native-pager-view (from `../../../node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.85.3_@babel+core@7.29.0_@react-native+jest_635cad3fc277b440fe37e814de1bc4f1/node_modules/react-native-pager-view`)" - - "react-native-safe-area-context (from `../../../node_modules/.pnpm/react-native-safe-area-context@5.6.2_react-native@0.85.3_@babel+core@7.29.0_@react-nati_b5c9982a06f140c157b72454b7505cf1/node_modules/react-native-safe-area-context`)" + - "react-native-safe-area-context (from `../../../node_modules/.pnpm/react-native-safe-area-context@5.7.0_react-native@0.85.3_@babel+core@7.29.0_@react-nati_5218ce1da1bc499456ea2ce83b894307/node_modules/react-native-safe-area-context`)" - "react-native-segmented-control (from `../../../node_modules/.pnpm/@react-native-segmented-control+segmented-control@2.5.7_react-native@0.85.3_@babel+core_d06c98e80c699e170f8b37806ce468ec/node_modules/@react-native-segmented-control/segmented-control`)" - "react-native-skia (from `../../../node_modules/.pnpm/@shopify+react-native-skia@2.4.18_react-native-reanimated@4.3.1_patch_hash=1e34e4238541_c7ed8dcc454df7c13ebf24d246f99025/node_modules/@shopify/react-native-skia`)" - "react-native-slider (from `../../../node_modules/.pnpm/@react-native-community+slider@5.1.2/node_modules/@react-native-community/slider`)" @@ -3851,7 +3851,7 @@ EXTERNAL SOURCES: react-native-pager-view: :path: "../../../node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.85.3_@babel+core@7.29.0_@react-native+jest_635cad3fc277b440fe37e814de1bc4f1/node_modules/react-native-pager-view" react-native-safe-area-context: - :path: "../../../node_modules/.pnpm/react-native-safe-area-context@5.6.2_react-native@0.85.3_@babel+core@7.29.0_@react-nati_b5c9982a06f140c157b72454b7505cf1/node_modules/react-native-safe-area-context" + :path: "../../../node_modules/.pnpm/react-native-safe-area-context@5.7.0_react-native@0.85.3_@babel+core@7.29.0_@react-nati_5218ce1da1bc499456ea2ce83b894307/node_modules/react-native-safe-area-context" react-native-segmented-control: :path: "../../../node_modules/.pnpm/@react-native-segmented-control+segmented-control@2.5.7_react-native@0.85.3_@babel+core_d06c98e80c699e170f8b37806ce468ec/node_modules/@react-native-segmented-control/segmented-control" react-native-skia: @@ -3967,7 +3967,7 @@ SPEC CHECKSUMS: EXConstants: 13f6719b5c0d537be9c7b169d54445b063f95213 EXJSONUtils: dba2755f4e24009eaf87a876b2d615ea06c16e42 EXManifests: 7e19be8df665a338493060a419847dae76ffcd43 - Expo: bbddb135ce862854a8351782c4ac2923d5ca4898 + Expo: 0794b44ac16db51ced9ce6a9402f3cdc93aaedce expo-dev-client: e7bdc2fee0cedb048f283eafd8439a09b6028a8a expo-dev-launcher: 2aec76e53c72eb67e0d0e4a4495337293cd13af9 expo-dev-menu: 533fd236470d22a1d16bb810fc6823171723a9e1 @@ -3975,7 +3975,7 @@ SPEC CHECKSUMS: ExpoAgeRange: c652074c8c24bf52bd3201ecd017040c867ba58b ExpoAppIntegrity: 43cc62f24c533b960de07b5038568acedc3a567a ExpoAppleAuthentication: 47f6f6c6722a7facef29d15397635b785086bc5e - ExpoAppMetrics: 886c20aadd776a9af1530fef0b8f70411c4e2be0 + ExpoAppMetrics: a9aca0e3a26a8d1a57f7f47b9f109f96c1964d95 ExpoAsset: 051b7b3bf1edecb3d8f3643b0b9dc3e308d43cb4 ExpoAudio: ad5b6e07a7ff22b89e7683d8a12cf51a54f6b90b ExpoBackgroundFetch: 52cefdd114179fba877d76fdcef2aa694cfce0fe @@ -4023,7 +4023,7 @@ SPEC CHECKSUMS: ExpoModulesWorkletsAdapter: 4d065a4e45a12246e2a111fbd4727bb98c74e691 ExpoNetwork: c9651806f67c5fe93d221f9b4533c98ae6833bb9 ExpoNotifications: a360386d2944c24e5ce4543d8a5b13d01f994527 - ExpoObserve: f3bf7aa608758070f6128ac737d775a7ae2227e5 + ExpoObserve: 546d058d32eae5a794f3131fd7908a7af757a2a4 ExpoPrint: 6b5bcac4492908b7e28144c2e7265c1c5ee4ade0 ExpoScreenCapture: c388565b6244aec9d96c18941efbee8655b2fec2 ExpoScreenOrientation: 733d1dc1fa97f2716442d4fa2b0abe1457d9d2dd @@ -4098,7 +4098,7 @@ SPEC CHECKSUMS: react-native-keyboard-controller: 91fb57a926597b9d16c8438bc88f1142a169715c react-native-netinfo: 4319d381f35bc11b53dafebd5cd99c04c66a9fb4 react-native-pager-view: a3cb9627d41fa2f31ad2b312af6e3f10f831f26d - react-native-safe-area-context: 91a90d98c310adcc90a511e5aeb6046d7c19d885 + react-native-safe-area-context: 6b4966397ada0f7dd481e4486a2ef936834861a1 react-native-segmented-control: bf6e0032726727498e18dd437ae88afcdbc18e99 react-native-skia: 93613a9428b7f33530e5e085e95a89f023548320 react-native-slider: f9910f69950b9953c46e091377c1265b71eb01f0 diff --git a/apps/bare-expo/package.json b/apps/bare-expo/package.json index 38abd3b136cea2..da5e09ac2ce103 100644 --- a/apps/bare-expo/package.json +++ b/apps/bare-expo/package.json @@ -88,7 +88,7 @@ "react-native-keyboard-controller": "^1.20.7", "react-native-pager-view": "6.9.1", "react-native-reanimated": "4.3.1", - "react-native-safe-area-context": "5.6.2", + "react-native-safe-area-context": "5.7.0", "react-native-screens": "4.25.1", "react-native-svg": "15.15.4", "react-native-view-shot": "4.0.3", diff --git a/apps/expo-go/ios/Podfile.lock b/apps/expo-go/ios/Podfile.lock index 089340f7f97b5a..fdb8bc1c1f4230 100644 --- a/apps/expo-go/ios/Podfile.lock +++ b/apps/expo-go/ios/Podfile.lock @@ -20,7 +20,7 @@ PODS: - EXManifests/Tests (56.0.4): - ExpoModulesCore - ExpoModulesTestCore - - Expo (56.0.0): + - Expo (56.0.1): - boost - DoubleConversion - ExpoModulesCore @@ -52,7 +52,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - Expo/Tests (56.0.0): + - Expo/Tests (56.0.1): - boost - DoubleConversion - ExpoModulesCore @@ -4643,7 +4643,7 @@ SPEC CHECKSUMS: EXConstants: 13f6719b5c0d537be9c7b169d54445b063f95213 EXJSONUtils: dba2755f4e24009eaf87a876b2d615ea06c16e42 EXManifests: 7e19be8df665a338493060a419847dae76ffcd43 - Expo: 58bbb883cc6f2fb7a270d038beffdb59adf7a339 + Expo: 1947f699c1f4db845a6d7bf63a791d8bc89241be ExpoAsset: 051b7b3bf1edecb3d8f3643b0b9dc3e308d43cb4 ExpoAudio: ad5b6e07a7ff22b89e7683d8a12cf51a54f6b90b ExpoBackgroundFetch: 52cefdd114179fba877d76fdcef2aa694cfce0fe @@ -4723,7 +4723,7 @@ SPEC CHECKSUMS: GoogleAppMeasurement: 8a82b93a6400c8e6551c0bcd66a9177f2e067aed GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 - hermes-engine: 971c315ad976a4dcbf09795cb72e85ea3f7200d9 + hermes-engine: 020d7dbf64ea2ac7f2dc43408d80cc6035c4b3e8 libavif: 5f8e715bea24debec477006f21ef9e95432e254d libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 diff --git a/apps/native-component-list/package.json b/apps/native-component-list/package.json index 05d595bd9ae0f4..723e40a8bb7c54 100644 --- a/apps/native-component-list/package.json +++ b/apps/native-component-list/package.json @@ -153,7 +153,7 @@ "react-native-pager-view": "8.0.0", "react-native-paper": "^5.12.5", "react-native-reanimated": "4.3.1", - "react-native-safe-area-context": "5.6.2", + "react-native-safe-area-context": "5.7.0", "react-native-screens": "4.25.1", "react-native-svg": "15.15.4", "react-native-view-shot": "4.0.3", diff --git a/apps/native-tests/ios/Podfile.lock b/apps/native-tests/ios/Podfile.lock index 6738af70785add..c348155c4f6e92 100644 --- a/apps/native-tests/ios/Podfile.lock +++ b/apps/native-tests/ios/Podfile.lock @@ -6,12 +6,12 @@ PODS: - ExpoModulesTestCore - EXJSONUtils (56.0.0) - EXJSONUtils/Tests (56.0.0) - - EXManifests (56.0.3): + - EXManifests (56.0.4): - ExpoModulesCore - - EXManifests/Tests (56.0.3): + - EXManifests/Tests (56.0.4): - ExpoModulesCore - ExpoModulesTestCore - - Expo (56.0.0-preview.10): + - Expo (56.0.0): - ExpoModulesCore - ExpoModulesJSI - hermes-engine @@ -37,9 +37,9 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher (56.0.9): + - expo-dev-launcher (56.0.13): - EXManifests - - expo-dev-launcher/Main (= 56.0.9) + - expo-dev-launcher/Main (= 56.0.13) - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore @@ -68,7 +68,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Main (56.0.9): + - expo-dev-launcher/Main (56.0.13): - EXManifests - expo-dev-launcher/Unsafe - expo-dev-menu @@ -99,7 +99,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Tests (56.0.9): + - expo-dev-launcher/Tests (56.0.13): - EXManifests - expo-dev-menu - expo-dev-menu-interface @@ -134,7 +134,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Unsafe (56.0.9): + - expo-dev-launcher/Unsafe (56.0.13): - EXManifests - expo-dev-menu - expo-dev-menu-interface @@ -164,8 +164,8 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu (56.0.8): - - expo-dev-menu/Main (= 56.0.8) + - expo-dev-menu (56.0.12): + - expo-dev-menu/Main (= 56.0.12) - hermes-engine - RCTRequired - RCTTypeSafety @@ -188,7 +188,7 @@ PODS: - ReactNativeDependencies - Yoga - expo-dev-menu-interface (56.0.1) - - expo-dev-menu/Main (56.0.8): + - expo-dev-menu/Main (56.0.12): - EXManifests - expo-dev-menu-interface - ExpoModulesCore @@ -214,7 +214,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu/Tests (56.0.8): + - expo-dev-menu/Tests (56.0.12): - ExpoModulesTestCore - hermes-engine - Nimble @@ -240,7 +240,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu/UITests (56.0.8): + - expo-dev-menu/UITests (56.0.12): - ExpoModulesTestCore - hermes-engine - RCTRequired @@ -266,7 +266,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Expo/Tests (56.0.0-preview.10): + - Expo/Tests (56.0.0): - ExpoModulesCore - ExpoModulesJSI - ExpoModulesTestCore @@ -293,7 +293,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoAppMetrics (56.0.7): + - ExpoAppMetrics (56.0.11): - ExpoModulesCore - EXUpdatesInterface - hermes-engine @@ -317,7 +317,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoAppMetrics/Tests (56.0.7): + - ExpoAppMetrics/Tests (56.0.11): - ExpoModulesCore - EXUpdatesInterface - hermes-engine @@ -341,10 +341,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoBackgroundTask (56.0.7): + - ExpoBackgroundTask (56.0.11): - ExpoModulesCore - ExpoTaskManager - - ExpoBackgroundTask/Tests (56.0.7): + - ExpoBackgroundTask/Tests (56.0.11): - ExpoModulesCore - ExpoModulesTestCore - ExpoTaskManager @@ -353,14 +353,14 @@ PODS: - ExpoClipboard/Tests (56.0.3): - ExpoModulesCore - ExpoModulesTestCore - - ExpoImage (56.0.4): + - ExpoImage (56.0.6): - ExpoModulesCore - libavif/libdav1d - SDWebImage (~> 5.21.0) - SDWebImageAVIFCoder (~> 0.11.0) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - ExpoImage/Tests (56.0.4): + - ExpoImage/Tests (56.0.6): - ExpoModulesCore - ExpoModulesTestCore - libavif/libdav1d @@ -368,14 +368,14 @@ PODS: - SDWebImageAVIFCoder (~> 0.11.0) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - ExpoMediaLibrary (56.0.4): + - ExpoMediaLibrary (56.0.5): - ExpoModulesCore - React-Core - - ExpoMediaLibrary/Tests (56.0.4): + - ExpoMediaLibrary/Tests (56.0.5): - ExpoModulesCore - ExpoModulesTestCore - React-Core - - ExpoModulesCore (56.0.7): + - ExpoModulesCore (56.0.11): - ExpoModulesJSI - hermes-engine - RCTRequired @@ -399,7 +399,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoModulesCore/Tests (56.0.7): + - ExpoModulesCore/Tests (56.0.11): - ExpoModulesJSI - ExpoModulesTestCore - hermes-engine @@ -424,23 +424,23 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoModulesJSI (56.0.3): + - ExpoModulesJSI (56.0.7): - React-Core - ReactCommon - - ExpoModulesJSI/Tests (56.0.3): + - ExpoModulesJSI/Tests (56.0.7): - React-Core - ReactCommon - - ExpoModulesTestCore (56.0.1): + - ExpoModulesTestCore (56.0.4): - ExpoModulesCore - Nimble (~> 13.0.0) - Quick (~> 7.3.0) - React-hermes - - ExpoNotifications (56.0.7): + - ExpoNotifications (56.0.11): - ExpoModulesCore - - ExpoNotifications/Tests (56.0.7): + - ExpoNotifications/Tests (56.0.11): - ExpoModulesCore - ExpoModulesTestCore - - ExpoObserve (56.0.7): + - ExpoObserve (56.0.11): - EASClient - ExpoAppMetrics - ExpoModulesCore @@ -465,7 +465,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoObserve/Tests (56.0.7): + - ExpoObserve/Tests (56.0.11): - EASClient - ExpoAppMetrics - ExpoModulesCore @@ -490,23 +490,23 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoRouter (56.1.4): + - ExpoRouter (56.2.3): - ExpoModulesCore - RNScreens - - ExpoRouter/Tests (56.1.4): + - ExpoRouter/Tests (56.2.3): - ExpoModulesCore - ExpoModulesTestCore - RNScreens - - ExpoTaskManager (56.0.7): + - ExpoTaskManager (56.0.11): - ExpoModulesCore - UMAppLoader - - ExpoTaskManager/Tests (56.0.7): + - ExpoTaskManager/Tests (56.0.11): - ExpoModulesCore - ExpoModulesTestCore - UMAppLoader - EXStructuredHeaders (56.0.0) - EXStructuredHeaders/Tests (56.0.0) - - EXUpdates (56.0.10): + - EXUpdates (56.0.14): - EASClient - EXManifests - ExpoModulesCore @@ -534,7 +534,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - EXUpdates/Tests (56.0.10): + - EXUpdates/Tests (56.0.14): - EASClient - EXManifests - ExpoModulesCore @@ -2576,7 +2576,7 @@ PODS: - ReactNativeDependencies - RNWorklets - Yoga - - RNScreens (4.25.0): + - RNScreens (4.25.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2598,9 +2598,9 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNScreens/common (= 4.25.0) + - RNScreens/common (= 4.25.1) - Yoga - - RNScreens/common (4.25.0): + - RNScreens/common (4.25.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2834,7 +2834,7 @@ DEPENDENCIES: - "RNCMaskedView (from `../../../node_modules/.pnpm/@react-native-masked-view+masked-view@0.3.2_react-native@0.85.3_@babel+core@7.29.0_@rea_da87b02ae003a7f77089f8e22aa53d01/node_modules/@react-native-masked-view/masked-view`)" - "RNGestureHandler (from `../../../node_modules/.pnpm/react-native-gesture-handler@2.30.0_react-native@0.85.3_@babel+core@7.29.0_@react-nativ_9a6358180c81a5519b6da847dcb246ed/node_modules/react-native-gesture-handler`)" - "RNReanimated (from `../../../node_modules/.pnpm/react-native-reanimated@4.3.1_patch_hash=1e34e4238541638db96b94d5a2e974e73f3b801788a3d8_1a5e3d09dfc1ab41347a1ceaceaf61bc/node_modules/react-native-reanimated`)" - - "RNScreens (from `../../../node_modules/.pnpm/react-native-screens@4.25.0_react-native@0.85.3_@babel+core@7.29.0_@react-native+jest-p_27bafc37770a4b472b96129a8e818eae/node_modules/react-native-screens`)" + - "RNScreens (from `../../../node_modules/.pnpm/react-native-screens@4.25.1_react-native@0.85.3_@babel+core@7.29.0_@react-native+jest-p_0d10e5dd559afc8ece7b3afa426cb96c/node_modules/react-native-screens`)" - "RNWorklets (from `../../../node_modules/.pnpm/react-native-worklets@0.8.3_patch_hash=3f49a21b44ba558989a3366eeff9c92ee331e18b736dbe89_42b4111e02dad0db2c0db5ed881424fc/node_modules/react-native-worklets`)" - UMAppLoader (from `../../../packages/unimodules-app-loader/ios`) - UMAppLoader/Tests (from `../../../packages/unimodules-app-loader/ios`) @@ -3074,7 +3074,7 @@ EXTERNAL SOURCES: RNReanimated: :path: "../../../node_modules/.pnpm/react-native-reanimated@4.3.1_patch_hash=1e34e4238541638db96b94d5a2e974e73f3b801788a3d8_1a5e3d09dfc1ab41347a1ceaceaf61bc/node_modules/react-native-reanimated" RNScreens: - :path: "../../../node_modules/.pnpm/react-native-screens@4.25.0_react-native@0.85.3_@babel+core@7.29.0_@react-native+jest-p_27bafc37770a4b472b96129a8e818eae/node_modules/react-native-screens" + :path: "../../../node_modules/.pnpm/react-native-screens@4.25.1_react-native@0.85.3_@babel+core@7.29.0_@react-native+jest-p_0d10e5dd559afc8ece7b3afa426cb96c/node_modules/react-native-screens" RNWorklets: :path: "../../../node_modules/.pnpm/react-native-worklets@0.8.3_patch_hash=3f49a21b44ba558989a3366eeff9c92ee331e18b736dbe89_42b4111e02dad0db2c0db5ed881424fc/node_modules/react-native-worklets" UMAppLoader: @@ -3086,28 +3086,28 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: EASClient: 2321f8d99fa86c710a6f68e017f3b54366baed9f EXJSONUtils: dba2755f4e24009eaf87a876b2d615ea06c16e42 - EXManifests: 67869a6d8efa7cb53a7b8b53f451d378c124073f - Expo: 44aecef3556a88407ec4aaa4f1d672088c7d85ef - expo-dev-launcher: 0dac6c478b1325d827f015d72ebd1c7705e57413 - expo-dev-menu: 422a6a7188c134d0b7e72748e7b622133e0fe916 + EXManifests: 7e19be8df665a338493060a419847dae76ffcd43 + Expo: bbddb135ce862854a8351782c4ac2923d5ca4898 + expo-dev-launcher: 2aec76e53c72eb67e0d0e4a4495337293cd13af9 + expo-dev-menu: 533fd236470d22a1d16bb810fc6823171723a9e1 expo-dev-menu-interface: 65402d4affb8b418aa6cec29b3abb0e313c8f443 - ExpoAppMetrics: c8a40f0baf474493a1e732e7ffb78b7750169084 - ExpoBackgroundTask: be387114533be898d4f9ed5120eb1288183578ce + ExpoAppMetrics: 886c20aadd776a9af1530fef0b8f70411c4e2be0 + ExpoBackgroundTask: efebaec6454fdc8bbd6117240be2c381d817d798 ExpoClipboard: eee843698341fd26d571fd2807800f98abb6123c - ExpoImage: 59f71ed6d030241ffadead114064cfd01bd0dc12 - ExpoMediaLibrary: 2ee3defd62fa8da9cb80fdcca71968cdeec7b24f - ExpoModulesCore: 575102f00470ad80a763c1a6b7ef952d668800ca - ExpoModulesJSI: f672bac18356446b024588f7a77b364d80909e71 - ExpoModulesTestCore: 8a57d88aaeae674725ab11d01c43c138d279dfc9 - ExpoNotifications: d4a747ad585d5d5c5101de08c252080e3fae820c - ExpoObserve: 7d9c3e168eacf6dbcd9a5a6ae677412a9a5e6ab1 - ExpoRouter: 8a4b4a2c4796ae20c87affc536e5d2089197ba3e - ExpoTaskManager: 19399a53bf382076051b07c9aed79a1191cd0f1e + ExpoImage: 08e5a5b1071b1e76793582f152e0e5eebf7269b9 + ExpoMediaLibrary: 136a8c3993f9178f537879dd7aded4b263ca9e53 + ExpoModulesCore: 605a046a7bd62fbc568c716281c4b74c7e98cc16 + ExpoModulesJSI: f25a013ea9a79904bdd535e4bea0872e155cde09 + ExpoModulesTestCore: 63adc8f54c0db5122aca43f7d09c45b4573089fc + ExpoNotifications: a360386d2944c24e5ce4543d8a5b13d01f994527 + ExpoObserve: f3bf7aa608758070f6128ac737d775a7ae2227e5 + ExpoRouter: 4ba271124971ccf2829ca20666e483006aeaaa44 + ExpoTaskManager: 05817b5a954f978ff7ae213a2708d72bb50adba3 EXStructuredHeaders: 9e89bcdd636ae2ecb59995cfba3230f5d7547c08 - EXUpdates: a736b2b35ca152b45b5abf0c2d45409a7deee697 + EXUpdates: 906f203e6f735c22457fa9b59a041598bdd49a72 EXUpdatesInterface: 25408a97d682355eb9fb37e5aa6e22caece1881f FBLazyVector: 24e62c765683b8d89006a88a2c8f5cf019f0074d - hermes-engine: 407f52f1dca2c25263c5f76e80cc38a39e0f6ec0 + hermes-engine: 725fd85144e1348879039099a6be950c471a4f2c libavif: 5f8e715bea24debec477006f21ef9e95432e254d libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 @@ -3123,7 +3123,7 @@ SPEC CHECKSUMS: React: e2dc35338068bbd299c66f043ae0d7f25de8499e React-callinvoker: 28b25d21b124c26cebaea713ba7d801b9351dc48 React-Core: 02ed7d2ffb70437bdf2aba074a13078a7b0b9ff0 - React-Core-prebuilt: cf0ea92a0ddc51494c68ab97610d31dc2c71a41e + React-Core-prebuilt: 0dd6fe0448efeb17392a241cc1ddd40457640a86 React-CoreModules: b3a5a42dadcde3b5d47b325bd912eb2ced89e146 React-cxxreact: fe8f88dda044e5905e99a00f41b7a874c3908716 React-debug: 92944dc4d89f56d640e75498266cbde557a48189 @@ -3186,11 +3186,11 @@ SPEC CHECKSUMS: ReactAppDependencyProvider: 25c9c516839be2c5e3d3344f95dc7da5f7e63fc2 ReactCodegen: 363b5e311c22e0e907a7a79b5d8fd095fbe4e561 ReactCommon: 7dfc3250793bf36cf221096ff59e1179e13eef7f - ReactNativeDependencies: 5b4aaa18ba20efebc7a0a839b6bba354b1522eac + ReactNativeDependencies: 007472c1976e86bdfd1177d1dfeb6b3e0e5bd7b8 RNCMaskedView: eb2b2e538afa907f05a5848a1a1ac26092e6fec9 RNGestureHandler: c84901d120acdae2f6f27b5889a7cf144e64e6ec RNReanimated: a1b89be9f4b3f85c708900d0a167cd22d869a198 - RNScreens: a6a509f05ea74d50abab8c21b319b33cfca1ea1c + RNScreens: 75d04ea58bd7a8e8ac60b7968d0382aa71631a7d RNWorklets: edcd0af162eba9fb81af89a4761f1af35086d1cc SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 diff --git a/apps/notification-tester/package.json b/apps/notification-tester/package.json index adc28cd4d147b5..0d79ed7d3fb8f4 100644 --- a/apps/notification-tester/package.json +++ b/apps/notification-tester/package.json @@ -42,7 +42,7 @@ "react": "19.2.3", "react-native": "0.85.3", "react-native-reanimated": "4.3.0", - "react-native-safe-area-context": "5.6.2", + "react-native-safe-area-context": "5.7.0", "react-native-screens": "4.25.1", "react-native-worklets": "0.8.3" }, diff --git a/apps/observe-tester/package.json b/apps/observe-tester/package.json index 34279a593e2193..6f4785a2d7cb2e 100644 --- a/apps/observe-tester/package.json +++ b/apps/observe-tester/package.json @@ -43,7 +43,7 @@ "react": "19.2.3", "react-dom": "19.2.3", "react-native": "0.85.3", - "react-native-safe-area-context": "5.6.2", + "react-native-safe-area-context": "5.7.0", "react-native-screens": "4.25.1" }, "devDependencies": { diff --git a/apps/router-e2e/package.json b/apps/router-e2e/package.json index 49c76a17634a9b..ad2ce391c94677 100644 --- a/apps/router-e2e/package.json +++ b/apps/router-e2e/package.json @@ -78,7 +78,7 @@ "react-dom": "19.2.3", "react-native": "0.85.3", "react-native-gesture-handler": "~2.30.0", - "react-native-safe-area-context": "5.6.2", + "react-native-safe-area-context": "5.7.0", "react-native-screens": "4.25.1", "react-native-web": "^0.21.0", "react-native-webview": "13.16.1" diff --git a/apps/sandbox/package.json b/apps/sandbox/package.json index e6c312b0631cb3..696529c60e0154 100644 --- a/apps/sandbox/package.json +++ b/apps/sandbox/package.json @@ -17,7 +17,7 @@ "expo-splash-screen": "workspace:*", "react": "19.2.3", "react-native": "0.85.3", - "react-native-safe-area-context": "5.6.2", + "react-native-safe-area-context": "5.7.0", "react-native-screens": "~4.25.1" }, "devDependencies": { diff --git a/docs/pages/develop/app-navigation.mdx b/docs/pages/develop/app-navigation.mdx index 10bfd399e29bb5..6d33cd373a42c5 100644 --- a/docs/pages/develop/app-navigation.mdx +++ b/docs/pages/develop/app-navigation.mdx @@ -31,7 +31,7 @@ The library offers platform-specific look-and-feel with smooth animations and ge Expo Router is a file-based routing library for Expo and React Native projects. By following the **app** directory convention, it turns files into routes and is integrated with Expo for [Expo CLI](/more/expo-cli/) and bundling without additional setup. The library also adds features such as typed routes, dynamic routes, lazy bundling in development, static rendering for the web, and automatic deep linking. -New Expo projects created with `npx create-expo-app@latest --template default@sdk-55` include Expo Router by default so you can ship cross-platform navigation quickly while still being able to reach for React Navigation APIs when needed. +New Expo projects created with `npx create-expo-app@latest --template default@sdk-55` include Expo Router by default. -This happens because React Navigation's default theme uses a white background color. To fix this, wrap your app in React Navigation's `ThemeProvider` with the appropriate theme. +This happens because the default theme uses a white background color. To fix this, wrap your app in Expo Router's `ThemeProvider` with the appropriate theme. **For apps supporting both light and dark modes:** ```tsx src/app/_layout.tsx -import { ThemeProvider, DarkTheme, DefaultTheme } from '@react-navigation/native'; +import { ThemeProvider, DarkTheme, DefaultTheme } from 'expo-router'; import { NativeTabs } from 'expo-router/unstable-native-tabs'; import { useColorScheme } from 'react-native'; @@ -1373,7 +1373,7 @@ export default function TabLayout() { **For dark-mode-only apps:** ```tsx src/app/_layout.tsx -import { ThemeProvider, DarkTheme } from '@react-navigation/native'; +import { ThemeProvider, DarkTheme } from 'expo-router'; import { NativeTabs } from 'expo-router/unstable-native-tabs'; export default function TabLayout() { @@ -1417,14 +1417,14 @@ export default function HomeScreen() { -Header buttons with liquid glass styling may flicker or flash their background when switching tabs in dark mode on iOS 26. This happens because React Navigation's default theme doesn't match the system dark mode, causing visual artifacts in the liquid glass rendering. +Header buttons with liquid glass styling may flicker or flash their background when switching tabs in dark mode on iOS 26. This happens because the default theme doesn't match the system dark mode, causing visual artifacts in the liquid glass rendering. -The fix is the same as for the white background flash issue: wrap your layout with `` from `@react-navigation/native` using the appropriate theme. +The fix is the same as for the white background flash issue: wrap your layout with `` from `expo-router` using the appropriate theme. **For apps supporting both light and dark modes:** ```tsx app/_layout.tsx -import { ThemeProvider, DarkTheme, DefaultTheme } from '@react-navigation/native'; +import { ThemeProvider, DarkTheme, DefaultTheme } from 'expo-router'; import { NativeTabs } from 'expo-router/unstable-native-tabs'; import { useColorScheme } from 'react-native'; @@ -1449,7 +1449,7 @@ export default function TabLayout() { **For dark-mode-only apps:** ```tsx app/_layout.tsx -import { ThemeProvider, DarkTheme } from '@react-navigation/native'; +import { ThemeProvider, DarkTheme } from 'expo-router'; import { NativeTabs } from 'expo-router/unstable-native-tabs'; export default function TabLayout() { diff --git a/docs/pages/router/advanced/stack-toolbar.mdx b/docs/pages/router/advanced/stack-toolbar.mdx index 55ae168b01f1aa..303e60e5cbdd2b 100644 --- a/docs/pages/router/advanced/stack-toolbar.mdx +++ b/docs/pages/router/advanced/stack-toolbar.mdx @@ -4,6 +4,7 @@ description: Learn how to use the native toolbar in Stack navigation with Expo R --- import { Collapsible } from '~/ui/components/Collapsible'; +import { Terminal } from '~/ui/components/Snippet'; import { Tabs, Tab } from '~/ui/components/Tabs'; > **important** `Stack.Toolbar` is an [alpha](/more/release-statuses/#alpha) API available on Android in **Expo SDK 56** and later, and on iOS in **Expo SDK 55** and later. The API is subject to breaking changes. @@ -109,6 +110,41 @@ You can browse available symbols in Apple's SF Symbols app. > **info** SF Symbols are an iOS-only feature. +### Material Symbols (Android only) + +The recommended source of icons for Android is [`@expo/material-symbols`](https://www.npmjs.com/package/@expo/material-symbols) library. It ships Google's [Material Symbols](https://fonts.google.com/icons) as individual asset subpaths, so Metro only bundles the icons you actually import. + + + +Import any icon directly from its own subpath and pass it to the `icon` prop: + +```tsx +import Star from '@expo/material-symbols/star.xml'; +import Share from '@expo/material-symbols/share.xml'; +import MoreVert from '@expo/material-symbols/more_vert.xml'; + + {}} /> + {}} /> +{/* ... */} +``` + +Vector drawables are tinted with the toolbar's tint color by default. Pass `iconRenderingMode="original"` to preserve the source colors. + +> **info** Material Symbols XML drawables are an Android-only feature. On iOS, use SF Symbols instead. + +#### Using the same icon on Android and iOS + +`Stack.Toolbar.Button`'s `icon` prop accepts both an `ImageSourcePropType` (Android) and an SF Symbol name (iOS). To use a single component for both platforms, branch on `process.env.EXPO_OS` and pass the platform-appropriate value. Metro replaces `process.env.EXPO_OS` with a string literal at build time, then tree-shakes the branch that doesn't match the current platform — so the Material Symbols XML drawable never ships in the iOS bundle, and the SF Symbol name never ships in the Android bundle: + +```tsx +import Star from '@expo/material-symbols/star.xml'; + + {}} +/>; +``` + ### Custom images You can also use custom images. The API for passing them differs by platform: @@ -609,13 +645,12 @@ export default function DocumentScreen() { -Toolbar buttons with liquid glass styling may flicker or flash their background when navigating between screens in dark mode on iOS 26. This happens because React Navigation's default theme doesn't match the system dark mode, causing visual artifacts in the liquid glass rendering. +Toolbar buttons with liquid glass styling may flicker or flash their background when navigating between screens in dark mode on iOS 26. This happens because the default theme doesn't match the system dark mode, causing visual artifacts in the liquid glass rendering. -To fix this, wrap your root layout with `` from `@react-navigation/native` using the appropriate theme: +To fix this, wrap your root layout with `` from `expo-router` using the appropriate theme: ```tsx src/app/_layout.tsx -import { ThemeProvider, DarkTheme, DefaultTheme } from '@react-navigation/native'; -import { Stack } from 'expo-router'; +import { ThemeProvider, DarkTheme, DefaultTheme, Stack } from 'expo-router'; import { useColorScheme } from 'react-native'; export default function RootLayout() { @@ -637,11 +672,10 @@ export default function RootLayout() { A white flash between screen transitions usually means the navigation stack is using a light background while your app uses a dark theme. This is especially noticeable when screens contain toolbar items, as the flash contrasts with the toolbar styling. -To fix this, wrap your root layout with React Navigation's `` and pass the appropriate theme: +To fix this, wrap your root layout with Expo Router's `` and pass the appropriate theme: ```tsx src/app/_layout.tsx -import { ThemeProvider, DarkTheme, DefaultTheme } from '@react-navigation/native'; -import { Stack } from 'expo-router'; +import { ThemeProvider, DarkTheme, DefaultTheme, Stack } from 'expo-router'; import { useColorScheme } from 'react-native'; export default function RootLayout() { @@ -711,7 +745,7 @@ export default function Home() { - + On Android, `icon` must be an `ImageSourcePropType`. For example `require('./icon.png')` or `{ uri: '...' }`. diff --git a/docs/pages/router/advanced/stack.mdx b/docs/pages/router/advanced/stack.mdx index 8a1f79173b6500..653b4cb16c72fe 100644 --- a/docs/pages/router/advanced/stack.mdx +++ b/docs/pages/router/advanced/stack.mdx @@ -473,57 +473,6 @@ export default function Settings() { } ``` -## Relation with Native Stack Navigator - -The `Stack` navigator in Expo Router wraps the [Native Stack Navigator](https://reactnavigation.org/docs/native-stack-navigator) from React Navigation. Options available in the Native Stack Navigator are all available in the `Stack` navigator in Expo Router. - -### JavaScript stack with @react-navigation/stack - -You can also use the JavaScript-powered `@react-navigation/stack` library to create a custom layout component by wrapping this library with the `withLayoutContext`. - -In the following example, `JsStack` component is defined using `@react-navigation/stack` library: - -```tsx layouts/js-stack.tsx -import { ParamListBase, StackNavigationState } from '@react-navigation/native'; -import { - createStackNavigator, - StackNavigationEventMap, - StackNavigationOptions, -} from '@react-navigation/stack'; -import { withLayoutContext } from 'expo-router'; - -const { Navigator } = createStackNavigator(); - -export const JsStack = withLayoutContext< - StackNavigationOptions, - typeof Navigator, - StackNavigationState, - StackNavigationEventMap ->(Navigator); -``` - -After defining the `JsStack` component, you can use it in your app: - -{/* prettier-ignore */} -```tsx src/app/_layout.tsx -import { JsStack } from '../layouts/js-stack'; - -export default function Layout() { - return ( - - ); -} -``` - -For more information on available options, see [`@react-navigation/stack` documentation](https://reactnavigation.org/docs/stack-navigator). - ## iOS 26 Liquid Glass headers Starting from iOS 26, navigation headers adopt the system's "Liquid Glass" effect by default. It cannot be disabled per screen, so you need to opt out using a global configuration. @@ -546,9 +495,17 @@ Create a [development build](/develop/development-builds/create-a-build/#prerequ ### Method 2: Use JavaScript-based navigation stack -Switch from native navigation library ([`@react-navigation/native`](https://reactnavigation.org/docs/native-stack-navigator/)) to a JavaScript-based stack navigator library such as [`@react-navigation/stack`](https://reactnavigation.org/docs/stack-navigator/), which gives you full control over the header UI but at the cost of performance benefits of using the highly optimized iOS navigation views/controllers. +Swap the native stack for the JavaScript-driven stack shipped at `expo-router/js-stack`. This gives you full control over the header UI, at the cost of the performance benefits of the highly optimized iOS navigation views and controllers: -For more information, see [JavaScript stack with `@react-navigation/stack`](#javascript-stack-with-react-navigationstack). +```tsx src/app/_layout.tsx +import { Stack as JsStack } from 'expo-router/js-stack'; + +export default function Layout() { + return ; +} +``` + +The `expo-router/js-stack` entry point is the SDK 56 replacement for the `@react-navigation/stack` library. See the [SDK 55 to 56 migration guide](/router/migrate/sdk-55-to-56) for more information. ## Common problems @@ -600,11 +557,10 @@ export default function Home() { A white flash between screen transitions usually means the navigation stack is using a light background while your app uses a dark theme. -To fix this, wrap your root layout with React Navigation's `` and pass the appropriate theme: +To fix this, wrap your root layout with Expo Router's `` and pass the appropriate theme: ```tsx src/app/_layout.tsx -import { ThemeProvider, DarkTheme, DefaultTheme } from '@react-navigation/native'; -import { Stack } from 'expo-router'; +import { ThemeProvider, DarkTheme, DefaultTheme, Stack } from 'expo-router'; import { useColorScheme } from 'react-native'; export default function RootLayout() { @@ -623,8 +579,7 @@ export default function RootLayout() { For apps that are always dark-themed: ```tsx src/app/_layout.tsx -import { ThemeProvider, DarkTheme } from '@react-navigation/native'; -import { Stack } from 'expo-router'; +import { ThemeProvider, DarkTheme, Stack } from 'expo-router'; export default function RootLayout() { return ( diff --git a/docs/pages/router/basics/navigation.mdx b/docs/pages/router/basics/navigation.mdx index f8be79bd430663..14086ea20f79fb 100644 --- a/docs/pages/router/basics/navigation.mdx +++ b/docs/pages/router/basics/navigation.mdx @@ -11,7 +11,7 @@ import { BoxLink } from '~/ui/components/BoxLink'; import { FileTree } from '~/ui/components/FileTree'; import { VideoBoxLink } from '~/ui/components/VideoBoxLink'; -Once you have a few pages in your app and their layouts setup, it's time to start navigating between them. Navigation in Expo Router works a lot like React Navigation, but with all pages having a URL by default, we can create links and use these URLs to move about our app using familiar web patterns. +Once you have a few pages in your app and their layouts setup, it's time to start navigating between them. Every page in Expo Router has a URL by default, so you can navigate between pages using links and the same URL patterns you use on the web. ## Native navigation basics with `useRouter` diff --git a/docs/public/static/data/unversioned/expo-router.json b/docs/public/static/data/unversioned/expo-router.json index 60dc5c3297cf23..70d5f4cabfb5d9 100644 --- a/docs/public/static/data/unversioned/expo-router.json +++ b/docs/public/static/data/unversioned/expo-router.json @@ -1 +1 @@ -{"schemaVersion":"2.0","name":"expo-router","variant":"project","kind":1,"children":[{"name":"ActionDispatchedEvent","variant":"declaration","kind":256,"children":[{"name":"actionType","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The action type from the dispatched NavigationAction (e.g. "},{"kind":"code","text":"`NAVIGATE`"},{"kind":"text","text":")."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"payload","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"intrinsic","name":"object"},{"type":"intrinsic","name":"undefined"}]}},{"name":"state","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/global-state/types.ts","qualifiedName":"ReactNavigationState"},"name":"ReactNavigationState","package":"expo-router"}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"actionDispatched"}}]},{"name":"AnalyticsEvent","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"reference","name":"PagePreloadedEvent","package":"expo-router"},{"type":"reference","name":"PageFocusedEvent","package":"expo-router"},{"type":"reference","name":"PageBlurredEvent","package":"expo-router"},{"type":"reference","name":"PageRemoved","package":"expo-router"},{"type":"reference","name":"ActionDispatchedEvent","package":"expo-router"}]}},{"name":"Badge","variant":"declaration","kind":64,"signatures":[{"name":"Badge","variant":"signature","kind":4096,"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"BadgeProps","package":"expo-router"}}],"type":{"type":"literal","value":null}}]},{"name":"BadgeProps","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/native-tabs/common/elements.tsx","qualifiedName":"NativeTabsTriggerBadgeProps"},"name":"NativeTabsTriggerBadgeProps","package":"expo-router"},{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/layouts/stack-utils/toolbar/toolbar-primitives.tsx","qualifiedName":"StackToolbarBadgeProps"},"name":"StackToolbarBadgeProps","package":"expo-router"}]}},{"name":"DarkTheme","variant":"declaration","kind":32,"flags":{"isConst":true},"type":{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/react-navigation/native/types.tsx","qualifiedName":"Theme"},"name":"Theme","package":"expo-router"},"defaultValue":"..."},{"name":"DefaultTheme","variant":"declaration","kind":32,"flags":{"isConst":true},"type":{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/react-navigation/native/types.tsx","qualifiedName":"Theme"},"name":"Theme","package":"expo-router"},"defaultValue":"..."},{"name":"EffectCallback","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Memoized callback containing the effect, should optionally return a cleanup function."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"union","types":[{"type":"intrinsic","name":"undefined"},{"type":"intrinsic","name":"void"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}]}}]}}},{"name":"ErrorBoundary","variant":"declaration","kind":64,"signatures":[{"name":"ErrorBoundary","variant":"signature","kind":4096,"parameters":[{"name":"__namedParameters","variant":"param","kind":32768,"type":{"type":"reference","name":"ErrorBoundaryProps","package":"expo-router"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"jsx-runtime.d.ts","qualifiedName":"JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"JSX.Element"}}]},{"name":"ErrorBoundaryProps","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Props passed to a page's "},{"kind":"code","text":"`ErrorBoundary`"},{"kind":"text","text":" export."}]},"children":[{"name":"error","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The error that was thrown."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Error"},"name":"Error","package":"typescript"}},{"name":"retry","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A function that will re-render the route component by clearing the "},{"kind":"code","text":"`error`"},{"kind":"text","text":" state."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]}}}]},{"name":"ExperimentalStack","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Renders the new "},{"kind":"code","text":"`react-native-screens/experimental`"},{"kind":"text","text":" native stack.\n\nSibling to "},{"kind":"code","text":"`Stack`"},{"kind":"text","text":". Native-only — on web it falls back to the standard "},{"kind":"code","text":"`Stack`"},{"kind":"text","text":".\nOpt-in per navigator: replace "},{"kind":"code","text":"``"},{"kind":"text","text":" with "},{"kind":"code","text":"``"},{"kind":"text","text":" in the\nspecific layout you want to migrate."}],"modifierTags":["@experimental"]},"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"intersection","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/layouts/experimental-stack/types.ts","qualifiedName":"ExperimentalStackNavigatorProps"},"name":"ExperimentalStackNavigatorProps","package":"expo-router"},{"type":"union","types":[{"type":"literal","value":"children"},{"type":"literal","value":"initialRouteName"},{"type":"literal","value":"layout"},{"type":"literal","value":"screenListeners"},{"type":"literal","value":"screenOptions"},{"type":"literal","value":"screenLayout"},{"type":"literal","value":"UNSTABLE_router"},{"type":"literal","value":"UNSTABLE_routeNamesChangeBehavior"},{"type":"literal","value":"id"}]}],"name":"Omit","package":"typescript"},{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/react-navigation/routers/types.tsx","qualifiedName":"DefaultRouterOptions"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"DefaultRouterOptions","package":"expo-router"},{"type":"unknown","name":"{ children: ReactNode; layout?: ((props: { state: StackNavigationState; navigation: NavigationHelpers; descriptors: Record<...>; children: ReactNode; }) => ReactElement<...>) | undefined; ... 4 more ...; UNSTABLE_routeNamesChangeBehavior?: \"firstMatch\" | ... 1 more ... | undefined; ..."}]},{"type":"literal","value":"children"}],"name":"Omit","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"intersection","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/layouts/experimental-stack/types.ts","qualifiedName":"ExperimentalStackNavigatorProps"},"name":"ExperimentalStackNavigatorProps","package":"expo-router"},{"type":"union","types":[{"type":"literal","value":"children"},{"type":"literal","value":"initialRouteName"},{"type":"literal","value":"layout"},{"type":"literal","value":"screenListeners"},{"type":"literal","value":"screenOptions"},{"type":"literal","value":"screenLayout"},{"type":"literal","value":"UNSTABLE_router"},{"type":"literal","value":"UNSTABLE_routeNamesChangeBehavior"},{"type":"literal","value":"id"}]}],"name":"Omit","package":"typescript"},{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/react-navigation/routers/types.tsx","qualifiedName":"DefaultRouterOptions"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"DefaultRouterOptions","package":"expo-router"},{"type":"unknown","name":"{ children: ReactNode; layout?: ((props: { state: StackNavigationState; navigation: NavigationHelpers; descriptors: Record<...>; children: ReactNode; }) => ReactElement<...>) | undefined; ... 4 more ...; UNSTABLE_routeNamesChangeBehavior?: \"firstMatch\" | ... 1 more ... | undefined; ..."}]},{"type":"literal","value":"children"}],"name":"Pick","package":"typescript"}],"name":"Partial","package":"typescript"},{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.RefAttributes"},"typeArguments":[{"type":"intrinsic","name":"unknown"}],"name":"RefAttributes","package":"@types/react","qualifiedName":"React.RefAttributes"}]}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"jsx-runtime.d.ts","qualifiedName":"JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"JSX.Element"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"Protected","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.FunctionComponent"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/views/Protected.tsx","qualifiedName":"ProtectedProps"},"name":"ProtectedProps","package":"expo-router"}],"name":"FunctionComponent","package":"@types/react","qualifiedName":"React.FunctionComponent"}},{"name":"Screen","variant":"declaration","kind":1024,"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"__namedParameters","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-router","packagePath":"src/layouts/stack-utils/StackScreen.tsx","qualifiedName":"StackScreenProps"},"name":"StackScreenProps","package":"expo-router"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"jsx-runtime.d.ts","qualifiedName":"JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"JSX.Element"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"BackButton","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Component to configure the back button.\n\nCan be used inside Stack.Screen in a layout or directly inside a screen component."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\nimport { Stack } from 'expo-router';\n\nexport default function Layout() {\n return (\n \n \n Back\n \n \n );\n}\n```"}]},{"tag":"@example","content":[{"kind":"code","text":"```tsx\nimport { Stack } from 'expo-router';\n\nexport default function Page() {\n return (\n <>\n