From 5cf6d36e5d7402228654317775b86cc62ab9adf3 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 12:43:00 +0200 Subject: [PATCH 01/61] Adjust code to new API --- package-lock.json | 193 +++++++++++++----- package.json | 10 +- src/components/ScreenWrapper/index.tsx | 4 +- src/libs/Navigation/DebugTabNavigator.tsx | 2 +- .../OnyxTabNavigatorConfig/index.ts | 2 +- .../OnyxTabNavigatorConfig/index.website.ts | 2 +- .../navigationOptions/animation/none/index.ts | 2 +- .../animation/slideFromBottom/index.ts | 2 +- .../animation/slideFromLeft/index.ts | 2 +- .../animation/slideFromRight/index.ts | 2 +- tests/perf-test/SearchRouter.perf-test.tsx | 2 +- tests/ui/ReportDetailsPageTest.tsx | 2 +- .../IOURequestStepConfirmationPageTest.tsx | 2 +- 13 files changed, 156 insertions(+), 71 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1021f4ac01dec..2e2bfdf1f6335 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,10 +42,10 @@ "@react-native-firebase/perf": "^12.3.0", "@react-native-google-signin/google-signin": "^10.0.1", "@react-native-picker/picker": "2.9.0", - "@react-navigation/material-top-tabs": "^6.6.3", - "@react-navigation/native": "6.1.12", - "@react-navigation/native-stack": "^6.9.26", - "@react-navigation/stack": "6.3.29", + "@react-navigation/material-top-tabs": "7.2.13", + "@react-navigation/native": "7.1.10", + "@react-navigation/native-stack": "7.3.14", + "@react-navigation/stack": "7.3.3", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.1.33", "@shopify/flash-list": "1.7.6", @@ -118,7 +118,7 @@ "react-native-release-profiler": "^0.2.1", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "5.4.0", - "react-native-screens": "3.37.0", + "react-native-screens": "4.10.0", "react-native-share": "11.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "15.9.0", @@ -10467,24 +10467,38 @@ } }, "node_modules/@react-navigation/core": { - "version": "6.4.11", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.10.0.tgz", + "integrity": "sha512-qZBA5gGm+9liT4+EHk+kl9apwvqh7HqhLF1XeX6SQRmC/n2QI0u1B8OevKc+EPUDEM9Od15IuwT/GRbSs7/Umw==", "license": "MIT", "dependencies": { - "@react-navigation/routers": "^6.1.9", + "@react-navigation/routers": "^7.4.0", "escape-string-regexp": "^4.0.0", - "nanoid": "^3.1.23", + "nanoid": "^3.3.11", "query-string": "^7.1.3", - "react-is": "^16.13.0", - "use-latest-callback": "^0.1.7" + "react-is": "^19.1.0", + "use-latest-callback": "^0.2.3", + "use-sync-external-store": "^1.5.0" }, "peerDependencies": { - "react": "*" + "react": ">= 18.2.0" } }, "node_modules/@react-navigation/core/node_modules/react-is": { - "version": "16.13.1", + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.0.tgz", + "integrity": "sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==", "license": "MIT" }, + "node_modules/@react-navigation/core/node_modules/use-latest-callback": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.3.tgz", + "integrity": "sha512-7vI3fBuyRcP91pazVboc4qu+6ZqM8izPWX9k7cRnT8hbD5svslcknsh3S9BUhaK11OmgTV4oWZZVSeQAiV53SQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/@react-navigation/devtools": { "version": "6.0.10", "dev": true, @@ -10499,83 +10513,135 @@ } }, "node_modules/@react-navigation/elements": { - "version": "1.3.31", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.31.tgz", - "integrity": "sha512-bUzP4Awlljx5RKEExw8WYtif8EuQni2glDaieYROKTnaxsu9kEIA515sXQgUDZU4Ob12VoL7+z70uO3qrlfXcQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.4.3.tgz", + "integrity": "sha512-psoNmnZ0DQIt9nxxPITVLtYW04PGCAfnmd/Pcd3yhiBs93aj+HYKH+SDZDpUnXMf3BN7Wvo4+jPI+/Xjqb+m9w==", + "license": "MIT", + "dependencies": { + "color": "^4.2.3" + }, "peerDependencies": { - "@react-navigation/native": "^6.0.0", - "react": "*", + "@react-native-masked-view/masked-view": ">= 0.2.0", + "@react-navigation/native": "^7.1.10", + "react": ">= 18.2.0", "react-native": "*", - "react-native-safe-area-context": ">= 3.0.0" + "react-native-safe-area-context": ">= 4.0.0" + }, + "peerDependenciesMeta": { + "@react-native-masked-view/masked-view": { + "optional": true + } } }, "node_modules/@react-navigation/material-top-tabs": { - "version": "6.6.3", + "version": "7.2.13", + "resolved": "https://registry.npmjs.org/@react-navigation/material-top-tabs/-/material-top-tabs-7.2.13.tgz", + "integrity": "sha512-0hEoWE0cILm2ydc3+dcVtsfuljcR1tV74ke9Iwc4+vsJhVnSYRnltcx3Ywm8mPcogwB94lw5t2+W2U1rikK6qQ==", "license": "MIT", "dependencies": { + "@react-navigation/elements": "^2.4.2", "color": "^4.2.3", - "warn-once": "^0.1.0" + "react-native-tab-view": "^4.1.0" }, "peerDependencies": { - "@react-navigation/native": "^6.0.0", - "react": "*", + "@react-navigation/native": "^7.1.9", + "react": ">= 18.2.0", "react-native": "*", - "react-native-pager-view": ">= 4.0.0", - "react-native-tab-view": ">= 3.0.0" + "react-native-pager-view": ">= 6.0.0", + "react-native-safe-area-context": ">= 4.0.0" + } + }, + "node_modules/@react-navigation/material-top-tabs/node_modules/react-native-tab-view": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-4.1.0.tgz", + "integrity": "sha512-A6pse3u7343aTw8OKxCyC90XG7ytnLBBn2QOxVByQ3TqPTi+X/bUW+B28GBpgNPODl4jscAsXW4qmAJqXDjJ+g==", + "license": "MIT", + "dependencies": { + "use-latest-callback": "^0.2.3" + }, + "peerDependencies": { + "react": ">= 18.2.0", + "react-native": "*", + "react-native-pager-view": ">= 6.0.0" + } + }, + "node_modules/@react-navigation/material-top-tabs/node_modules/use-latest-callback": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.3.tgz", + "integrity": "sha512-7vI3fBuyRcP91pazVboc4qu+6ZqM8izPWX9k7cRnT8hbD5svslcknsh3S9BUhaK11OmgTV4oWZZVSeQAiV53SQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" } }, "node_modules/@react-navigation/native": { - "version": "6.1.12", + "version": "7.1.10", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.10.tgz", + "integrity": "sha512-Ug4IML0DkAxZTMF/E7lyyLXSclkGAYElY2cxZWITwfBjtlVeda0NjsdnTWY5EGjnd7bwvhTIUC+CO6qSlrDn5A==", "license": "MIT", "dependencies": { - "@react-navigation/core": "^6.4.11", + "@react-navigation/core": "^7.10.0", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", - "nanoid": "^3.1.23" + "nanoid": "^3.3.11", + "use-latest-callback": "^0.2.3" }, "peerDependencies": { - "react": "*", + "react": ">= 18.2.0", "react-native": "*" } }, "node_modules/@react-navigation/native-stack": { - "version": "6.9.26", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.26.tgz", - "integrity": "sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw==", + "version": "7.3.14", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.3.14.tgz", + "integrity": "sha512-45Sf7ReqSCIySXS5nrKtLGmNlFXm5x+u32YQMwKDONCqVGOBCfo4ryKqeQq1EMJ7Py6IDyOwHMhA+jhNOxnfPw==", + "license": "MIT", "dependencies": { - "@react-navigation/elements": "^1.3.30", - "warn-once": "^0.1.0" + "@react-navigation/elements": "^2.4.3", + "warn-once": "^0.1.1" }, "peerDependencies": { - "@react-navigation/native": "^6.0.0", - "react": "*", + "@react-navigation/native": "^7.1.10", + "react": ">= 18.2.0", "react-native": "*", - "react-native-safe-area-context": ">= 3.0.0", - "react-native-screens": ">= 3.0.0" + "react-native-safe-area-context": ">= 4.0.0", + "react-native-screens": ">= 4.0.0" + } + }, + "node_modules/@react-navigation/native/node_modules/use-latest-callback": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.3.tgz", + "integrity": "sha512-7vI3fBuyRcP91pazVboc4qu+6ZqM8izPWX9k7cRnT8hbD5svslcknsh3S9BUhaK11OmgTV4oWZZVSeQAiV53SQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" } }, "node_modules/@react-navigation/routers": { - "version": "6.1.9", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.4.0.tgz", + "integrity": "sha512-th5THnuWKJlmr7GGHiicy979di11ycDWub9iIXbEDvQwmwmsRzppmVbfs2nD8bC/MgyMgqWu/gxfys+HqN+kcw==", "license": "MIT", "dependencies": { - "nanoid": "^3.1.23" + "nanoid": "^3.3.11" } }, "node_modules/@react-navigation/stack": { - "version": "6.3.29", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.3.3.tgz", + "integrity": "sha512-TIUiQKSFYjVwRAT5pFn1jIk4aqPMgeh5eTXzsxgnAxrqrmE9E1o1XaZj+aeqBhTeBKxPTaRSjzsayD2/cue0mA==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^1.3.30", - "color": "^4.2.3", - "warn-once": "^0.1.0" + "@react-navigation/elements": "^2.4.3", + "color": "^4.2.3" }, "peerDependencies": { - "@react-navigation/native": "^6.0.0", - "react": "*", + "@react-navigation/native": "^7.1.10", + "react": ">= 18.2.0", "react-native": "*", - "react-native-gesture-handler": ">= 1.0.0", - "react-native-safe-area-context": ">= 3.0.0", - "react-native-screens": ">= 3.0.0" + "react-native-gesture-handler": ">= 2.0.0", + "react-native-safe-area-context": ">= 4.0.0", + "react-native-screens": ">= 4.0.0" } }, "node_modules/@react-ng/bounds-observer": { @@ -20111,6 +20177,8 @@ }, "node_modules/decode-uri-component": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "license": "MIT", "engines": { "node": ">=0.10" @@ -23880,6 +23948,8 @@ }, "node_modules/filter-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -30904,9 +30974,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", @@ -32843,6 +32913,8 @@ }, "node_modules/query-string": { "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.2", @@ -34158,9 +34230,9 @@ } }, "node_modules/react-native-screens": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.37.0.tgz", - "integrity": "sha512-vEi4qZqWYoGuVGuHTv1K2XA90rgSydksmR5+tb5uhL93whl6Bch6EEXzC+8eEfj4SimiCgXBPY7r/xTXJxvnUg==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.10.0.tgz", + "integrity": "sha512-Tw21NGuXm3PbiUGtZd0AnXirUixaAbPXDjNR0baBH7/WJDaDTTELLcQ7QRXuqAWbmr/EVCrKj1348ei1KFIr8A==", "license": "MIT", "dependencies": { "react-freeze": "^1.0.0", @@ -36120,6 +36192,8 @@ }, "node_modules/split-on-first": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", "license": "MIT", "engines": { "node": ">=6" @@ -36287,6 +36361,8 @@ }, "node_modules/strict-uri-encode": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", "license": "MIT", "engines": { "node": ">=4" @@ -38098,6 +38174,15 @@ "react": ">=16.8" } }, + "node_modules/use-sync-external-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/utf8": { "version": "3.0.0", "license": "MIT" diff --git a/package.json b/package.json index a1a66e955ea02..2253f225de2e0 100644 --- a/package.json +++ b/package.json @@ -109,10 +109,10 @@ "@react-native-firebase/perf": "^12.3.0", "@react-native-google-signin/google-signin": "^10.0.1", "@react-native-picker/picker": "2.9.0", - "@react-navigation/material-top-tabs": "^6.6.3", - "@react-navigation/native": "6.1.12", - "@react-navigation/native-stack": "^6.9.26", - "@react-navigation/stack": "6.3.29", + "@react-navigation/material-top-tabs": "7.2.13", + "@react-navigation/native": "7.1.10", + "@react-navigation/native-stack": "7.3.14", + "@react-navigation/stack": "7.3.3", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.1.33", "@shopify/flash-list": "1.7.6", @@ -185,7 +185,7 @@ "react-native-release-profiler": "^0.2.1", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "5.4.0", - "react-native-screens": "3.37.0", + "react-native-screens": "4.10.0", "react-native-share": "11.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "15.9.0", diff --git a/src/components/ScreenWrapper/index.tsx b/src/components/ScreenWrapper/index.tsx index 8d33647a5e56c..58d9fb2b0620b 100644 --- a/src/components/ScreenWrapper/index.tsx +++ b/src/components/ScreenWrapper/index.tsx @@ -1,5 +1,5 @@ import HybridAppModule from '@expensify/react-native-hybrid-app'; -import {UNSTABLE_usePreventRemove, useIsFocused, useNavigation} from '@react-navigation/native'; +import {usePreventRemove, useIsFocused, useNavigation} from '@react-navigation/native'; import type {ForwardedRef, ReactNode} from 'react'; import React, {createContext, forwardRef, useContext, useEffect, useMemo, useRef, useState} from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; @@ -229,7 +229,7 @@ function ScreenWrapper( const {isBlurred, setIsBlurred} = useInputBlurContext(); - UNSTABLE_usePreventRemove((isSingleNewDotEntry ?? false) && initialURL === Navigation.getActiveRouteWithoutParams(), () => { + usePreventRemove((isSingleNewDotEntry ?? false) && initialURL === Navigation.getActiveRouteWithoutParams(), () => { if (!CONFIG.IS_HYBRID_APP) { return; } diff --git a/src/libs/Navigation/DebugTabNavigator.tsx b/src/libs/Navigation/DebugTabNavigator.tsx index 3b705596cb9b6..4cb2ee85ad064 100644 --- a/src/libs/Navigation/DebugTabNavigator.tsx +++ b/src/libs/Navigation/DebugTabNavigator.tsx @@ -119,7 +119,7 @@ function DebugTabNavigator({id, routes}: DebugTabNavigatorProps) { { useIsFocused: () => true, useRoute: () => jest.fn(), // eslint-disable-next-line @typescript-eslint/naming-convention - UNSTABLE_usePreventRemove: () => jest.fn(), + usePreventRemove: () => jest.fn(), useNavigation: () => ({ navigate: jest.fn(), addListener: () => jest.fn(), diff --git a/tests/ui/ReportDetailsPageTest.tsx b/tests/ui/ReportDetailsPageTest.tsx index 5794cd3a297a8..710ce5aa23c38 100644 --- a/tests/ui/ReportDetailsPageTest.tsx +++ b/tests/ui/ReportDetailsPageTest.tsx @@ -25,7 +25,7 @@ jest.mock('@react-navigation/native', () => { useIsFocused: jest.fn(), useRoute: jest.fn(), // eslint-disable-next-line @typescript-eslint/naming-convention - UNSTABLE_usePreventRemove: jest.fn(), + usePreventRemove: jest.fn(), }; }); diff --git a/tests/ui/components/IOURequestStepConfirmationPageTest.tsx b/tests/ui/components/IOURequestStepConfirmationPageTest.tsx index d2bda42223cf0..12377d8804705 100644 --- a/tests/ui/components/IOURequestStepConfirmationPageTest.tsx +++ b/tests/ui/components/IOURequestStepConfirmationPageTest.tsx @@ -37,7 +37,7 @@ jest.mock('@react-navigation/native', () => ({ useNavigation: () => ({navigate: jest.fn(), addListener: jest.fn()}), useFocusEffect: jest.fn(), // eslint-disable-next-line @typescript-eslint/naming-convention - UNSTABLE_usePreventRemove: jest.fn(), + usePreventRemove: jest.fn(), })); describe('IOURequestStepConfirmationPageTest', () => { From 000af4c19cb520222b78fab7e3984f858af46f4f Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 12:43:36 +0200 Subject: [PATCH 02/61] Fix appearing native header --- .../createPlatformStackNavigatorComponent/index.native.tsx | 3 +-- .../createPlatformStackNavigatorComponent/index.tsx | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 1f3b4a4c04cea..1b15408dbefc0 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -53,8 +53,7 @@ function createPlatformStackNavigatorComponent Date: Tue, 3 Jun 2025 12:44:08 +0200 Subject: [PATCH 03/61] Fix web errors so the app opens --- config/webpack/webpack.common.ts | 11 +++++++++ ...t-navigation+core+7.10.0+002+initial.patch | 24 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 patches/@react-navigation+core+7.10.0+002+initial.patch diff --git a/config/webpack/webpack.common.ts b/config/webpack/webpack.common.ts index 39ae333491510..51aea10e76860 100644 --- a/config/webpack/webpack.common.ts +++ b/config/webpack/webpack.common.ts @@ -33,6 +33,10 @@ const includeModules = [ 'react-native-web', 'react-native-webview', '@react-native-picker', + '@react-navigation/material-top-tabs', + '@react-navigation/native', + '@react-navigation/native-stack', + '@react-navigation/stack', 'react-native-modal', 'react-native-gesture-handler', 'react-native-google-places-autocomplete', @@ -161,6 +165,12 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): ], module: { rules: [ + { + test: /\.m?js$/, + resolve: { + fullySpecified: false, + }, + }, // Transpiles and lints all the JS { test: /\.(js|ts)x?$/, @@ -236,6 +246,7 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): test: /\.lottie$/, type: 'asset/resource', }, + ], }, resolve: { diff --git a/patches/@react-navigation+core+7.10.0+002+initial.patch b/patches/@react-navigation+core+7.10.0+002+initial.patch new file mode 100644 index 0000000000000..bf4a5935bdd50 --- /dev/null +++ b/patches/@react-navigation+core+7.10.0+002+initial.patch @@ -0,0 +1,24 @@ +diff --git a/node_modules/@react-navigation/core/lib/module/deepFreeze.js b/node_modules/@react-navigation/core/lib/module/deepFreeze.js +index f5afb5c..1d4e98a 100644 +--- a/node_modules/@react-navigation/core/lib/module/deepFreeze.js ++++ b/node_modules/@react-navigation/core/lib/module/deepFreeze.js +@@ -9,6 +9,7 @@ export const isPlainObject = value => { + export const deepFreeze = object => { + // We only freeze in development to catch issues early + // Don't freeze in production to avoid unnecessary performance overhead ++ return object; + if (process.env.NODE_ENV === 'production') { + return object; + } +diff --git a/node_modules/@react-navigation/core/src/deepFreeze.tsx b/node_modules/@react-navigation/core/src/deepFreeze.tsx +index a7e5468..81f0966 100644 +--- a/node_modules/@react-navigation/core/src/deepFreeze.tsx ++++ b/node_modules/@react-navigation/core/src/deepFreeze.tsx +@@ -9,6 +9,7 @@ export const isPlainObject = (value: unknown): value is object => { + export const deepFreeze = (object: T): Readonly => { + // We only freeze in development to catch issues early + // Don't freeze in production to avoid unnecessary performance overhead ++ return object; + if (process.env.NODE_ENV === 'production') { + return object; + } From 25c47d0379157a63242aa948b72a4eb9421d9fca Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 12:44:52 +0200 Subject: [PATCH 04/61] Remove unnecessary patches --- ...core+6.4.11+001+fix-react-strictmode.patch | 89 ------ ...ath-getPathFromState-configs-caching.patch | 259 ------------------ ...g-history-entry-when-navigating-back.patch | 13 - 3 files changed, 361 deletions(-) delete mode 100644 patches/@react-navigation+core+6.4.11+001+fix-react-strictmode.patch delete mode 100644 patches/@react-navigation+core+6.4.11+002+getStateFromPath-getPathFromState-configs-caching.patch delete mode 100644 patches/@react-navigation+native+6.1.12+002+fix-getting-history-entry-when-navigating-back.patch diff --git a/patches/@react-navigation+core+6.4.11+001+fix-react-strictmode.patch b/patches/@react-navigation+core+6.4.11+001+fix-react-strictmode.patch deleted file mode 100644 index f68cd6fe9ca4d..0000000000000 --- a/patches/@react-navigation+core+6.4.11+001+fix-react-strictmode.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 051520b..6fb49e0 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -174,10 +174,6 @@ export default function useNavigationBuilder(createRouter, options) { - getIsInitial - } = React.useContext(NavigationStateContext); - const stateCleanedUp = React.useRef(false); -- const cleanUpState = React.useCallback(() => { -- setCurrentState(undefined); -- stateCleanedUp.current = true; -- }, [setCurrentState]); - const setState = React.useCallback(state => { - if (stateCleanedUp.current) { - // State might have been already cleaned up due to unmount -@@ -291,6 +287,9 @@ export default function useNavigationBuilder(createRouter, options) { - // So we override the state object we return to use the latest state as soon as possible - state = nextState; - React.useEffect(() => { -+ // In strict mode, React will double-invoke effects. -+ // So we need to reset the flag if component was not unmounted -+ stateCleanedUp.current = false; - setKey(navigatorKey); - if (!getIsInitial()) { - // If it's not initial render, we need to update the state -@@ -300,14 +299,10 @@ export default function useNavigationBuilder(createRouter, options) { - } - return () => { - // We need to clean up state for this navigator on unmount -- // We do it in a timeout because we need to detect if another navigator mounted in the meantime -- // For example, if another navigator has started rendering, we should skip cleanup -- // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it -- setTimeout(() => { -- if (getCurrentState() !== undefined && getKey() === navigatorKey) { -- cleanUpState(); -- } -- }, 0); -+ if (getCurrentState() !== undefined && getKey() === navigatorKey) { -+ setCurrentState(undefined); -+ stateCleanedUp.current = true; -+ } - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); -diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index b1971ba..7d550e0 100644 ---- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -+++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -362,11 +362,6 @@ export default function useNavigationBuilder< - - const stateCleanedUp = React.useRef(false); - -- const cleanUpState = React.useCallback(() => { -- setCurrentState(undefined); -- stateCleanedUp.current = true; -- }, [setCurrentState]); -- - const setState = React.useCallback( - (state: NavigationState | PartialState | undefined) => { - if (stateCleanedUp.current) { -@@ -540,6 +535,9 @@ export default function useNavigationBuilder< - state = nextState; - - React.useEffect(() => { -+ // In strict mode, React will double-invoke effects. -+ // So we need to reset the flag if component was not unmounted -+ stateCleanedUp.current = false; - setKey(navigatorKey); - - if (!getIsInitial()) { -@@ -551,14 +549,10 @@ export default function useNavigationBuilder< - - return () => { - // We need to clean up state for this navigator on unmount -- // We do it in a timeout because we need to detect if another navigator mounted in the meantime -- // For example, if another navigator has started rendering, we should skip cleanup -- // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it -- setTimeout(() => { -- if (getCurrentState() !== undefined && getKey() === navigatorKey) { -- cleanUpState(); -- } -- }, 0); -+ if (getCurrentState() !== undefined && getKey() === navigatorKey) { -+ setCurrentState(undefined); -+ stateCleanedUp.current = true; -+ } - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); diff --git a/patches/@react-navigation+core+6.4.11+002+getStateFromPath-getPathFromState-configs-caching.patch b/patches/@react-navigation+core+6.4.11+002+getStateFromPath-getPathFromState-configs-caching.patch deleted file mode 100644 index 7461a576af133..0000000000000 --- a/patches/@react-navigation+core+6.4.11+002+getStateFromPath-getPathFromState-configs-caching.patch +++ /dev/null @@ -1,259 +0,0 @@ -diff --git a/node_modules/@react-navigation/core/src/getPathFromState.tsx b/node_modules/@react-navigation/core/src/getPathFromState.tsx -index 26a6213..bdbb056 100644 ---- a/node_modules/@react-navigation/core/src/getPathFromState.tsx -+++ b/node_modules/@react-navigation/core/src/getPathFromState.tsx -@@ -37,6 +37,11 @@ const getActiveRoute = (state: State): { name: string; params?: object } => { - return route; - }; - -+let cachedNormalizedConfigs: [ -+ PathConfigMap<{}> | undefined, -+ Record, -+] = [undefined, {}]; -+ - /** - * Utility to serialize a navigation state object to a path string. - * -@@ -81,9 +86,13 @@ export default function getPathFromState( - } - - // Create a normalized configs object which will be easier to use -- const configs: Record = options?.screens -- ? createNormalizedConfigs(options?.screens) -- : {}; -+ if (cachedNormalizedConfigs[0] !== options?.screens) { -+ cachedNormalizedConfigs = [ -+ options?.screens, -+ options?.screens ? createNormalizedConfigs(options.screens) : {}, -+ ]; -+ } -+ const configs: Record = cachedNormalizedConfigs[1]; - - let path = '/'; - let current: State | undefined = state; -diff --git a/node_modules/@react-navigation/core/src/getStateFromPath.tsx b/node_modules/@react-navigation/core/src/getStateFromPath.tsx -index b61e1e5..d244bef 100644 ---- a/node_modules/@react-navigation/core/src/getStateFromPath.tsx -+++ b/node_modules/@react-navigation/core/src/getStateFromPath.tsx -@@ -41,6 +41,12 @@ type ParsedRoute = { - params?: Record | undefined; - }; - -+type ConfigResources = { -+ initialRoutes: InitialRouteConfig[]; -+ configs: RouteConfig[]; -+ configWithRegexes: RouteConfig[]; -+}; -+ - /** - * Utility to parse a path string to initial state object accepted by the container. - * This is useful for deep linking when we need to handle the incoming URL. -@@ -66,18 +72,8 @@ export default function getStateFromPath( - path: string, - options?: Options - ): ResultState | undefined { -- if (options) { -- validatePathConfig(options); -- } -- -- let initialRoutes: InitialRouteConfig[] = []; -- -- if (options?.initialRouteName) { -- initialRoutes.push({ -- initialRouteName: options.initialRouteName, -- parentScreens: [], -- }); -- } -+ const { initialRoutes, configs, configWithRegexes } = -+ getConfigResources(options); - - const screens = options?.screens; - -@@ -106,8 +102,111 @@ export default function getStateFromPath( - return undefined; - } - -+ if (remaining === '/') { -+ // We need to add special handling of empty path so navigation to empty path also works -+ // When handling empty path, we should only look at the root level config -+ const match = configs.find( -+ (config) => -+ config.path === '' && -+ config.routeNames.every( -+ // Make sure that none of the parent configs have a non-empty path defined -+ (name) => !configs.find((c) => c.screen === name)?.path -+ ) -+ ); -+ -+ if (match) { -+ return createNestedStateObject( -+ path, -+ match.routeNames.map((name) => ({ name })), -+ initialRoutes, -+ configs -+ ); -+ } -+ -+ return undefined; -+ } -+ -+ let result: PartialState | undefined; -+ let current: PartialState | undefined; -+ -+ // We match the whole path against the regex instead of segments -+ // This makes sure matches such as wildcard will catch any unmatched routes, even if nested -+ const { routes, remainingPath } = matchAgainstConfigs( -+ remaining, -+ configWithRegexes -+ ); -+ -+ if (routes !== undefined) { -+ // This will always be empty if full path matched -+ current = createNestedStateObject(path, routes, initialRoutes, configs); -+ remaining = remainingPath; -+ result = current; -+ } -+ -+ if (current == null || result == null) { -+ return undefined; -+ } -+ -+ return result; -+} -+ -+/** -+ * Reference to the last used config resources. This is used to avoid recomputing the config resources when the options are the same. -+ */ -+let cachedConfigResources: [Options<{}> | undefined, ConfigResources] = [ -+ undefined, -+ prepareConfigResources(), -+]; -+ -+function getConfigResources( -+ options?: Options -+) { -+ if (cachedConfigResources[0] !== options) { -+ cachedConfigResources = [options, prepareConfigResources(options)]; -+ } -+ -+ return cachedConfigResources[1]; -+} -+ -+function prepareConfigResources(options?: Options<{}>) { -+ if (options) { -+ validatePathConfig(options); -+ } -+ -+ const initialRoutes = getInitialRoutes(options); -+ -+ const configs = getNormalizedConfigs(initialRoutes, options?.screens); -+ -+ checkForDuplicatedConfigs(configs); -+ -+ const configWithRegexes = getConfigsWithRegexes(configs); -+ -+ return { -+ initialRoutes, -+ configs, -+ configWithRegexes, -+ }; -+} -+ -+function getInitialRoutes(options?: Options<{}>) { -+ const initialRoutes: InitialRouteConfig[] = []; -+ -+ if (options?.initialRouteName) { -+ initialRoutes.push({ -+ initialRouteName: options.initialRouteName, -+ parentScreens: [], -+ }); -+ } -+ -+ return initialRoutes; -+} -+ -+function getNormalizedConfigs( -+ initialRoutes: InitialRouteConfig[], -+ screens: PathConfigMap = {} -+) { - // Create a normalized configs array which will be easier to use -- const configs = ([] as RouteConfig[]) -+ return ([] as RouteConfig[]) - .concat( - ...Object.keys(screens).map((key) => - createNormalizedConfigs( -@@ -169,7 +268,9 @@ export default function getStateFromPath( - } - return bParts.length - aParts.length; - }); -+} - -+function checkForDuplicatedConfigs(configs: RouteConfig[]) { - // Check for duplicate patterns in the config - configs.reduce>((acc, config) => { - if (acc[config.pattern]) { -@@ -198,57 +299,14 @@ export default function getStateFromPath( - [config.pattern]: config, - }); - }, {}); -+} - -- if (remaining === '/') { -- // We need to add special handling of empty path so navigation to empty path also works -- // When handling empty path, we should only look at the root level config -- const match = configs.find( -- (config) => -- config.path === '' && -- config.routeNames.every( -- // Make sure that none of the parent configs have a non-empty path defined -- (name) => !configs.find((c) => c.screen === name)?.path -- ) -- ); -- -- if (match) { -- return createNestedStateObject( -- path, -- match.routeNames.map((name) => ({ name })), -- initialRoutes, -- configs -- ); -- } -- -- return undefined; -- } -- -- let result: PartialState | undefined; -- let current: PartialState | undefined; -- -- // We match the whole path against the regex instead of segments -- // This makes sure matches such as wildcard will catch any unmatched routes, even if nested -- const { routes, remainingPath } = matchAgainstConfigs( -- remaining, -- configs.map((c) => ({ -- ...c, -- // Add `$` to the regex to make sure it matches till end of the path and not just beginning -- regex: c.regex ? new RegExp(c.regex.source + '$') : undefined, -- })) -- ); -- -- if (routes !== undefined) { -- // This will always be empty if full path matched -- current = createNestedStateObject(path, routes, initialRoutes, configs); -- remaining = remainingPath; -- result = current; -- } -- -- if (current == null || result == null) { -- return undefined; -- } -- -- return result; -+function getConfigsWithRegexes(configs: RouteConfig[]) { -+ return configs.map((c) => ({ -+ ...c, -+ // Add `$` to the regex to make sure it matches till end of the path and not just beginning -+ regex: c.regex ? new RegExp(c.regex.source + '$') : undefined, -+ })); - } - - const joinPaths = (...paths: string[]): string => diff --git a/patches/@react-navigation+native+6.1.12+002+fix-getting-history-entry-when-navigating-back.patch b/patches/@react-navigation+native+6.1.12+002+fix-getting-history-entry-when-navigating-back.patch deleted file mode 100644 index b5d3e7ccadda2..0000000000000 --- a/patches/@react-navigation+native+6.1.12+002+fix-getting-history-entry-when-navigating-back.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js -index 95a0e32..adb25a0 100644 ---- a/node_modules/@react-navigation/native/lib/module/useLinking.js -+++ b/node_modules/@react-navigation/native/lib/module/useLinking.js -@@ -294,7 +294,7 @@ export default function useLinking(ref, _ref) { - try { - if (nextIndex !== -1 && nextIndex < currentIndex && - // We should only go back if the entry exists and it's less than current index -- history.get(nextIndex - currentIndex)) { -+ history.get(nextIndex)) { - // An existing entry for this path exists and it's less than current index, go back to that - await history.go(nextIndex - currentIndex); - history.replace({ From 2a9666baaa9178e35a2601762319973a8214b3f4 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 12:47:55 +0200 Subject: [PATCH 05/61] Remove unnecessary line in webpack.common.ts --- config/webpack/webpack.common.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/config/webpack/webpack.common.ts b/config/webpack/webpack.common.ts index 51aea10e76860..5e7044359c063 100644 --- a/config/webpack/webpack.common.ts +++ b/config/webpack/webpack.common.ts @@ -246,7 +246,6 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): test: /\.lottie$/, type: 'asset/resource', }, - ], }, resolve: { From 1c2e13c1e17feebad3a05ca69eae620093ba93c3 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 15:49:33 +0200 Subject: [PATCH 06/61] Remove keyboardHandling patch --- ....26+001+keyboardHandlingEnabled-prop.patch | 157 ------------------ 1 file changed, 157 deletions(-) delete mode 100644 patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch diff --git a/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch b/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch deleted file mode 100644 index b09d133735284..0000000000000 --- a/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch +++ /dev/null @@ -1,157 +0,0 @@ -diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js -index 2d5f921..997e384 100644 ---- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js -+++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js -@@ -103,7 +103,8 @@ const SceneView = _ref2 => { - statusBarStyle, - statusBarTranslucent, - statusBarColor, -- freezeOnBlur -+ freezeOnBlur, -+ keyboardHandlingEnabled - } = options; - let { - animation, -@@ -205,7 +206,8 @@ const SceneView = _ref2 => { - onNativeDismissCancelled: onNativeDismissCancelled - // this prop is available since rn-screens 3.16 - , -- freezeOnBlur: freezeOnBlur -+ freezeOnBlur: freezeOnBlur, -+ hideKeyboardOnSwipe: keyboardHandlingEnabled - }, /*#__PURE__*/React.createElement(_native.NavigationContext.Provider, { - value: navigation - }, /*#__PURE__*/React.createElement(_native.NavigationRouteContext.Provider, { -diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map -index bacb290..1eb6dc4 100644 ---- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map -+++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map -@@ -1 +1 @@ --{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -index 06439fe..cbdd502 100644 ---- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -+++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -@@ -94,7 +94,8 @@ const SceneView = _ref2 => { - statusBarStyle, - statusBarTranslucent, - statusBarColor, -- freezeOnBlur -+ freezeOnBlur, -+ keyboardHandlingEnabled - } = options; - let { - animation, -@@ -196,7 +197,8 @@ const SceneView = _ref2 => { - onNativeDismissCancelled: onNativeDismissCancelled - // this prop is available since rn-screens 3.16 - , -- freezeOnBlur: freezeOnBlur -+ freezeOnBlur: freezeOnBlur, -+ hideKeyboardOnSwipe: keyboardHandlingEnabled - }, /*#__PURE__*/React.createElement(NavigationContext.Provider, { - value: navigation - }, /*#__PURE__*/React.createElement(NavigationRouteContext.Provider, { -diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -index c0ec5e4..2b113bb 100644 ---- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -+++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -@@ -1 +1 @@ --{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts -new file mode 100644 -index 0000000..121d59b ---- /dev/null -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=index.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts.map -new file mode 100644 -index 0000000..7b9421a ---- /dev/null -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts -index 3d74b14..d886b7b 100644 ---- a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts -@@ -446,6 +446,12 @@ export type NativeStackNavigationOptions = { - * Only supported on iOS and Android. - */ - freezeOnBlur?: boolean; -+ /** -+ * Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. -+ * -+ * Only supported on iOS -+ */ -+ keyboardHandlingEnabled?: boolean; - }; - export type NativeStackNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap> & StackRouterOptions & NativeStackNavigationConfig; - export type NativeStackDescriptor = Descriptor, RouteProp>; -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map -index 39c4fd5..91f0d7a 100644 ---- a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -index faf125c..3cdaf10 100644 ---- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AA+VlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} -\ No newline at end of file -+{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAiWlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/src/types.tsx b/node_modules/@react-navigation/native-stack/src/types.tsx -index 206fb0b..7a34a8e 100644 ---- a/node_modules/@react-navigation/native-stack/src/types.tsx -+++ b/node_modules/@react-navigation/native-stack/src/types.tsx -@@ -490,6 +490,14 @@ export type NativeStackNavigationOptions = { - * Only supported on iOS and Android. - */ - freezeOnBlur?: boolean; -+ // partial changes from https://github.com/react-navigation/react-navigation/commit/90cfbf23bcc5259f3262691a9eec6c5b906e5262 -+ // patch can be removed when new version of `native-stack` will be released -+ /** -+ * Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. -+ * -+ * Only supported on iOS -+ */ -+ keyboardHandlingEnabled?: boolean; - }; - - export type NativeStackNavigatorProps = DefaultNavigatorOptions< -diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index a005c43..03d8b50 100644 ---- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -+++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -@@ -161,6 +161,7 @@ const SceneView = ({ - statusBarTranslucent, - statusBarColor, - freezeOnBlur, -+ keyboardHandlingEnabled, - } = options; - - let { -@@ -289,6 +290,7 @@ const SceneView = ({ - onNativeDismissCancelled={onNativeDismissCancelled} - // this prop is available since rn-screens 3.16 - freezeOnBlur={freezeOnBlur} -+ hideKeyboardOnSwipe={keyboardHandlingEnabled} - > - - From 81fede72c850c68db64f030a6fff90517724cd69 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 16:07:50 +0200 Subject: [PATCH 07/61] Fix animation on Android --- .../Navigation/AppNavigator/useSplitNavigatorScreenOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/useSplitNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/useSplitNavigatorScreenOptions.ts index 0b771550b6a79..f8464a196dec4 100644 --- a/src/libs/Navigation/AppNavigator/useSplitNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/useSplitNavigatorScreenOptions.ts @@ -51,7 +51,7 @@ const useSplitNavigatorScreenOptions = () => { ...hideKeyboardOnSwipe, headerShown: false, title: CONFIG.SITE_TITLE, - animation: shouldUseNarrowLayout ? undefined : Animations.NONE, + animation: shouldUseNarrowLayout ? Animations.SLIDE_FROM_RIGHT : Animations.NONE, animationTypeForReplace: 'pop', web: { cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator({props, isFullScreenModal: true, shouldAnimateSidePanel: true}), From 0891793d8d853eb8e4e5f905080eaedc61467a5c Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 16:17:49 +0200 Subject: [PATCH 08/61] Fix option value for --- .../navigationOptions/animation/none/index.ts | 3 ++- .../navigationOptions/animation/slideFromBottom/index.ts | 6 +++++- .../navigationOptions/animation/slideFromLeft/index.ts | 6 +++++- .../navigationOptions/animation/slideFromRight/index.ts | 3 ++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts index 88f24ab9df3af..b2eb280572c60 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts @@ -1,6 +1,7 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; +import {InternalPlatformAnimations} from '..'; import type NoneTransitionNavigationOptions from './types'; -const none: NoneTransitionNavigationOptions = {animation: 'none', gestureEnabled: false} satisfies StackNavigationOptions; +const none: NoneTransitionNavigationOptions = {animation: InternalPlatformAnimations.NONE, gestureEnabled: false} satisfies StackNavigationOptions; export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts index 5fd7d77641eb4..7593509ee962c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts @@ -1,7 +1,11 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import GestureDirection from '@libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection'; import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import {InternalPlatformAnimations} from '..'; -const slideFromBottom: PlatformSpecificNavigationOptions = {animation: 'none', gestureDirection: GestureDirection.VERTICAL} satisfies StackNavigationOptions; +const slideFromBottom: PlatformSpecificNavigationOptions = { + animation: InternalPlatformAnimations.SLIDE_FROM_BOTTOM, + gestureDirection: GestureDirection.VERTICAL, +} satisfies StackNavigationOptions; export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts index 3ec7953f6a79c..ae5d402378080 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts @@ -1,7 +1,11 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import GestureDirection from '@libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection'; import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import {InternalPlatformAnimations} from '..'; -const slideFromLeft: PlatformSpecificNavigationOptions = {animation: 'none', gestureDirection: GestureDirection.HORIZONTAL_INVERTED} satisfies StackNavigationOptions; +const slideFromLeft: PlatformSpecificNavigationOptions = { + animation: InternalPlatformAnimations.SLIDE_FROM_LEFT, + gestureDirection: GestureDirection.HORIZONTAL_INVERTED, +} satisfies StackNavigationOptions; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts index 59b1f3b19155a..7439e4c5af141 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts @@ -1,6 +1,7 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import {InternalPlatformAnimations} from '..'; -const slideFromRight: PlatformSpecificNavigationOptions = {animation: 'none', gestureDirection: 'horizontal'} satisfies StackNavigationOptions; +const slideFromRight: PlatformSpecificNavigationOptions = {animation: InternalPlatformAnimations.SLIDE_FROM_RIGHT, gestureDirection: 'horizontal'} satisfies StackNavigationOptions; export default slideFromRight; From e055998a0cb6e3bdaf324f146b2263c0dd12f333 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 3 Jun 2025 17:19:54 +0200 Subject: [PATCH 09/61] Fix wrong navigation arguments in --- src/components/TabSelector/TabSelector.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TabSelector/TabSelector.tsx b/src/components/TabSelector/TabSelector.tsx index f0867bd82beb5..aab3c3aaf8edd 100644 --- a/src/components/TabSelector/TabSelector.tsx +++ b/src/components/TabSelector/TabSelector.tsx @@ -91,7 +91,7 @@ function TabSelector({state, navigation, onTabPress = () => {}, position, onFocu if (!event.defaultPrevented) { // The `merge: true` option makes sure that the params inside the tab screen are preserved - navigation.navigate({key: route.key, merge: true}); + navigation.navigate(route.name, {key: route.key, merge: true}); } onTabPress(route.name); From d4564d69115f2dcc17ce1ba808838af91f163925 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 4 Jun 2025 09:19:18 +0200 Subject: [PATCH 10/61] Remove unnecessary patch --- ...t-navigation+material-top-tabs+6.6.3.patch | 146 ------------------ 1 file changed, 146 deletions(-) delete mode 100644 patches/@react-navigation+material-top-tabs+6.6.3.patch diff --git a/patches/@react-navigation+material-top-tabs+6.6.3.patch b/patches/@react-navigation+material-top-tabs+6.6.3.patch deleted file mode 100644 index cce3b67b2e640..0000000000000 --- a/patches/@react-navigation+material-top-tabs+6.6.3.patch +++ /dev/null @@ -1,146 +0,0 @@ -diff --git a/node_modules/@react-navigation/material-top-tabs/lib/module/index.js b/node_modules/@react-navigation/material-top-tabs/lib/module/index.js -index b83d44f..9d158a0 100644 ---- a/node_modules/@react-navigation/material-top-tabs/lib/module/index.js -+++ b/node_modules/@react-navigation/material-top-tabs/lib/module/index.js -@@ -9,6 +9,11 @@ export { default as createMaterialTopTabNavigator } from './navigators/createMat - export { default as MaterialTopTabBar } from './views/MaterialTopTabBar'; - export { default as MaterialTopTabView } from './views/MaterialTopTabView'; - -+/** -+ * Utilities -+ */ -+export { useTabAnimation } from './utils/useTabAnimation'; -+ - /** - * Types - */ -diff --git a/node_modules/@react-navigation/material-top-tabs/lib/module/utils/TabAnimationContext.js b/node_modules/@react-navigation/material-top-tabs/lib/module/utils/TabAnimationContext.js -new file mode 100644 -index 0000000..4ef4e76 ---- /dev/null -+++ b/node_modules/@react-navigation/material-top-tabs/lib/module/utils/TabAnimationContext.js -@@ -0,0 +1,3 @@ -+import * as React from 'react'; -+export const TabAnimationContext = /*#__PURE__*/React.createContext(undefined); -+//# sourceMappingURL=TabAnimationContext.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/material-top-tabs/lib/module/utils/useTabAnimation.js b/node_modules/@react-navigation/material-top-tabs/lib/module/utils/useTabAnimation.js -new file mode 100644 -index 0000000..764ca9b ---- /dev/null -+++ b/node_modules/@react-navigation/material-top-tabs/lib/module/utils/useTabAnimation.js -@@ -0,0 +1,10 @@ -+import * as React from 'react'; -+import { TabAnimationContext } from './TabAnimationContext'; -+export function useTabAnimation() { -+ const animation = React.useContext(TabAnimationContext); -+ if (animation === undefined) { -+ throw new Error("Couldn't find values for card animation. Are you inside a screen in Tab?"); -+ } -+ return animation; -+} -+//# sourceMappingURL=useTabAnimation.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/material-top-tabs/lib/module/views/MaterialTopTabView.js b/node_modules/@react-navigation/material-top-tabs/lib/module/views/MaterialTopTabView.js -index 7eda7c4..f736fd9 100644 ---- a/node_modules/@react-navigation/material-top-tabs/lib/module/views/MaterialTopTabView.js -+++ b/node_modules/@react-navigation/material-top-tabs/lib/module/views/MaterialTopTabView.js -@@ -2,6 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function - import { CommonActions, useTheme } from '@react-navigation/native'; - import * as React from 'react'; - import { TabView } from 'react-native-tab-view'; -+import { TabAnimationContext } from '../utils/TabAnimationContext'; - import MaterialTopTabBar from './MaterialTopTabBar'; - export default function MaterialTopTabView(_ref) { - let { -@@ -34,9 +35,12 @@ export default function MaterialTopTabView(_ref) { - }), - renderScene: _ref2 => { - let { -- route -+ route, -+ position - } = _ref2; -- return descriptors[route.key].render(); -+ return /*#__PURE__*/React.createElement(TabAnimationContext.Provider, { -+ value: position -+ }, descriptors[route.key].render()); - }, - navigationState: state, - renderTabBar: renderTabBar, -diff --git a/node_modules/@react-navigation/material-top-tabs/src/index.tsx b/node_modules/@react-navigation/material-top-tabs/src/index.tsx -index ae02811..b735f30 100644 ---- a/node_modules/@react-navigation/material-top-tabs/src/index.tsx -+++ b/node_modules/@react-navigation/material-top-tabs/src/index.tsx -@@ -9,6 +9,11 @@ export { default as createMaterialTopTabNavigator } from './navigators/createMat - export { default as MaterialTopTabBar } from './views/MaterialTopTabBar'; - export { default as MaterialTopTabView } from './views/MaterialTopTabView'; - -+/** -+ * Utilities -+ */ -+export { useTabAnimation } from './utils/useTabAnimation'; -+ - /** - * Types - */ -diff --git a/node_modules/@react-navigation/material-top-tabs/src/utils/TabAnimationContext.ts b/node_modules/@react-navigation/material-top-tabs/src/utils/TabAnimationContext.ts -new file mode 100644 -index 0000000..92a97ec ---- /dev/null -+++ b/node_modules/@react-navigation/material-top-tabs/src/utils/TabAnimationContext.ts -@@ -0,0 +1,6 @@ -+import * as React from 'react'; -+import type { Animated } from 'react-native'; -+ -+export const TabAnimationContext = React.createContext< -+ Animated.AnimatedInterpolation | undefined -+>(undefined); -\ No newline at end of file -diff --git a/node_modules/@react-navigation/material-top-tabs/src/utils/useTabAnimation.ts b/node_modules/@react-navigation/material-top-tabs/src/utils/useTabAnimation.ts -new file mode 100644 -index 0000000..6c122a7 ---- /dev/null -+++ b/node_modules/@react-navigation/material-top-tabs/src/utils/useTabAnimation.ts -@@ -0,0 +1,15 @@ -+import * as React from 'react'; -+ -+import { TabAnimationContext } from './TabAnimationContext'; -+ -+export function useTabAnimation() { -+ const animation = React.useContext(TabAnimationContext); -+ -+ if (animation === undefined) { -+ throw new Error( -+ "Couldn't find values for card animation. Are you inside a screen in Tab?" -+ ); -+ } -+ -+ return animation; -+} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/material-top-tabs/src/views/MaterialTopTabView.tsx b/node_modules/@react-navigation/material-top-tabs/src/views/MaterialTopTabView.tsx -index 1282698..9b0af5d 100644 ---- a/node_modules/@react-navigation/material-top-tabs/src/views/MaterialTopTabView.tsx -+++ b/node_modules/@react-navigation/material-top-tabs/src/views/MaterialTopTabView.tsx -@@ -14,6 +14,7 @@ import type { - MaterialTopTabNavigationConfig, - MaterialTopTabNavigationHelpers, - } from '../types'; -+import { TabAnimationContext } from '../utils/TabAnimationContext'; - import MaterialTopTabBar from './MaterialTopTabBar'; - - type Props = MaterialTopTabNavigationConfig & { -@@ -55,7 +56,11 @@ export default function MaterialTopTabView({ - target: state.key, - }) - } -- renderScene={({ route }) => descriptors[route.key].render()} -+ renderScene={({ route, position }) => ( -+ -+ {descriptors[route.key].render()} -+ -+ )} - navigationState={state} - renderTabBar={renderTabBar} - renderLazyPlaceholder={({ route }) => From 00eb867dbdf24afea417dc13fd9e916d6ddf0114 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 4 Jun 2025 09:37:47 +0200 Subject: [PATCH 11/61] Remove unnecessary patches --- ...native-screens+3.37.0+001+hybrid-app.patch | 74 ------------------- ...+fix-screen-flicker-on-modal-unmount.patch | 22 ------ 2 files changed, 96 deletions(-) delete mode 100644 patches/react-native-screens+3.37.0+001+hybrid-app.patch delete mode 100644 patches/react-native-screens+3.37.0+003+fix-screen-flicker-on-modal-unmount.patch diff --git a/patches/react-native-screens+3.37.0+001+hybrid-app.patch b/patches/react-native-screens+3.37.0+001+hybrid-app.patch deleted file mode 100644 index 823c4ea134d88..0000000000000 --- a/patches/react-native-screens+3.37.0+001+hybrid-app.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/node_modules/react-native-screens/android/build.gradle b/node_modules/react-native-screens/android/build.gradle -index 9b4a263..eea3659 100644 ---- a/node_modules/react-native-screens/android/build.gradle -+++ b/node_modules/react-native-screens/android/build.gradle -@@ -34,6 +34,42 @@ def isNewArchitectureEnabled() { - return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" - } - -+def resolveReactNativeDirectory() { -+ def userDefinedRnDirPath = safeAppExtGet("REACT_NATIVE_NODE_MODULES_DIR", null) -+ if (userDefinedRnDirPath != null) { -+ return file(userDefinedRnDirPath) -+ } -+ -+ File standardRnDirFile = file("$rootDir/../node_modules/react-native/") -+ if (standardRnDirFile.exists()) { -+ return standardRnDirFile -+ } -+ -+ // This is legacy code, I'm not sure why it works in certain scenarios but it was reported that one of our -+ // projects needs this. -+ File legacyRnDirFile = file("$projectDir/../node_modules/react-native/") -+ if (legacyRnDirFile.exists()) { -+ return legacyRnDirFile -+ } -+ -+ // We're in non standard setup, e.g. monorepo - try to use node resolver to locate the react-native package. -+ String maybeRnPackagePath = ["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim() -+ -+ File nodeResolverRnDirFile = null -+ // file() constructor fails in case string is null or blank -+ if (maybeRnPackagePath != null && !maybeRnPackagePath.isBlank()) { -+ File maybeRnPackageFile = file(maybeRnPackagePath) -+ if (maybeRnPackageFile.exists()) { -+ nodeResolverRnDirFile = maybeRnPackageFile.parentFile -+ return nodeResolverRnDirFile -+ } -+ } -+ -+ throw new Exception("[RNScreens] Failed to resolve react-native directory. " + -+ "Attempted locations: ${standardRnDirFile}, ${legacyRnDirFile} and ${nodeResolverRnDirFile}. " + -+ "You should set project extension property (in `app/build.gradle`) `REACT_NATIVE_NODE_MODULES_DIR` with path to react-native.") -+} -+ - // spotless is only accessible within react-native-screens repo - if (isRunningInContextOfScreensRepo()) { - apply from: 'spotless.gradle' -@@ -147,25 +183,7 @@ android { - - repositories { - maven { -- // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm -- -- // First look for the standard location of react-native, as in RN Hello World template -- // https://github.com/facebook/react-native/blob/1e8f3b11027fe0a7514b4fc97d0798d3c64bc895/local-cli/templates/HelloWorld/android/build.gradle#L21 -- // TODO(kkafar): Note, that in latest template app https://github.com/react-native-community/template/blob/0f4745b7a9d84232aeedec2def8d75ab9b050d11/template/android/build.gradle -- // this is not specified at all. -- File standardRnAndroidDirLocation = file("$rootDir/../node_modules/react-native/android") -- if (standardRnAndroidDirLocation.exists()) { -- url standardRnAndroidDirLocation -- } else { -- // We're in non standard setup - try to use node resolver to locate the react-native package. -- File reactNativePackage = file(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()) -- def rnAndroidDirLocation = "$reactNativePackage.parentFile/android" -- if (reactNativePackage.exists()) { -- url rnAndroidDirLocation -- } else { -- println "[RNScreens] Failed to resolve react-native directory. Attempted locations: ${standardRnAndroidDirLocation}, ${rnAndroidDirLocation}" -- } -- } -+ url "${resolveReactNativeDirectory()}/android" - } - - mavenCentral() diff --git a/patches/react-native-screens+3.37.0+003+fix-screen-flicker-on-modal-unmount.patch b/patches/react-native-screens+3.37.0+003+fix-screen-flicker-on-modal-unmount.patch deleted file mode 100644 index 05d782879e4b0..0000000000000 --- a/patches/react-native-screens+3.37.0+003+fix-screen-flicker-on-modal-unmount.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/node_modules/react-native-screens/ios/RNSScreenStack.mm b/node_modules/react-native-screens/ios/RNSScreenStack.mm -index b70e08b..37db7ba 100644 ---- a/node_modules/react-native-screens/ios/RNSScreenStack.mm -+++ b/node_modules/react-native-screens/ios/RNSScreenStack.mm -@@ -1138,16 +1138,7 @@ - (nullable RNSScreenView *)childScreenForTag:(react::Tag)tag - - (void)unmountChildComponentView:(UIView *)childComponentView index:(NSInteger)index - { - RNSScreenView *screenChildComponent = (RNSScreenView *)childComponentView; -- -- // We should only do a snapshot of a screen that is on the top. -- // We also check `_presentedModals` since if you push 2 modals, second one is not a "child" of _controller. -- // Also, when dissmised with a gesture, the screen already is not under the window, so we don't need to apply -- // snapshot. -- if (screenChildComponent.window != nil && -- ((screenChildComponent == _controller.visibleViewController.view && _presentedModals.count < 2) || -- screenChildComponent == [_presentedModals.lastObject view])) { -- [screenChildComponent.controller setViewToSnapshot]; -- } -+ [screenChildComponent.controller setViewToSnapshot]; - - RCTAssert( - screenChildComponent.reactSuperview == self, From f46cd3c243f87c29d918aa14e647906c7dc26266 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 4 Jun 2025 10:07:27 +0200 Subject: [PATCH 12/61] Fix tabPositionAnimation by providing the correct value --- src/hooks/useTabNavigatorFocus/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useTabNavigatorFocus/index.ts b/src/hooks/useTabNavigatorFocus/index.ts index 4079a7b3901be..d5ae773642945 100644 --- a/src/hooks/useTabNavigatorFocus/index.ts +++ b/src/hooks/useTabNavigatorFocus/index.ts @@ -42,7 +42,7 @@ function useTabNavigatorFocus({tabIndex}: UseTabNavigatorFocusParams): boolean { // Even a minimal scroll towards the camera page (e.g., a value of 0.001 at start) should activate the camera for immediate responsiveness. // STOP!!!!!!! This is not a pattern to be followed! We are conditionally rendering this hook because when used in the edit flow we'll never be inside a tab navigator. // eslint-disable-next-line react-compiler/react-compiler, react-hooks/rules-of-hooks - tabPositionAnimation = useTabAnimation(); + tabPositionAnimation = useTabAnimation().position; } catch (error) { tabPositionAnimation = null; } From ad9859265ecbc830109cbc0ec565e8c8281e9897 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 4 Jun 2025 10:54:47 +0200 Subject: [PATCH 13/61] Remove ios-custom-animation-transition patch --- ...custom-animations-native-transitions.patch | 138 ------------------ 1 file changed, 138 deletions(-) delete mode 100644 patches/react-native-screens+3.37.0+002+ios-custom-animations-native-transitions.patch diff --git a/patches/react-native-screens+3.37.0+002+ios-custom-animations-native-transitions.patch b/patches/react-native-screens+3.37.0+002+ios-custom-animations-native-transitions.patch deleted file mode 100644 index 52f8d76c4fe10..0000000000000 --- a/patches/react-native-screens+3.37.0+002+ios-custom-animations-native-transitions.patch +++ /dev/null @@ -1,138 +0,0 @@ -diff --git a/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm b/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm -index abb2cf6..c21b3e9 100644 ---- a/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm -+++ b/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm -@@ -5,13 +5,14 @@ - - // proportions to default transition duration - static const float RNSSlideOpenTransitionDurationProportion = 1; --static const float RNSFadeOpenTransitionDurationProportion = 0.2 / 0.35; --static const float RNSSlideCloseTransitionDurationProportion = 0.25 / 0.35; --static const float RNSFadeCloseTransitionDurationProportion = 0.15 / 0.35; --static const float RNSFadeCloseDelayTransitionDurationProportion = 0.1 / 0.35; -+static const float RNSFadeOpenTransitionDurationProportion = 0.2 / 0.5; -+static const float RNSSlideCloseTransitionDurationProportion = 0.25 / 0.5; -+static const float RNSFadeCloseTransitionDurationProportion = 0.15 / 0.5; -+static const float RNSFadeCloseDelayTransitionDurationProportion = 0.1 / 0.5; - // same value is used in other projects using similar approach for transistions - // and it looks the most similar to the value used by Apple - static constexpr float RNSShadowViewMaxAlpha = 0.1; -+static const int UIViewAnimationOptionCurveDefaultTransition = 7 << 16; - - @implementation RNSScreenStackAnimator { - UINavigationControllerOperation _operation; -@@ -22,7 +23,7 @@ - (instancetype)initWithOperation:(UINavigationControllerOperation)operation - { - if (self = [super init]) { - _operation = operation; -- _transitionDuration = 0.35; // default duration in seconds -+ _transitionDuration = 0.5; // default duration in seconds - } - return self; - } -@@ -129,6 +130,8 @@ - (void)animateSimplePushWithShadowEnabled:(BOOL)shadowEnabled - } - - [UIView animateWithDuration:[self transitionDuration:transitionContext] -+ delay:0 -+ options:UIViewAnimationOptionCurveDefaultTransition - animations:^{ - fromViewController.view.transform = leftTransform; - toViewController.view.transform = CGAffineTransformIdentity; -@@ -170,6 +173,8 @@ - (void)animateSimplePushWithShadowEnabled:(BOOL)shadowEnabled - - if (!transitionContext.isInteractive) { - [UIView animateWithDuration:[self transitionDuration:transitionContext] -+ delay:0 -+ options:UIViewAnimationOptionCurveDefaultTransition - animations:animationBlock - completion:completionBlock]; - } else { -@@ -203,6 +208,8 @@ - (void)animateSlideFromLeftWithTransitionContext:(id; - stackAnimation?: WithDefault; -- transitionDuration?: WithDefault; -+ transitionDuration?: WithDefault; - replaceAnimation?: WithDefault; - swipeDirection?: WithDefault; - hideKeyboardOnSwipe?: boolean; -diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -index 11ed190..f676e08 100644 ---- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -+++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -@@ -55,7 +55,7 @@ export interface NativeProps extends ViewProps { - gestureResponseDistance?: GestureResponseDistanceType; - stackPresentation?: WithDefault; - stackAnimation?: WithDefault; -- transitionDuration?: WithDefault; -+ transitionDuration?: WithDefault; - replaceAnimation?: WithDefault; - swipeDirection?: WithDefault; - hideKeyboardOnSwipe?: boolean; -diff --git a/node_modules/react-native-screens/src/fabric/ModalScreenNativeComponent.ts b/node_modules/react-native-screens/src/fabric/ModalScreenNativeComponent.ts -index bb59c4c..d4c14ee 100644 ---- a/node_modules/react-native-screens/src/fabric/ModalScreenNativeComponent.ts -+++ b/node_modules/react-native-screens/src/fabric/ModalScreenNativeComponent.ts -@@ -90,7 +90,7 @@ export interface NativeProps extends ViewProps { - gestureResponseDistance?: GestureResponseDistanceType; - stackPresentation?: WithDefault; - stackAnimation?: WithDefault; -- transitionDuration?: WithDefault; -+ transitionDuration?: WithDefault; - replaceAnimation?: WithDefault; - swipeDirection?: WithDefault; - hideKeyboardOnSwipe?: boolean; -diff --git a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts -index 4e39336..ab0b313 100644 ---- a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts -+++ b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts -@@ -92,7 +92,7 @@ export interface NativeProps extends ViewProps { - gestureResponseDistance?: GestureResponseDistanceType; - stackPresentation?: WithDefault; - stackAnimation?: WithDefault; -- transitionDuration?: WithDefault; -+ transitionDuration?: WithDefault; - replaceAnimation?: WithDefault; - swipeDirection?: WithDefault; - hideKeyboardOnSwipe?: boolean; From 0b842b5e5099f8b5640256507229900dc839e374 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 4 Jun 2025 16:15:17 +0200 Subject: [PATCH 14/61] navigation initial patch --- ...navigation+native+6.1.12+001+initial.patch | 279 ------------------ ...navigation+native+7.1.10+001+initial.patch | 210 +++++++++++++ 2 files changed, 210 insertions(+), 279 deletions(-) delete mode 100644 patches/@react-navigation+native+6.1.12+001+initial.patch create mode 100644 patches/@react-navigation+native+7.1.10+001+initial.patch diff --git a/patches/@react-navigation+native+6.1.12+001+initial.patch b/patches/@react-navigation+native+6.1.12+001+initial.patch deleted file mode 100644 index 0ac57a865dfd7..0000000000000 --- a/patches/@react-navigation+native+6.1.12+001+initial.patch +++ /dev/null @@ -1,279 +0,0 @@ -diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -index 16fdbef..231a520 100644 ---- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -+++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -@@ -1,8 +1,23 @@ - import { nanoid } from 'nanoid/non-secure'; -+import { findFocusedRouteKey } from './findFocusedRouteKey'; - export default function createMemoryHistory() { - let index = 0; - let items = []; -- -+ const log = () => { -+ console.log(JSON.stringify({ -+ index, -+ indexGetter: history.index, -+ items: items.map((item, i) => { -+ var _item$state; -+ return { -+ selected: history.index === i ? '<<<<<<<' : undefined, -+ path: item.path, -+ id: item.id, -+ state: ((_item$state = item.state) === null || _item$state === void 0 ? void 0 : _item$state.key) || null -+ }; -+ }) -+ }, null, 4)); -+ }; - // Pending callbacks for `history.go(n)` - // We might modify the callback stored if it was interrupted, so we have a ref to identify it - const pending = []; -@@ -16,6 +31,9 @@ export default function createMemoryHistory() { - }); - }; - const history = { -+ get items() { -+ return items; -+ }, - get index() { - var _window$history$state; - // We store an id in the state instead of an index -@@ -32,12 +50,13 @@ export default function createMemoryHistory() { - }, - backIndex(_ref) { - let { -- path -+ path, -+ state - } = _ref; - // We need to find the index from the element before current to get closest path to go back to - for (let i = index - 1; i >= 0; i--) { - const item = items[i]; -- if (item.path === path) { -+ if (item.path === path && findFocusedRouteKey(item.state) === findFocusedRouteKey(state)) { - return i; - } - } -@@ -68,7 +87,9 @@ export default function createMemoryHistory() { - window.history.pushState({ - id - }, '', path); -+ // log(); - }, -+ - replace(_ref3) { - var _window$history$state2; - let { -@@ -80,7 +101,7 @@ export default function createMemoryHistory() { - - // Need to keep the hash part of the path if there was no previous history entry - // or the previous history entry had the same path -- let pathWithHash = path; -+ let pathWithHash = path.replace(/(\/{2,})/g, '/'); - if (!items.length || items.findIndex(item => item.id === id) < 0) { - // There are two scenarios for creating an array with only one history record: - // - When loaded id not found in the items array, this function by default will replace -@@ -108,7 +129,9 @@ export default function createMemoryHistory() { - window.history.replaceState({ - id - }, '', pathWithHash); -+ // log(); - }, -+ - // `history.go(n)` is asynchronous, there are couple of things to keep in mind: - // - it won't do anything if we can't go `n` steps, the `popstate` event won't fire. - // - each `history.go(n)` call will trigger a separate `popstate` event with correct location. -@@ -175,20 +198,17 @@ export default function createMemoryHistory() { - // But on Firefox, it seems to take much longer, around 50ms from our testing - // We're using a hacky timeout since there doesn't seem to be way to know for sure - const timer = setTimeout(() => { -- const index = pending.findIndex(it => it.ref === done); -- if (index > -1) { -- pending[index].cb(); -- pending.splice(index, 1); -+ const foundIndex = pending.findIndex(it => it.ref === done); -+ if (foundIndex > -1) { -+ pending[foundIndex].cb(); -+ pending.splice(foundIndex, 1); - } -+ index = this.index; - }, 100); - const onPopState = () => { -- var _window$history$state3; -- const id = (_window$history$state3 = window.history.state) === null || _window$history$state3 === void 0 ? void 0 : _window$history$state3.id; -- const currentIndex = items.findIndex(item => item.id === id); -- - // Fix createMemoryHistory.index variable's value - // as it may go out of sync when navigating in the browser. -- index = Math.max(currentIndex, 0); -+ index = this.index; - const last = pending.pop(); - window.removeEventListener('popstate', onPopState); - last === null || last === void 0 ? void 0 : last.cb(); -@@ -202,12 +222,17 @@ export default function createMemoryHistory() { - // Here we normalize it so that only external changes (e.g. user pressing back/forward) trigger the listener - listen(listener) { - const onPopState = () => { -+ // Fix createMemoryHistory.index variable's value -+ // as it may go out of sync when navigating in the browser. -+ index = this.index; - if (pending.length) { - // This was triggered by `history.go(n)`, we shouldn't call the listener - return; - } - listener(); -+ // log(); - }; -+ - window.addEventListener('popstate', onPopState); - return () => window.removeEventListener('popstate', onPopState); - } -diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js -new file mode 100644 -index 0000000..16da117 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js -@@ -0,0 +1,7 @@ -+import { findFocusedRoute } from '@react-navigation/core'; -+export const findFocusedRouteKey = state => { -+ var _findFocusedRoute; -+ // @ts-ignore -+ return (_findFocusedRoute = findFocusedRoute(state)) === null || _findFocusedRoute === void 0 ? void 0 : _findFocusedRoute.key; -+}; -+//# sourceMappingURL=findFocusedRouteKey.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js -index 6688c62..95a0e32 100644 ---- a/node_modules/@react-navigation/native/lib/module/useLinking.js -+++ b/node_modules/@react-navigation/native/lib/module/useLinking.js -@@ -2,6 +2,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP - import isEqual from 'fast-deep-equal'; - import * as React from 'react'; - import createMemoryHistory from './createMemoryHistory'; -+import { findFocusedRouteKey } from './findFocusedRouteKey'; - import ServerContext from './ServerContext'; - /** - * Find the matching navigation state that changed between 2 navigation states -@@ -42,6 +43,44 @@ export const series = cb => { - return callback; - }; - let linkingHandlers = []; -+const getAllStateKeys = state => { -+ let current = state; -+ const keys = []; -+ if (current.routes) { -+ for (let route of current.routes) { -+ keys.push(route.key); -+ if (route.state) { -+ // @ts-ignore -+ keys.push(...getAllStateKeys(route.state)); -+ } -+ } -+ } -+ return keys; -+}; -+const getStaleHistoryDiff = (items, newState) => { -+ const newStateKeys = getAllStateKeys(newState); -+ for (let i = items.length - 1; i >= 0; i--) { -+ const itemFocusedKey = findFocusedRouteKey(items[i].state); -+ if (newStateKeys.includes(itemFocusedKey)) { -+ return items.length - i - 1; -+ } -+ } -+ return -1; -+}; -+const getHistoryDeltaByKeys = (focusedState, previousFocusedState) => { -+ const focusedStateKeys = focusedState.routes.map(r => r.key); -+ const previousFocusedStateKeys = previousFocusedState.routes.map(r => r.key); -+ const minLength = Math.min(focusedStateKeys.length, previousFocusedStateKeys.length); -+ let matchingKeys = 0; -+ for (let i = 0; i < minLength; i++) { -+ if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { -+ matchingKeys++; -+ } else { -+ break; -+ } -+ } -+ return -(previousFocusedStateKeys.length - matchingKeys); -+}; - export default function useLinking(ref, _ref) { - let { - independent, -@@ -234,6 +273,9 @@ export default function useLinking(ref, _ref) { - // Otherwise it's likely a change triggered by `popstate` - path !== pendingPath) { - const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); -+ -+ // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state -+ const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); - if (historyDelta > 0) { - // If history length is increased, we should pushState - // Note that path might not actually change here, for example, drawer open should pushState -@@ -245,7 +287,8 @@ export default function useLinking(ref, _ref) { - // If history length is decreased, i.e. entries were removed, we want to go back - - const nextIndex = history.backIndex({ -- path -+ path, -+ state - }); - const currentIndex = history.index; - try { -@@ -254,27 +297,47 @@ export default function useLinking(ref, _ref) { - history.get(nextIndex - currentIndex)) { - // An existing entry for this path exists and it's less than current index, go back to that - await history.go(nextIndex - currentIndex); -+ history.replace({ -+ path, -+ state -+ }); - } else { - // We couldn't find an existing entry to go back to, so we'll go back by the delta - // This won't be correct if multiple routes were pushed in one go before - // Usually this shouldn't happen and this is a fallback for that -- await history.go(historyDelta); -+ await history.go(historyDeltaByKeys); -+ if (historyDeltaByKeys + 1 === historyDelta) { -+ history.push({ -+ path, -+ state -+ }); -+ } else { -+ history.replace({ -+ path, -+ state -+ }); -+ } - } -- -- // Store the updated state as well as fix the path if incorrect -- history.replace({ -- path, -- state -- }); - } catch (e) { - // The navigation was interrupted - } - } else { - // If history length is unchanged, we want to replaceState -- history.replace({ -- path, -- state -- }); -+ // and remove any entries from history which focued route no longer exists in state -+ // That may happen if we replace a whole navigator. -+ const staleHistoryDiff = getStaleHistoryDiff(history.items.slice(0, history.index + 1), state); -+ if (staleHistoryDiff <= 0) { -+ history.replace({ -+ path, -+ state -+ }); -+ } else { -+ await history.go(-staleHistoryDiff); -+ history.push({ -+ path, -+ state -+ }); -+ } - } - } else { - // If no common navigation state was found, assume it's a replace diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation+native+7.1.10+001+initial.patch new file mode 100644 index 0000000000000..3b5862e45603a --- /dev/null +++ b/patches/@react-navigation+native+7.1.10+001+initial.patch @@ -0,0 +1,210 @@ +diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js +new file mode 100644 +index 0000000..f660918 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js +@@ -0,0 +1,6 @@ ++import { findFocusedRoute } from '@react-navigation/core'; ++export const findFocusedRouteKey = state => { ++ var _findFocusedRoute; ++ // @ts-ignore ++ return (_findFocusedRoute = findFocusedRoute(state)) === null || _findFocusedRoute === void 0 ? void 0 : _findFocusedRoute.key; ++}; +diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js +index d30009f..42da1ab 100644 +--- a/node_modules/@react-navigation/native/lib/module/useLinking.js ++++ b/node_modules/@react-navigation/native/lib/module/useLinking.js +@@ -4,6 +4,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP + import isEqual from 'fast-deep-equal'; + import * as React from 'react'; + import { createMemoryHistory } from "./createMemoryHistory.js"; ++import { findFocusedRouteKey } from './findFocusedRouteKey'; + import { ServerContext } from "./ServerContext.js"; + /** + * Find the matching navigation state that changed between 2 navigation states +@@ -45,6 +46,44 @@ export const series = cb => { + return callback; + }; + const linkingHandlers = []; ++const getAllStateKeys = state => { ++ let current = state; ++ const keys = []; ++ if (current.routes) { ++ for (let route of current.routes) { ++ keys.push(route.key); ++ if (route.state) { ++ // @ts-ignore ++ keys.push(...getAllStateKeys(route.state)); ++ } ++ } ++ } ++ return keys; ++}; ++const getStaleHistoryDiff = (items, newState) => { ++ const newStateKeys = getAllStateKeys(newState); ++ for (let i = items.length - 1; i >= 0; i--) { ++ const itemFocusedKey = findFocusedRouteKey(items[i].state); ++ if (newStateKeys.includes(itemFocusedKey)) { ++ return items.length - i - 1; ++ } ++ } ++ return -1; ++}; ++const getHistoryDeltaByKeys = (focusedState, previousFocusedState) => { ++ const focusedStateKeys = focusedState.routes.map(r => r.key); ++ const previousFocusedStateKeys = previousFocusedState.routes.map(r => r.key); ++ const minLength = Math.min(focusedStateKeys.length, previousFocusedStateKeys.length); ++ let matchingKeys = 0; ++ for (let i = 0; i < minLength; i++) { ++ if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { ++ matchingKeys++; ++ } else { ++ break; ++ } ++ } ++ return -(previousFocusedStateKeys.length - matchingKeys); ++}; + export function useLinking(ref, { + enabled = true, + config, +@@ -256,6 +295,9 @@ export function useLinking(ref, { + // Otherwise it's likely a change triggered by `popstate` + path !== pendingPath) { + const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); ++ ++ // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state ++ const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); + if (historyDelta > 0) { + // If history length is increased, we should pushState + // Note that path might not actually change here, for example, drawer open should pushState +@@ -267,7 +309,8 @@ export function useLinking(ref, { + // If history length is decreased, i.e. entries were removed, we want to go back + + const nextIndex = history.backIndex({ +- path ++ path, ++ state + }); + const currentIndex = history.index; + try { +@@ -276,27 +319,42 @@ export function useLinking(ref, { + history.get(nextIndex)) { + // An existing entry for this path exists and it's less than current index, go back to that + await history.go(nextIndex - currentIndex); ++ history.replace({ ++ path, ++ state ++ }); + } else { + // We couldn't find an existing entry to go back to, so we'll go back by the delta + // This won't be correct if multiple routes were pushed in one go before + // Usually this shouldn't happen and this is a fallback for that +- await history.go(historyDelta); ++ await history.go(historyDeltaByKeys); ++ if (historyDeltaByKeys + 1 === historyDelta) { ++ history.push({ ++ path, ++ state ++ }); ++ } else { ++ history.replace({ ++ path, ++ state ++ }); ++ } + } +- +- // Store the updated state as well as fix the path if incorrect +- history.replace({ +- path, +- state +- }); +- } catch (e) { +- // The navigation was interrupted +- } +- } else { +- // If history length is unchanged, we want to replaceState +- history.replace({ +- path, +- state +- }); ++ // and remove any entries from history which focued route no longer exists in state ++ // That may happen if we replace a whole navigator. ++ const staleHistoryDiff = getStaleHistoryDiff(history.items.slice(0, history.index + 1), state); ++ if (staleHistoryDiff <= 0) { ++ history.replace({ ++ path, ++ state ++ }); ++ } else { ++ await history.go(-staleHistoryDiff); ++ history.push({ ++ path, ++ state ++ }); ++ } + } + } else { + // If no common navigation state was found, assume it's a replace +diff --git a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx +index 1568263..7d57c39 100644 +--- a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx ++++ b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx +@@ -13,7 +13,21 @@ type HistoryRecord = { + export function createMemoryHistory() { + let index = 0; + let items: HistoryRecord[] = []; +- ++ const log = () => { ++ console.log(JSON.stringify({ ++ index, ++ indexGetter: history.index, ++ items: items.map((item, i) => { ++ var _item$state; ++ return { ++ selected: history.index === i ? '<<<<<<<' : undefined, ++ path: item.path, ++ id: item.id, ++ state: ((_item$state = item.state) === null || _item$state === void 0 ? void 0 : _item$state.key) || null ++ }; ++ }) ++ }, null, 4)); ++ }; + // Pending callbacks for `history.go(n)` + // We might modify the callback stored if it was interrupted, so we have a ref to identify it + const pending: { ref: unknown; cb: (interrupted?: boolean) => void }[] = []; +@@ -29,6 +43,9 @@ export function createMemoryHistory() { + }; + + const history = { ++ get items() { ++ return items; ++ }, + get index(): number { + // We store an id in the state instead of an index + // Index could get out of sync with in-memory values if page reloads +@@ -77,6 +94,7 @@ export function createMemoryHistory() { + // - browsers have limits on how big it can be, and we don't control the size + // - while not recommended, there could be non-serializable data in state + window.history.pushState({ id }, '', path); ++ // log(); + }, + + replace({ path, state }: { path: string; state: NavigationState }) { +@@ -86,7 +104,7 @@ export function createMemoryHistory() { + + // Need to keep the hash part of the path if there was no previous history entry + // or the previous history entry had the same path +- let pathWithHash = path; ++ let pathWithHash = path.replace(/(\/{2,})/g, '/'); + const hash = pathWithHash.includes('#') ? '' : location.hash; + + if (!items.length || items.findIndex((item) => item.id === id) < 0) { +@@ -108,6 +126,7 @@ export function createMemoryHistory() { + } + + window.history.replaceState({ id }, '', pathWithHash); ++ // log(); + }, + + // `history.go(n)` is asynchronous, there are couple of things to keep in mind: From 51155862d49f5034324d587a0aa1d21f4fe200a9 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 4 Jun 2025 16:52:05 +0200 Subject: [PATCH 15/61] add stack patch --- ...-navigation+stack+7.3.3+001+initial.patch} | 98 +++++++++---------- 1 file changed, 49 insertions(+), 49 deletions(-) rename patches/{@react-navigation+stack+6.3.29+001+initial.patch => @react-navigation+stack+7.3.3+001+initial.patch} (55%) diff --git a/patches/@react-navigation+stack+6.3.29+001+initial.patch b/patches/@react-navigation+stack+7.3.3+001+initial.patch similarity index 55% rename from patches/@react-navigation+stack+6.3.29+001+initial.patch rename to patches/@react-navigation+stack+7.3.3+001+initial.patch index a7c31ea190684..4eed6c7ee3358 100644 --- a/patches/@react-navigation+stack+6.3.29+001+initial.patch +++ b/patches/@react-navigation+stack+7.3.3+001+initial.patch @@ -1,6 +1,6 @@ diff --git a/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js new file mode 100644 -index 0000000..d8284fc +index 0000000..b20528b --- /dev/null +++ b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js @@ -0,0 +1,44 @@ @@ -10,43 +10,43 @@ index 0000000..d8284fc + +/// This returns information if the user just performed edge gesture on iOS safari to navigate in the browser history. +export const getIsEdgeDragGesture = () => { -+ return expectingTouchend || justFinishedEdgeGestureFromLeft; ++return expectingTouchend || justFinishedEdgeGestureFromLeft; +}; + +// We need to manualy reset this flag after deciding if there should be animation for navigation. +export const resetExpectingTouchendWithDelay = () => { -+ setTimeout(() => { -+ expectingTouchend = false; -+ }, 100); ++ setTimeout(() => { ++ expectingTouchend = false; ++ }, 100); +}; + +export const maybeInitializeEdgeDragGestureMonitor = () => { -+ if (isInitialized) { -+ return; -+ } -+ isInitialized = true; -+ let timer; -+ -+ // Gestures that would trigger navigation forward are broken on iOS safari. -+ // They don't have touchend event fired so we can look at expectingTouchEnd flag to detect if we should run animation. -+ const handleTouchStart = () => { -+ expectingTouchend = true; -+ }; -+ const handleTouchEnd = e => { -+ var _e$changedTouches$; -+ const pageX = (_e$changedTouches$ = e.changedTouches[0]) === null || _e$changedTouches$ === void 0 ? void 0 : _e$changedTouches$.pageX; -+ // PageX for gesture that would trigger navigation back is negative. -+ if (pageX < 0) { -+ if (timer) { -+ clearTimeout(timer); -+ } -+ justFinishedEdgeGestureFromLeft = true; -+ timer = setTimeout(() => justFinishedEdgeGestureFromLeft = false, 100); ++ if (isInitialized) { ++ return; + } -+ expectingTouchend = false; -+ }; -+ document.addEventListener('touchstart', handleTouchStart); -+ document.addEventListener('touchend', handleTouchEnd); ++ isInitialized = true; ++ let timer; ++ // Gestures that would trigger navigation forward are broken on iOS safari. ++ // They don't have touchend event fired so we can look at expectingTouchEnd flag to detect if we should run animation. ++ ++ const handleTouchStart = () => { ++ expectingTouchend = true; ++ }; ++ const handleTouchEnd = e => { ++ var _e$changedTouches$; ++ const pageX = (_e$changedTouches$ = e.changedTouches[0]) === null || _e$changedTouches$ === void 0 ? void 0 : _e$changedTouches$.pageX; ++ // PageX for gesture that would trigger navigation back is negative. ++ if (pageX < 0) { ++ if (timer) { ++ clearTimeout(timer); ++ } ++ justFinishedEdgeGestureFromLeft = true; ++ timer = setTimeout(() => justFinishedEdgeGestureFromLeft = false, 100); ++ } ++ expectingTouchend = false; ++ }; ++ document.addEventListener('touchstart', handleTouchStart); ++ document.addEventListener('touchend', handleTouchEnd); +}; diff --git a/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js new file mode 100644 @@ -60,18 +60,18 @@ index 0000000..668d198 +export const resetExpectingTouchendWithDelay = () => {}; +export const maybeInitializeEdgeDragGestureMonitor = () => {}; diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -index 548ba79..4bedb81 100644 +index e8e6e90..029f9a2 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -@@ -4,6 +4,7 @@ import * as React from 'react'; +@@ -4,6 +4,7 @@ import Color from 'color'; + import * as React from 'react'; import { Animated, InteractionManager, Platform, StyleSheet, View } from 'react-native'; - import { forModalPresentationIOS } from '../../TransitionConfigs/CardStyleInterpolators'; - import CardAnimationContext from '../../utils/CardAnimationContext'; + import { CardAnimationContext } from "../../utils/CardAnimationContext.js"; +import { getIsEdgeDragGesture, resetExpectingTouchendWithDelay } from '../../utils/edgeDragGestureMonitor'; - import getDistanceForDirection from '../../utils/getDistanceForDirection'; - import getInvertedMultiplier from '../../utils/getInvertedMultiplier'; - import memoize from '../../utils/memoize'; -@@ -121,6 +122,8 @@ export default class Card extends React.Component { + import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; + import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js"; + import { getShadowStyle } from "../../utils/getShadowStyle.js"; +@@ -130,6 +131,8 @@ export class Card extends React.Component { }); animation(gesture, { ...spec.config, @@ -80,8 +80,8 @@ index 548ba79..4bedb81 100644 velocity, toValue, useNativeDriver, -@@ -131,6 +134,8 @@ export default class Card extends React.Component { - } = _ref3; +@@ -139,6 +142,8 @@ export class Card extends React.Component { + }) => { this.handleEndInteraction(); clearTimeout(this.pendingGestureCallback); + // We need to reset edgeDragGestureMonitor manualy because of broken events on iOS safari. @@ -90,18 +90,18 @@ index 548ba79..4bedb81 100644 if (closing) { onClose(); diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 95e6871..7558eb3 100644 +index 9885b25..bba4196 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -@@ -4,6 +4,7 @@ import * as React from 'react'; - import { Animated, Platform, StyleSheet } from 'react-native'; - import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from '../../TransitionConfigs/CardStyleInterpolators'; - import { DefaultTransition, ModalFadeTransition, ModalTransition } from '../../TransitionConfigs/TransitionPresets'; +@@ -5,6 +5,7 @@ import * as React from 'react'; + import { Animated, Platform, StyleSheet, View } from 'react-native'; + import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from "../../TransitionConfigs/CardStyleInterpolators.js"; + import { BottomSheetAndroid, DefaultTransition, FadeFromBottomAndroid, FadeFromRightAndroid, ModalFadeTransition, ModalSlideFromBottomIOS, ModalTransition, RevealFromBottomAndroid, ScaleFromCenterAndroid, SlideFromLeftIOS, SlideFromRightIOS } from "../../TransitionConfigs/TransitionPresets.js"; +import { maybeInitializeEdgeDragGestureMonitor } from '../../utils/edgeDragGestureMonitor'; - import findLastIndex from '../../utils/findLastIndex'; - import getDistanceForDirection from '../../utils/getDistanceForDirection'; - import { MaybeScreen, MaybeScreenContainer } from '../Screens'; -@@ -166,6 +167,8 @@ export default class CardStack extends React.Component { + import { findLastIndex } from "../../utils/findLastIndex.js"; + import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; + import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js"; +@@ -203,6 +204,8 @@ export class CardStack extends React.Component { } constructor(props) { super(props); From 9670918518e2684e42ef20e33d9ac3e246aff79e Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 4 Jun 2025 17:10:37 +0200 Subject: [PATCH 16/61] add stack patch --- ...t-navigation+stack+7.3.3+001+initial.patch | 58 ++++++++++++++++++- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/patches/@react-navigation+stack+7.3.3+001+initial.patch b/patches/@react-navigation+stack+7.3.3+001+initial.patch index 4eed6c7ee3358..1c342644d1edf 100644 --- a/patches/@react-navigation+stack+7.3.3+001+initial.patch +++ b/patches/@react-navigation+stack+7.3.3+001+initial.patch @@ -60,7 +60,7 @@ index 0000000..668d198 +export const resetExpectingTouchendWithDelay = () => {}; +export const maybeInitializeEdgeDragGestureMonitor = () => {}; diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -index e8e6e90..029f9a2 100644 +index e8e6e90..c253575 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js @@ -4,6 +4,7 @@ import Color from 'color'; @@ -76,7 +76,7 @@ index e8e6e90..029f9a2 100644 animation(gesture, { ...spec.config, + // Detecting if the user used swipe gesture on iOS safari to trigger navigation in the browser history. -+ duration: getIsEdgeDragGesture() ? 0 : undefined, ++ toValue,duration: getIsEdgeDragGesture() ? 0 : spec.config.duration, velocity, toValue, useNativeDriver, @@ -89,8 +89,31 @@ index e8e6e90..029f9a2 100644 if (finished) { if (closing) { onClose(); +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js +index c2240e8..7511fb0 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js +@@ -3,7 +3,7 @@ + import { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements'; + import { useLinkBuilder, useLocale, useTheme } from '@react-navigation/native'; + import * as React from 'react'; +-import { StyleSheet, View } from 'react-native'; ++import { Platform, StyleSheet, View } from 'react-native'; + import { ModalPresentationContext } from "../../utils/ModalPresentationContext.js"; + import { useKeyboardManager } from "../../utils/useKeyboardManager.js"; + import { Card } from "./Card.js"; +@@ -229,7 +229,8 @@ function CardContainerInner({ + display: + // Hide unfocused screens when animation isn't enabled + // This is also necessary for a11y on web +- animation === 'none' && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex' ++ animation === 'none' && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex', ++ zIndex: Platform.OS === 'web' ? 'auto' : undefined + }, StyleSheet.absoluteFill], + children: /*#__PURE__*/_jsx(View, { + style: styles.container, diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 9885b25..bba4196 100644 +index 9885b25..df0d72a 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js @@ -5,6 +5,7 @@ import * as React from 'react'; @@ -110,3 +133,32 @@ index 9885b25..bba4196 100644 this.state = { routes: [], scenes: [], +@@ -396,6 +399,10 @@ export class CardStack extends React.Component { + extrapolate: 'clamp' + }) : STATE_TRANSITIONING_OR_BELOW_TOP; + } ++ ++ const shouldNotDetachScreen = route?.dontDetachScreen && isScreenActive !== STATE_ON_TOP; ++ ++ + const { + headerShown = true, + headerTransparent, +@@ -416,7 +423,7 @@ export class CardStack extends React.Component { + return /*#__PURE__*/_jsx(MaybeScreen, { + style: [StyleSheet.absoluteFill], + enabled: detachInactiveScreens, +- active: isScreenActive, ++ active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : isScreenActive, + freezeOnBlur: freezeOnBlur, + shouldFreeze: isScreenActive === STATE_INACTIVE && !isPreloaded, + homeIndicatorHidden: autoHideHomeIndicator, +@@ -451,7 +458,7 @@ export class CardStack extends React.Component { + onTransitionStart: onTransitionStart, + onTransitionEnd: onTransitionEnd, + isNextScreenTransparent: isNextScreenTransparent, +- detachCurrentScreen: detachCurrentScreen, ++ detachCurrentScreen: shouldNotDetachScreen ? false : detachCurrentScreen, + preloaded: isPreloaded + }) + }, route.key); From d4973f64796f30cc4e386171932bd5c275fed67f Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 4 Jun 2025 17:10:50 +0200 Subject: [PATCH 17/61] add stack patch --- ...on+stack+6.3.29+002+dontDetachScreen.patch | 68 ------------------- 1 file changed, 68 deletions(-) delete mode 100644 patches/@react-navigation+stack+6.3.29+002+dontDetachScreen.patch diff --git a/patches/@react-navigation+stack+6.3.29+002+dontDetachScreen.patch b/patches/@react-navigation+stack+6.3.29+002+dontDetachScreen.patch deleted file mode 100644 index 44e6d591b7483..0000000000000 --- a/patches/@react-navigation+stack+6.3.29+002+dontDetachScreen.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -index 4bedb81..155d87f 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -@@ -123,7 +123,7 @@ export default class Card extends React.Component { - animation(gesture, { - ...spec.config, - // Detecting if the user used swipe gesture on iOS safari to trigger navigation in the browser history. -- duration: getIsEdgeDragGesture() ? 0 : undefined, -+ duration: getIsEdgeDragGesture() ? 0 : spec.config.duration, - velocity, - toValue, - useNativeDriver, -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -index b595af8..870be65 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -@@ -1,7 +1,7 @@ - import { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements'; - import { useTheme } from '@react-navigation/native'; - import * as React from 'react'; --import { StyleSheet, View } from 'react-native'; -+import { Platform, StyleSheet, View } from 'react-native'; - import ModalPresentationContext from '../../utils/ModalPresentationContext'; - import useKeyboardManager from '../../utils/useKeyboardManager'; - import Card from './Card'; -@@ -215,7 +215,8 @@ function CardContainer(_ref) { - display: - // Hide unfocused screens when animation isn't enabled - // This is also necessary for a11y on web -- animationEnabled === false && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex' -+ animationEnabled === false && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex', -+ zIndex: Platform.OS === 'web' ? 'auto' : undefined, - }, StyleSheet.absoluteFill] - }, /*#__PURE__*/React.createElement(View, { - style: styles.container -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 7558eb3..b7bb75e 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -@@ -356,6 +356,9 @@ export default class CardStack extends React.Component { - extrapolate: 'clamp' - }) : STATE_TRANSITIONING_OR_BELOW_TOP; - } -+ -+ const shouldNotDetachScreen = route?.dontDetachScreen && isScreenActive !== STATE_ON_TOP; -+ - const { - headerShown = true, - headerTransparent, -@@ -389,7 +392,7 @@ export default class CardStack extends React.Component { - key: route.key, - style: StyleSheet.absoluteFill, - enabled: detachInactiveScreens, -- active: isScreenActive, -+ active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : isScreenActive, - freezeOnBlur: freezeOnBlur, - pointerEvents: "box-none" - }, /*#__PURE__*/React.createElement(CardContainer, { -@@ -423,7 +426,7 @@ export default class CardStack extends React.Component { - onTransitionStart: onTransitionStart, - onTransitionEnd: onTransitionEnd, - isNextScreenTransparent: isNextScreenTransparent, -- detachCurrentScreen: detachCurrentScreen -+ detachCurrentScreen: shouldNotDetachScreen ? false : detachCurrentScreen, - })); - })), isFloatHeaderAbsolute ? floatingHeader : null); - } From d742147d934270636e286dc72d36711481544cab Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 5 Jun 2025 08:18:13 +0200 Subject: [PATCH 18/61] Migrate IntegrationManager patch in @react-navigation/native-stack --- ...dded-interaction-manager-integration.patch | 196 ------------------ ...dded-interaction-manager-integration.patch | 142 +++++++++++++ 2 files changed, 142 insertions(+), 196 deletions(-) delete mode 100644 patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch create mode 100644 patches/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch diff --git a/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch deleted file mode 100644 index e8c6ad7ffa2e5..0000000000000 --- a/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch +++ /dev/null @@ -1,196 +0,0 @@ -diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js -index 997e384..94b1b71 100644 ---- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js -+++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js -@@ -160,6 +160,29 @@ const SceneView = _ref2 => { - preventedRoutes - } = (0, _native.usePreventRemoveContext)(); - const defaultHeaderHeight = (0, _elements.getDefaultHeaderHeight)(frame, isModal, statusBarHeight); -+ -+ // https://github.com/react-navigation/react-navigation/pull/11887 -+ const interactionHandleRef = React.useRef(); -+ -+ // this memo acts as a synchronous `useEffect` -+ React.useMemo(() => { -+ if (focused && interactionHandleRef.current === undefined) { -+ interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle(); -+ } -+ }, [focused]); -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ _reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); -+ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired -+ // so we clean up an interaction here -+ React.useEffect(() => finishInteraction, [finishInteraction]); -+ const onAppearCallback = React.useCallback(e => { -+ onAppear === null || onAppear === void 0 ? void 0 : onAppear(e); -+ finishInteraction(); -+ }, [onAppear, finishInteraction]); - const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); - const headerTopInsetEnabled = topInset !== 0; - const headerHeight = header ? customHeaderHeight : defaultHeaderHeight; -@@ -192,7 +215,7 @@ const SceneView = _ref2 => { - swipeDirection: gestureDirectionOverride, - transitionDuration: animationDuration, - onWillDisappear: onWillDisappear, -- onAppear: onAppear, -+ onAppear: onAppearCallback, - onDisappear: onDisappear, - onDismissed: onDismissed, - isNativeStack: true, -diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map -index 1eb6dc4..e8f2da4 100644 ---- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map -+++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map -@@ -1 +1 @@ --{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","interactionHandleRef","useMemo","InteractionManager","createInteractionHandle","finishInteraction","useCallback","clearInteractionHandle","onAppearCallback","e","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -index cbdd502..17f337b 100644 ---- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -+++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -@@ -2,7 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function - import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements'; - import { NavigationContext, NavigationRouteContext, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native'; - import * as React from 'react'; --import { Platform, StyleSheet, View } from 'react-native'; -+import { InteractionManager, Platform, StyleSheet, View } from 'react-native'; - import { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context'; - import { Screen, ScreenStack } from 'react-native-screens'; - import warnOnce from 'warn-once'; -@@ -151,6 +151,29 @@ const SceneView = _ref2 => { - preventedRoutes - } = usePreventRemoveContext(); - const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, statusBarHeight); -+ -+ // https://github.com/react-navigation/react-navigation/pull/11887 -+ const interactionHandleRef = React.useRef(); -+ -+ // this memo acts as a synchronous `useEffect` -+ React.useMemo(() => { -+ if (focused && interactionHandleRef.current === undefined) { -+ interactionHandleRef.current = InteractionManager.createInteractionHandle(); -+ } -+ }, [focused]); -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); -+ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired -+ // so we clean up an interaction here -+ React.useEffect(() => finishInteraction, [finishInteraction]); -+ const onAppearCallback = React.useCallback(e => { -+ onAppear === null || onAppear === void 0 ? void 0 : onAppear(e); -+ finishInteraction(); -+ }, [onAppear, finishInteraction]); - const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); - const headerTopInsetEnabled = topInset !== 0; - const headerHeight = header ? customHeaderHeight : defaultHeaderHeight; -@@ -183,7 +206,7 @@ const SceneView = _ref2 => { - swipeDirection: gestureDirectionOverride, - transitionDuration: animationDuration, - onWillDisappear: onWillDisappear, -- onAppear: onAppear, -+ onAppear: onAppearCallback, - onDisappear: onDisappear, - onDismissed: onDismissed, - isNativeStack: true, -diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -index 2b113bb..6bccdf6 100644 ---- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -+++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -@@ -1 +1 @@ --{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","InteractionManager","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","interactionHandleRef","useMemo","createInteractionHandle","finishInteraction","useCallback","clearInteractionHandle","onAppearCallback","e","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -index 3cdaf10..245bf7e 100644 ---- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAiWlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} -\ No newline at end of file -+{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAgYlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index 03d8b50..e8e4c27 100644 ---- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -+++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -@@ -17,7 +17,7 @@ import { - useTheme, - } from '@react-navigation/native'; - import * as React from 'react'; --import { Platform, StyleSheet, View } from 'react-native'; -+import { InteractionManager, Platform, StyleSheet, View } from 'react-native'; - import { - useSafeAreaFrame, - useSafeAreaInsets, -@@ -121,7 +121,7 @@ type SceneViewProps = { - previousDescriptor?: NativeStackDescriptor; - nextDescriptor?: NativeStackDescriptor; - onWillDisappear: () => void; -- onAppear: () => void; -+ onAppear: ScreenProps['onAppear']; - onDisappear: () => void; - onDismissed: ScreenProps['onDismissed']; - onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; -@@ -234,6 +234,42 @@ const SceneView = ({ - statusBarHeight - ); - -+ // https://github.com/react-navigation/react-navigation/pull/11887 -+ const interactionHandleRef = React.useRef(); -+ -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); -+ // this memo acts as a synchronous `useEffect` -+ React.useMemo(() => { -+ if (focused && interactionHandleRef.current === undefined) { -+ interactionHandleRef.current = -+ InteractionManager.createInteractionHandle(); -+ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator -+ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an -+ // we will get infinite interaction manager handler. To fix that we are making a running timeout -+ // action that will clear an interaction 100% -+ setTimeout(finishInteraction, 500); -+ } -+ }, [focused]); -+ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired -+ // so we clean up an interaction here -+ React.useEffect(() => finishInteraction, [finishInteraction]); -+ -+ const onAppearCallback = React.useCallback< -+ NonNullable -+ >( -+ (e) => { -+ onAppear?.(e); -+ -+ finishInteraction(); -+ }, -+ [onAppear, finishInteraction] -+ ); -+ - const [customHeaderHeight, setCustomHeaderHeight] = - React.useState(defaultHeaderHeight); - -@@ -279,7 +315,7 @@ const SceneView = ({ - swipeDirection={gestureDirectionOverride} - transitionDuration={animationDuration} - onWillDisappear={onWillDisappear} -- onAppear={onAppear} -+ onAppear={onAppearCallback} - onDisappear={onDisappear} - onDismissed={onDismissed} - isNativeStack diff --git a/patches/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch new file mode 100644 index 0000000000000..1ffa68f9b567c --- /dev/null +++ b/patches/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch @@ -0,0 +1,142 @@ +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +index 199484f..35dfc05 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +@@ -3,7 +3,7 @@ + import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements'; + import { NavigationContext, NavigationRouteContext, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native'; + import * as React from 'react'; +-import { Animated, Platform, StatusBar, StyleSheet, useAnimatedValue, View } from 'react-native'; ++import { Animated, InteractionManager, Platform, StatusBar, StyleSheet, useAnimatedValue, View } from 'react-native'; + import { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context'; + import { ScreenStack, ScreenStackItem } from 'react-native-screens'; + import { debounce } from "../utils/debounce.js"; +@@ -128,6 +128,31 @@ const SceneView = ({ + const { + preventedRoutes + } = usePreventRemoveContext(); ++ const interactionHandleRef = React.useRef(undefined); ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = InteractionManager.createInteractionHandle(); ++ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator ++ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an ++ // we will get infinite interaction manager handler. To fix that we are making a running timeout ++ // action that will clear an interaction 100% ++ setTimeout(finishInteraction, 500); ++ } ++ }, [focused]); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ const onAppearCallback = React.useCallback(e => { ++ onAppear?.(e); ++ finishInteraction(); ++ }, [onAppear, finishInteraction]); + const defaultHeaderHeight = Platform.select({ + // FIXME: Currently screens isn't using Material 3 + // So our `getDefaultHeaderHeight` doesn't return the correct value +@@ -227,7 +252,7 @@ const SceneView = ({ + transitionDuration: animationDuration, + onWillAppear: onWillAppear, + onWillDisappear: onWillDisappear, +- onAppear: onAppear, ++ onAppear: onAppearCallback, + onDisappear: onDisappear, + onDismissed: onDismissed, + onGestureCancel: onGestureCancel, +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +index 9dbc382..6ee768e 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +@@ -1 +1 @@ +-{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Animated","Platform","StatusBar","StyleSheet","useAnimatedValue","View","useSafeAreaFrame","useSafeAreaInsets","ScreenStack","ScreenStackItem","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","gestureEnabled","gestureDirection","gestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","undefined","nextGestureDirection","gestureDirectionOverride","colors","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","preventedRoutes","defaultHeaderHeight","select","android","default","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","useMemo","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","headerConfig","headerBackTitle","Provider","value","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","e","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","styles","translucent","onLayout","layout","setValue","absolute","back","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Animated","InteractionManager","Platform","StatusBar","StyleSheet","useAnimatedValue","View","useSafeAreaFrame","useSafeAreaInsets","ScreenStack","ScreenStackItem","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","gestureEnabled","gestureDirection","gestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","undefined","nextGestureDirection","gestureDirectionOverride","colors","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","preventedRoutes","interactionHandleRef","useRef","finishInteraction","useCallback","current","clearInteractionHandle","useMemo","createInteractionHandle","setTimeout","useEffect","onAppearCallback","e","defaultHeaderHeight","select","android","default","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","headerConfig","headerBackTitle","Provider","value","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","styles","translucent","onLayout","layout","setValue","absolute","back","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]} +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +index 1eb4db8..62c3f16 100644 +--- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAoBlC,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAkalB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,qBAAqB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CA4HP"} +\ No newline at end of file ++{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAqBlC,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAqclB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,qBAAqB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CA4HP"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +index fd48b20..ca15b1d 100644 +--- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx ++++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +@@ -19,6 +19,7 @@ import { + import * as React from 'react'; + import { + Animated, ++ InteractionManager, + Platform, + StatusBar, + StyleSheet, +@@ -64,7 +65,7 @@ type SceneViewProps = { + isPreloaded?: boolean; + onWillDisappear: () => void; + onWillAppear: () => void; +- onAppear: () => void; ++ onAppear: ScreenProps['onAppear']; + onDisappear: () => void; + onDismissed: ScreenProps['onDismissed']; + onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; +@@ -193,6 +194,41 @@ const SceneView = ({ + + const { preventedRoutes } = usePreventRemoveContext(); + ++ const interactionHandleRef = React.useRef(undefined); ++ ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = ++ InteractionManager.createInteractionHandle(); ++ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator ++ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an ++ // we will get infinite interaction manager handler. To fix that we are making a running timeout ++ // action that will clear an interaction 100% ++ setTimeout(finishInteraction, 500); ++ } ++ }, [focused]); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ ++ const onAppearCallback = React.useCallback< ++ NonNullable ++ >( ++ (e) => { ++ onAppear?.(e); ++ ++ finishInteraction(); ++ }, ++ [onAppear, finishInteraction] ++ ); ++ + const defaultHeaderHeight = Platform.select({ + // FIXME: Currently screens isn't using Material 3 + // So our `getDefaultHeaderHeight` doesn't return the correct value +@@ -325,7 +361,7 @@ const SceneView = ({ + transitionDuration={animationDuration} + onWillAppear={onWillAppear} + onWillDisappear={onWillDisappear} +- onAppear={onAppear} ++ onAppear={onAppearCallback} + onDisappear={onDisappear} + onDismissed={onDismissed} + onGestureCancel={onGestureCancel} From cc119053986b8e641064fc986da1addf2f2e21d1 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 5 Jun 2025 15:57:33 +0200 Subject: [PATCH 19/61] Migrate patch with CustomScreenOptions --- ...+003+platform-navigation-stack-types.patch | 1435 ----------------- ...+001+platform-navigation-stack-types.patch | 727 +++++++++ 2 files changed, 727 insertions(+), 1435 deletions(-) delete mode 100644 patches/@react-navigation+core+6.4.11+003+platform-navigation-stack-types.patch create mode 100644 patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch diff --git a/patches/@react-navigation+core+6.4.11+003+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+003+platform-navigation-stack-types.patch deleted file mode 100644 index ab0b9701c35f3..0000000000000 --- a/patches/@react-navigation+core+6.4.11+003+platform-navigation-stack-types.patch +++ /dev/null @@ -1,1435 +0,0 @@ -diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js b/node_modules/@react-navigation/core/lib/commonjs/index.js -index d1ea4eb..4b0a660 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/index.js -+++ b/node_modules/@react-navigation/core/lib/commonjs/index.js -@@ -22,6 +22,7 @@ var _exportNames = { - useFocusEffect: true, - useIsFocused: true, - useNavigation: true, -+ NavigationBuilderOptions: true, - useNavigationBuilder: true, - useNavigationContainerRef: true, - useNavigationState: true, -@@ -42,6 +43,12 @@ Object.defineProperty(exports, "CurrentRenderContext", { - return _CurrentRenderContext.default; - } - }); -+Object.defineProperty(exports, "NavigationBuilderOptions", { -+ enumerable: true, -+ get: function () { -+ return _useNavigationBuilder.NavigationBuilderOptions; -+ } -+}); - Object.defineProperty(exports, "NavigationContainerRefContext", { - enumerable: true, - get: function () { -@@ -210,7 +217,7 @@ Object.keys(_types).forEach(function (key) { - var _useFocusEffect = _interopRequireDefault(require("./useFocusEffect")); - var _useIsFocused = _interopRequireDefault(require("./useIsFocused")); - var _useNavigation = _interopRequireDefault(require("./useNavigation")); --var _useNavigationBuilder = _interopRequireDefault(require("./useNavigationBuilder")); -+var _useNavigationBuilder = _interopRequireWildcard(require("./useNavigationBuilder")); - var _useNavigationContainerRef = _interopRequireDefault(require("./useNavigationContainerRef")); - var _useNavigationState = _interopRequireDefault(require("./useNavigationState")); - var _usePreventRemove = _interopRequireDefault(require("./usePreventRemove")); -@@ -229,5 +236,7 @@ Object.keys(_routers).forEach(function (key) { - } - }); - }); -+function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -+function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - //# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js.map b/node_modules/@react-navigation/core/lib/commonjs/index.js.map -index f531070..f6131d3 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/index.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/index.js.map -@@ -1 +1 @@ --{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"} -\ No newline at end of file -+{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C;AAAA;AAAA"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map -index a3da390..bca9dc0 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/types.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAoJO,MAAMA,iBAAiB,CAA4B;AAYzD"} -\ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAmLO,MAAMA,iBAAiB,CAA4B;AAYzD"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js -index 778981c..87fa958 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js -+++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js -@@ -21,8 +21,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && - * - Helper method to render a screen - * - Options specified by the screen for the navigator - * - Navigation object intended for the route -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - */ --function useDescriptors(_ref) { -+function useDescriptors(_ref, convertCustomScreenOptions) { - let { - state, - screens, -@@ -67,29 +69,45 @@ function useDescriptors(_ref) { - const config = screens[route.name]; - const screen = config.props; - const navigation = navigations[route.key]; -- const optionsList = [ -- // The default `screenOptions` passed to the navigator -- screenOptions, -- // The `screenOptions` props passed to `Group` elements -- ...(config.options ? config.options.filter(Boolean) : []), -- // The `options` prop passed to `Screen` elements, -- screen.options, -- // The options set via `navigation.setOptions` -- options[route.key]]; -+ let optionsList; -+ if (convertCustomScreenOptions) { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ convertCustomScreenOptions(screenOptions), -+ // The `screenOptions` props passed to `Group` elements -+ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), -+ // The `options` prop passed to `Screen` elements, -+ convertCustomScreenOptions(screen.options), -+ // The options set via `navigation.setOptions` -+ convertCustomScreenOptions(options[route.key])]; -+ } else { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ screenOptions, -+ // The `screenOptions` props passed to `Group` elements -+ ...(config.options ? config.options.filter(Boolean) : []), -+ // The `options` prop passed to `Screen` elements, -+ screen.options, -+ // The options set via `navigation.setOptions` -+ options[route.key]]; -+ } - const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, - // @ts-expect-error: we check for function but TS still complains - typeof curr !== 'function' ? curr : curr({ - route, - navigation - })), {}); -+ const customDefaultScreenOptions = (convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(defaultScreenOptions)) ?? defaultScreenOptions; - const mergedOptions = { - ...(typeof defaultScreenOptions === 'function' ? -+ // In Expensify's PlatformStackNavigation we don't allow a callback function for `defaultScreenOptions`, -+ // therefore we don't need to convert any custom default options when it's a function. - // @ts-expect-error: ts gives incorrect error here - defaultScreenOptions({ - route, - navigation, - options: customOptions -- }) : defaultScreenOptions), -+ }) : customDefaultScreenOptions), - ...customOptions - }; - const clearOptions = () => setOptions(o => { -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -index d2248a2..33f2f63 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -@@ -1 +1 @@ --{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..70564a7 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -+++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -@@ -127,9 +127,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - * - * @param createRouter Factory method which returns router object. - * @param options Options object containing `children` and additional options for the router. -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --function useNavigationBuilder(createRouter, options) { -+function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { - const navigatorKey = (0, _useRegisterNavigator.default)(); - const route = React.useContext(_NavigationRouteContext.default); - const { -@@ -182,10 +184,6 @@ function useNavigationBuilder(createRouter, options) { - getIsInitial - } = React.useContext(_NavigationStateContext.default); - const stateCleanedUp = React.useRef(false); -- const cleanUpState = React.useCallback(() => { -- setCurrentState(undefined); -- stateCleanedUp.current = true; -- }, [setCurrentState]); - const setState = React.useCallback(state => { - if (stateCleanedUp.current) { - // State might have been already cleaned up due to unmount -@@ -299,6 +297,9 @@ function useNavigationBuilder(createRouter, options) { - // So we override the state object we return to use the latest state as soon as possible - state = nextState; - React.useEffect(() => { -+ // In strict mode, React will double-invoke effects. -+ // So we need to reset the flag if component was not unmounted -+ stateCleanedUp.current = false; - setKey(navigatorKey); - if (!getIsInitial()) { - // If it's not initial render, we need to update the state -@@ -308,14 +309,10 @@ function useNavigationBuilder(createRouter, options) { - } - return () => { - // We need to clean up state for this navigator on unmount -- // We do it in a timeout because we need to detect if another navigator mounted in the meantime -- // For example, if another navigator has started rendering, we should skip cleanup -- // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it -- setTimeout(() => { -- if (getCurrentState() !== undefined && getKey() === navigatorKey) { -- cleanUpState(); -- } -- }, 0); -+ if (getCurrentState() !== undefined && getKey() === navigatorKey) { -+ setCurrentState(undefined); -+ stateCleanedUp.current = true; -+ } - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); -@@ -438,7 +435,7 @@ function useNavigationBuilder(createRouter, options) { - router, - // @ts-expect-error: this should have both core and custom events, but too much work right now - emitter -- }); -+ }, convertCustomScreenOptions); - (0, _useCurrentRender.default)({ - state, - navigation, -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..564a9dc 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/index.js.map b/node_modules/@react-navigation/core/lib/module/index.js.map -index ed01400..32855ca 100644 ---- a/node_modules/@react-navigation/core/lib/module/index.js.map -+++ b/node_modules/@react-navigation/core/lib/module/index.js.map -@@ -1 +1 @@ --{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SAASlB,OAAO,IAAImB,oBAAoB,QAAQ,wBAAwB;AACxE,SAASnB,OAAO,IAAIoB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASpB,OAAO,IAAIqB,kBAAkB,QAAQ,sBAAsB;AACpE,SAASrB,OAAO,IAAIsB,yBAAyB,QAAQ,oBAAoB;AACzE,SAAStB,OAAO,IAAIuB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASvB,OAAO,IAAIwB,QAAQ,QAAQ,YAAY;AAChD,SAASxB,OAAO,IAAIyB,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} -\ No newline at end of file -+{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","NavigationBuilderOptions","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SACEC,wBAAwB,EACxBnB,OAAO,IAAIoB,oBAAoB,QAC1B,wBAAwB;AAC/B,SAASpB,OAAO,IAAIqB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAStB,OAAO,IAAIuB,yBAAyB,QAAQ,oBAAoB;AACzE,SAASvB,OAAO,IAAIwB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASxB,OAAO,IAAIyB,QAAQ,QAAQ,YAAY;AAChD,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map -index 21fd3e8..29de331 100644 ---- a/node_modules/@react-navigation/core/lib/module/types.js.map -+++ b/node_modules/@react-navigation/core/lib/module/types.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAoJA,OAAO,MAAMA,iBAAiB,CAA4B"} -\ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAmLA,OAAO,MAAMA,iBAAiB,CAA4B"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js b/node_modules/@react-navigation/core/lib/module/useDescriptors.js -index b8f73f9..76fdab1 100644 ---- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js -+++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js -@@ -12,8 +12,10 @@ import useRouteCache from './useRouteCache'; - * - Helper method to render a screen - * - Options specified by the screen for the navigator - * - Navigation object intended for the route -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - */ --export default function useDescriptors(_ref) { -+export default function useDescriptors(_ref, convertCustomScreenOptions) { - let { - state, - screens, -@@ -58,29 +60,45 @@ export default function useDescriptors(_ref) { - const config = screens[route.name]; - const screen = config.props; - const navigation = navigations[route.key]; -- const optionsList = [ -- // The default `screenOptions` passed to the navigator -- screenOptions, -- // The `screenOptions` props passed to `Group` elements -- ...(config.options ? config.options.filter(Boolean) : []), -- // The `options` prop passed to `Screen` elements, -- screen.options, -- // The options set via `navigation.setOptions` -- options[route.key]]; -+ let optionsList; -+ if (convertCustomScreenOptions) { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ convertCustomScreenOptions(screenOptions), -+ // The `screenOptions` props passed to `Group` elements -+ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), -+ // The `options` prop passed to `Screen` elements, -+ convertCustomScreenOptions(screen.options), -+ // The options set via `navigation.setOptions` -+ convertCustomScreenOptions(options[route.key])]; -+ } else { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ screenOptions, -+ // The `screenOptions` props passed to `Group` elements -+ ...(config.options ? config.options.filter(Boolean) : []), -+ // The `options` prop passed to `Screen` elements, -+ screen.options, -+ // The options set via `navigation.setOptions` -+ options[route.key]]; -+ } - const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, - // @ts-expect-error: we check for function but TS still complains - typeof curr !== 'function' ? curr : curr({ - route, - navigation - })), {}); -+ const customDefaultScreenOptions = (convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(defaultScreenOptions)) ?? defaultScreenOptions; - const mergedOptions = { - ...(typeof defaultScreenOptions === 'function' ? -+ // In Expensify's PlatformStackNavigation we don't allow a callback function for `defaultScreenOptions`, -+ // therefore we don't need to convert any custom default options when it's a function. - // @ts-expect-error: ts gives incorrect error here - defaultScreenOptions({ - route, - navigation, - options: customOptions -- }) : defaultScreenOptions), -+ }) : customDefaultScreenOptions), - ...customOptions - }; - const clearOptions = () => setOptions(o => { -diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -index 77a198a..026d685 100644 ---- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -+++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -@@ -1 +1 @@ --{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..e17764e 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -119,9 +119,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - * - * @param createRouter Factory method which returns router object. - * @param options Options object containing `children` and additional options for the router. -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --export default function useNavigationBuilder(createRouter, options) { -+export default function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { - const navigatorKey = useRegisterNavigator(); - const route = React.useContext(NavigationRouteContext); - const { -@@ -425,7 +427,7 @@ export default function useNavigationBuilder(createRouter, options) { - router, - // @ts-expect-error: this should have both core and custom events, but too much work right now - emitter -- }); -+ }, convertCustomScreenOptions); - useCurrentRender({ - state, - navigation, -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..9724f28 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -@@ -1 +1 @@ --{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"AAAA,SACEA,aAAa,QAUR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,UAAU;AAE7C,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAKEC,iBAAiB,QAGZ,SAAS;AAChB,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,cAAc,MAAkC,kBAAkB;AACzE,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,kCAAkC,MAAM,sCAAsC;AACrF,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,iBAAiB,MAAM,qBAAqB;;AAEnD;AACA;AACAd,iBAAiB;AAqBjB,MAAMe,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAG,CAKlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,KACT;EACH,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,QAAQ,CAACC,OAAO,CAACL,QAAQ,CAAC,CAACM,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIrC,KAAK,CAACsC,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAK9B,MAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACgB,UAAU,CAACY,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDP,KAAK,CAACG,KAAK,CAACC,aAAa,CACzB,qBACAJ,KAAK,CAACG,KAAK,CAACK,IACb,kDAAiD,CACnD;QACH;QAEAT,GAAG,CAACU,IAAI,CAAC;UACPC,IAAI,EAAE,CAACjB,QAAQ,EAAEO,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEjB,YAAY;UACrBS,KAAK,EAAEH,KAAK,CAACG;QAOf,CAAC,CAAC;QACF,OAAOJ,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKvC,KAAK,CAACiD,QAAQ,IAAIZ,KAAK,CAACE,IAAI,KAAKrC,KAAK,EAAE;QACzD,IAAI,CAACuB,UAAU,CAACY,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDP,KAAK,CAACG,KAAK,CAACC,aAAa,CACzB,gEAA+D,CAClE;QACH;;QAEA;QACA;QACAL,GAAG,CAACU,IAAI,CACN,GAAGlB,2BAA2B,CAC5BS,KAAK,CAACG,KAAK,CAACX,QAAQ,EACpBQ,KAAK,CAACG,KAAK,CAACC,aAAa,EACzBJ,KAAK,CAACE,IAAI,KAAKrC,KAAK,GAChB6B,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEM,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,GAC5C,CAACb,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,CAChC,CACF;QACD,OAAOd,GAAG;MACZ;IACF;IAEA,MAAM,IAAIM,KAAK,CACZ,oGACC,aAAA1C,KAAK,CAACsC,cAAc,CAACD,KAAK,CAAC,GACtB,IACC,OAAOA,KAAK,CAACE,IAAI,KAAK,QAAQ,GAAGF,KAAK,CAACE,IAAI,kBAAGF,KAAK,CAACE,IAAI,gDAAV,YAAYM,IAC3D,IACCR,KAAK,CAACG,KAAK,IAAI,IAAI,IACnB,OAAOH,KAAK,CAACG,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIH,KAAK,CAACG,KAAK,oBACrBH,KAAK,CAACG,KAAK,yCAAX,aAAaK,IAAI,GACZ,oBAAmBR,KAAK,CAACG,KAAK,CAACK,IAAK,GAAE,GACvC,EACL,EAAC,GACF,OAAOR,KAAK,KAAK,QAAQ,GACzBM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,GACpB,IAAGc,MAAM,CAACd,KAAK,CAAE,GACvB,4FAA2F,CAC7F;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIe,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCtB,OAAO,CAACuB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEX,IAAI;QAAEhB,QAAQ;QAAE4B,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAAChB,KAAK;MAEhE,IAAI,OAAOK,IAAI,KAAK,QAAQ,IAAI,CAACA,IAAI,EAAE;QACrC,MAAM,IAAIH,KAAK,CACZ,wBAAuBC,IAAI,CAACC,SAAS,CACpCC,IAAI,CACJ,kDAAiD,CACpD;MACH;MAEA,IACEhB,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIe,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIe,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIe,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIa,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI,CAAC1B,kBAAkB,CAACwD,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIf,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIa,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIhB,KAAK,CACZ,gEAA+DG,IAAK,uDAAsD,CAC5H;QACH;QAEA,IAAI,OAAOY,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAACZ,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAc,OAAO,CAACC,IAAI,CACT,qFAAoFf,IAAK,uRAAsR,CACjX;UACH,CAAC,MAAM,IAAI,QAAQ,CAACgB,IAAI,CAACJ,SAAS,CAACZ,IAAI,CAAC,EAAE;YACxCc,OAAO,CAACC,IAAI,CACT,kCAAiCH,SAAS,CAACZ,IAAK,qBAAoBA,IAAK,yMAAwM,CACnR;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAIH,KAAK,CACZ,kFAAiFG,IAAK,qLAAoL,CAC5Q;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOb,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS8B,oBAAoB,CAO1CC,YAAsD,EACtDf,OAOe,EACf;EACA,MAAMgB,YAAY,GAAGzC,oBAAoB,EAAE;EAE3C,MAAM0C,KAAK,GAAGjE,KAAK,CAACkE,UAAU,CAAC5D,sBAAsB,CAExC;EAEb,MAAM;IAAEuB,QAAQ;IAAEsC,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGpB,OAAO;EACtD,MAAM;IAAEqB,OAAO,EAAEC;EAAO,CAAC,GAAGtE,KAAK,CAACuE,MAAM,CACtCR,YAAY,CAAC;IACX,GAAIK,IAAiC;IACrC,IAAIH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,MAAM,IACjBP,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,CAACE,OAAO,KAAK,KAAK,IAC9B,OAAOT,KAAK,CAACO,MAAM,CAACG,MAAM,KAAK,QAAQ,GACnC;MAAEC,gBAAgB,EAAEX,KAAK,CAACO,MAAM,CAACG;IAAO,CAAC,GACzC,IAAI;EACV,CAAC,CAAC,CACH;EAED,MAAME,YAAY,GAAGjD,2BAA2B,CAI9CC,QAAQ,CAAC;EAEX,MAAMiD,OAAO,GAAGD,YAAY,CAAC1C,MAAM,CAEjC,CAACC,GAAG,EAAEoB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAAChB,KAAK,CAACK,IAAI,IAAIT,GAAG,EAAE;MAC5B,MAAM,IAAIM,KAAK,CACZ,6GAA4Gc,MAAM,CAAChB,KAAK,CAACK,IAAK,IAAG,CACnI;IACH;IAEAT,GAAG,CAACoB,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC,GAAGW,MAAM;IAC/B,OAAOpB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAM2C,UAAU,GAAGF,YAAY,CAACG,GAAG,CAAExB,MAAM,IAAKA,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMoC,YAAY,GAAGF,UAAU,CAAC5C,MAAM,CACpC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb9C,GAAG,CAAC8C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACnC,IAAI,CAACiC,GAAG,CAAEtD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACyD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMgD,cAAc,GAAGL,UAAU,CAAC5C,MAAM,CACtC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;IAC7CJ,GAAG,CAAC8C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOjD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMkD,cAAc,GAAGP,UAAU,CAAC5C,MAAM,CAGtC,CAACC,GAAG,EAAE8C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACpD,GAAG,EAAE;IACjB,CAAC8C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIhD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMiD,YAAY,GAAG3F,KAAK,CAAC4F,WAAW,CACnCnB,KAAsD,IACrDA,KAAK,CAAClC,IAAI,KAAKZ,SAAS,IAAI8C,KAAK,CAAClC,IAAI,KAAK+B,MAAM,CAAC/B,IAAI,EACxD,CAAC+B,MAAM,CAAC/B,IAAI,CAAC,CACd;EAED,MAAMsD,kBAAkB,GAAG7F,KAAK,CAAC4F,WAAW,CACzCnB,KAAkE,IACjEA,KAAK,KAAK9C,SAAS,IAAI8C,KAAK,CAACqB,KAAK,KAAK,KAAK,IAAIH,YAAY,CAAClB,KAAK,CAAC,EACrE,CAACkB,YAAY,CAAC,CACf;EAED,MAAM;IACJlB,KAAK,EAAEsB,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAGtG,KAAK,CAACkE,UAAU,CAAC3D,sBAAsB,CAAC;EAE5C,MAAMgG,cAAc,GAAGvG,KAAK,CAACuE,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMiC,YAAY,GAAGxG,KAAK,CAAC4F,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAACxE,SAAS,CAAC;IAC1B4E,cAAc,CAAClC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC8B,eAAe,CAAC,CAAC;EAErB,MAAMD,QAAQ,GAAGlG,KAAK,CAAC4F,WAAW,CAC/BnB,KAAkE,IAAK;IACtE,IAAI8B,cAAc,CAAClC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA8B,eAAe,CAAC1B,KAAK,CAAC;EACxB,CAAC,EACD,CAAC0B,eAAe,CAAC,CAClB;EAED,MAAM,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG1G,KAAK,CAAC2G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG7B,UAAU,CAAC5C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA5C,KAAK,aAALA,KAAK,wCAALA,KAAK,CAAEO,MAAM,kDAAb,cAAeC,KAAK,KAAI,IAAI,IAC5B,CAAAR,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeE,OAAO,MAAK,KAAK,IAChC,CAAAT,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeG,MAAM,MAAKO,IAAI,GAC1BjB,KAAK,CAACO,MAAM,CAACA,MAAM,GACnB7C,SAAS;MAEfS,GAAG,CAAC8C,IAAI,CAAC,GACPG,aAAa,KAAK1D,SAAS,IAAIkF,uBAAuB,KAAKlF,SAAS,GAChE;QACE,GAAG0D,aAAa;QAChB,GAAGwB;MACL,CAAC,GACDlF,SAAS;MAEf,OAAOS,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC2D,YAAY,KAAKpE,SAAS,IAAI,CAACgE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA9B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACwC,eAAe,CAAC;QACrB/B,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLhB,MAAM,CAACyC,kBAAkB,CACvB,CAAA9C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKsB,YAAoC,EAC7D;QACEhB,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CACF,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACS,YAAY,EAAEzB,MAAM,EAAEqB,YAAY,CAAC,CAAC;EAExC,MAAMqB,uBAAuB,GAAGhH,KAAK,CAACuE,MAAM,CAACU,YAAY,CAAC;EAE1DjF,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC3C,OAAO,GAAGY,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC3C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAoB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAG1C,KAAK;EAE5B,IACE,CAACtE,YAAY,CAACsE,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC3E,aAAa,CAAC6E,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG7C,MAAM,CAAC8C,2BAA2B,CAAC3C,KAAK,EAAE;MACpDM,UAAU;MACVK,cAAc;MACdE,cAAc;MACd+B,eAAe,EAAE9B,MAAM,CAACxC,IAAI,CAACkC,YAAY,CAAC,CAACqC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAGxH,KAAK,CAACuE,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3DxE,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAACnD,OAAO,GAAGJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM;EACjD,CAAC,EAAE,CAACP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC,CAAC;EAEnB,IAAIP,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,MAAM,EAAE;IACjB,MAAMiD,cAAc,GAAGD,uBAAuB,CAACnD,OAAO;IAEtD,IAAIqD,MAAwC;IAE5C,IACE,OAAOzD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAKiD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC4H,KAAK,CAAC1D,KAAK,CAACO,MAAM,CAACC,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAOR,KAAK,CAACO,MAAM,CAACG,MAAM,KAAK,QAAQ,KACrCV,KAAK,CAACO,MAAM,CAACE,OAAO,KAAK,KAAK,IAAIgC,0BAA0B,IAC5DzC,KAAK,CAACO,MAAM,KAAKiD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC6H,QAAQ,CAAC;QAC9B/E,IAAI,EAAEoB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BqD,IAAI,EAAE5D,KAAK,CAACO,MAAM,CAACqD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBpD,MAAM,CAACyD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1C3C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBxD,MAAM,CAACyC,kBAAkB,CAACe,YAAY,EAAE;MACtC/C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGvD,KAAK,KAAK0C,SAAS;EAExC3F,iBAAiB,CAAC,MAAM;IACtB,IAAIwG,YAAY,EAAE;MAChB;MACA9B,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA1C,KAAK,GAAG0C,SAAS;EAEjBnH,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBb,MAAM,CAACpC,YAAY,CAAC;IAEpB,IAAI,CAACsC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAc,UAAU,CAAC,MAAM;QACf,IAAIhC,eAAe,EAAE,KAAKtE,SAAS,IAAI0E,MAAM,EAAE,KAAKrC,YAAY,EAAE;UAChEwC,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0B,mBAAmB,GAAGlI,KAAK,CAACuE,MAAM,EAAS;EACjD2D,mBAAmB,CAAC7D,OAAO,GAAGoC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGhG,KAAK,CAAC4F,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZmC,mBAAmB,CAAC7D,OAAiB;EAC5C,CAAC,EAAE,CAAC4B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMsC,OAAO,GAAGpH,eAAe,CAAuBqH,CAAC,IAAK;IAC1D,IAAIrD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAImE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZpE,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAACC,IAAI,CAAEtE,KAAK,IAAKA,KAAK,CAACvC,GAAG,KAAK0G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIpE,KAAK,mCAAL,OAAOpB,IAAI,EAAE;QACfkC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACpB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLoB,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAAC7D,KAAK,CAAC+D,KAAK,CAAC;MACjCzD,UAAU,CAACjC,IAAI,CACb,GAAGyC,MAAM,CAACxC,IAAI,CAAC+B,OAAO,CAAC,CAACwC,MAAM,CAAEzE,IAAI;QAAA;QAAA,OAAK,YAAAoB,KAAK,4CAAL,QAAOpB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIoB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMwE,UAAU,GAAGC,WAAW,CAACzE,KAAK,CAACvC,GAAG,CAAC,CAAC+G,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDzE,eAAe,EACf,GAAGY,UAAU,CAACC,GAAG,CAAEnC,IAAI,IAAK;MAC1B,MAAM;QAAE8F;MAAU,CAAC,GAAG7D,OAAO,CAACjC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOmG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC3D,GAAG,CAAE2D,SAAS,IAAK;MACnB,MAAM3D,GAAG,GACP,OAAO2D,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE1E,KAAK,EAAEA,KAAY;QAAEwE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO3D,GAAG,GACNO,MAAM,CAACxC,IAAI,CAACiC,GAAG,CAAC,CACbsC,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK6F,CAAC,CAAC7F,IAAI,CAAC,CACjCyC,GAAG,CAAEzC,IAAI,IAAKyC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGzC,IAAI,CAAC,CAAC,GAC7BZ,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC2F,MAAM,CAAC,CAACuB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACpF,OAAO,CAAE0F,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFnH,cAAc,CAAC;IAAEwD,KAAK;IAAE0D;EAAQ,CAAC,CAAC;EAElCnI,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBkB,OAAO,CAACe,IAAI,CAAC;MAAE3G,IAAI,EAAE,OAAO;MAAE4G,IAAI,EAAE;QAAE1E;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC0D,OAAO,EAAE1D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEkE,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAG1I,iBAAiB,EAAE;EAEtE,MAAM;IAAE2I,cAAc;IAAEC;EAAiB,CAAC,GAAGrI,sBAAsB,EAAE;EAErE,MAAMsI,QAAQ,GAAGpI,WAAW,CAAC;IAC3BkD,MAAM;IACN0B,QAAQ;IACRE,QAAQ;IACRxE,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACf+H,eAAe,EAAEL,cAAc,CAAC1B,MAAM;IACtCgC,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB7E,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACD6C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGvI,eAAe,CAAC;IACnCgD,MAAM;IACN5C,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACfsE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAGtH,oBAAoB,CAKrC;IACA2I,EAAE,EAAE9G,OAAO,CAAC8G,EAAE;IACdN,QAAQ;IACRxD,QAAQ;IACRmC,OAAO;IACP7D;EACF,CAAC,CAAC;EAEFtD,kCAAkC,CAAC;IACjCyH,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF3I,aAAa,CAAC;IACZ2E,QAAQ;IACRiE,iBAAiB,EAAEX,cAAc,CAACtD;EACpC,CAAC,CAAC;EAEF,MAAM0C,WAAW,GAAG5H,cAAc,CAKhC;IACA2D,KAAK;IACLK,OAAO;IACP2D,UAAU;IACVvF,aAAa,EAAEF,OAAO,CAACE,aAAa;IACpCgH,oBAAoB,EAAElH,OAAO,CAACkH,oBAAoB;IAClDV,QAAQ;IACRxD,QAAQ;IACRE,QAAQ;IACR2D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBjF,MAAM;IACN;IACA6D;EACF,CAAC,CAAC;EAEFtH,gBAAgB,CAAC;IACf4D,KAAK;IACLgE,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAGvJ,YAAY,CAAEiB,QAAyB,iBAC/D,oBAAC,wBAAwB,CAAC,QAAQ;IAAC,KAAK,EAAE4G;EAAW,gBACnD,oBAAC,qBAAqB,QAAE5G,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACL4C,KAAK;IACLgE,UAAU;IACVC,WAAW;IACXyB;EACF,CAAC;AACH"} -\ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts -new file mode 100644 -index 0000000..d22cbd4 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=BaseNavigationContainer.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map -new file mode 100644 -index 0000000..6334965 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"BaseNavigationContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/BaseNavigationContainer.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts -new file mode 100644 -index 0000000..433d407 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=StaticContainer.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map -new file mode 100644 -index 0000000..34bb501 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"StaticContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/StaticContainer.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts -new file mode 100644 -index 0000000..7e2c7c6 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts -@@ -0,0 +1,25 @@ -+import { CommonNavigationAction, DefaultRouterOptions, Router } from '@react-navigation/routers'; -+export type MockActions = CommonNavigationAction | { -+ type: 'NOOP' | 'UPDATE'; -+}; -+export declare const MockRouterKey: { -+ current: number; -+}; -+export default function MockRouter(options: DefaultRouterOptions): Router & Readonly<{ -+ params?: Readonly; -+ }> & { -+ state?: Readonly | import("@react-navigation/routers").PartialState> | undefined; -+ })[]; -+ type: string; -+ stale: false; -+}>, MockActions>; -+//# sourceMappingURL=MockRouter.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map -new file mode 100644 -index 0000000..4ff520f ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"MockRouter.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/__fixtures__/MockRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EAGpB,MAAM,EACP,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,aAAa;;CAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;iBA+I/D"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts -new file mode 100644 -index 0000000..1fa4c05 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=checkSerializable.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map -new file mode 100644 -index 0000000..7134153 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"checkSerializable.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/checkSerializable.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts -new file mode 100644 -index 0000000..600781b ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=createNavigationContainerRef.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map -new file mode 100644 -index 0000000..c92c69c ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"createNavigationContainerRef.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigationContainerRef.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts -new file mode 100644 -index 0000000..3dcc160 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=createNavigatorFactory.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map -new file mode 100644 -index 0000000..8f35188 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"createNavigatorFactory.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigatorFactory.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts -new file mode 100644 -index 0000000..df51c94 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getActionFromState.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map -new file mode 100644 -index 0000000..e3191ac ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getActionFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getActionFromState.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts -new file mode 100644 -index 0000000..ae3812b ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getFocusedRouteNameFromRoute.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map -new file mode 100644 -index 0000000..be64b01 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getFocusedRouteNameFromRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getFocusedRouteNameFromRoute.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts -new file mode 100644 -index 0000000..7625849 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getPathFromState.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map -new file mode 100644 -index 0000000..b119f20 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getPathFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getPathFromState.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts -new file mode 100644 -index 0000000..2ebde5a ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getStateFromPath.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map -new file mode 100644 -index 0000000..cd928df ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getStateFromPath.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getStateFromPath.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts -new file mode 100644 -index 0000000..121d59b ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=index.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map -new file mode 100644 -index 0000000..7b9421a ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts -new file mode 100644 -index 0000000..98b6561 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useDescriptors.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map -new file mode 100644 -index 0000000..666ac88 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useDescriptors.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useDescriptors.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts -new file mode 100644 -index 0000000..86ccf20 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useEventEmitter.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map -new file mode 100644 -index 0000000..0c223bb ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useEventEmitter.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useEventEmitter.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts -new file mode 100644 -index 0000000..88a0334 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useFocusEffect.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map -new file mode 100644 -index 0000000..14fd128 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useFocusEffect.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useFocusEffect.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts -new file mode 100644 -index 0000000..5ace84d ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useIsFocused.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map -new file mode 100644 -index 0000000..eb4a60a ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useIsFocused.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useIsFocused.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts -new file mode 100644 -index 0000000..49943be ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useNavigation.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map -new file mode 100644 -index 0000000..0d5f05d ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useNavigation.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigation.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts -new file mode 100644 -index 0000000..c4bdd73 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useNavigationCache.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map -new file mode 100644 -index 0000000..45d5eec ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useNavigationCache.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationCache.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts -new file mode 100644 -index 0000000..3f3e1e8 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useNavigationState.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map -new file mode 100644 -index 0000000..7f87ce2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useNavigationState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationState.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts -new file mode 100644 -index 0000000..a2d09c2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useOnAction.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map -new file mode 100644 -index 0000000..f1b8ce2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useOnAction.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useOnAction.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts -new file mode 100644 -index 0000000..8f19ec2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=usePreventRemove.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map -new file mode 100644 -index 0000000..6c812fd ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"usePreventRemove.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/usePreventRemove.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts -new file mode 100644 -index 0000000..2fc7bc3 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useRoute.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map -new file mode 100644 -index 0000000..0f1e440 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts -index e59dc93..9481d93 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts -@@ -17,7 +17,7 @@ export * from './types'; - export { default as useFocusEffect } from './useFocusEffect'; - export { default as useIsFocused } from './useIsFocused'; - export { default as useNavigation } from './useNavigation'; --export { default as useNavigationBuilder } from './useNavigationBuilder'; -+export { NavigationBuilderOptions, default as useNavigationBuilder, } from './useNavigationBuilder'; - export { default as useNavigationContainerRef } from './useNavigationContainerRef'; - export { default as useNavigationState } from './useNavigationState'; - export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map -index 366138e..b8b7de5 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} -\ No newline at end of file -+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index fcd456b..f0b0bdb 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -7,7 +7,20 @@ declare global { - } - } - type Keyof = Extract; --export type DefaultNavigatorOptions = DefaultRouterOptions> & { -+export type ScreenListenersOrCallback = ScreenListeners | ((props: { -+ route: RouteProp; -+ navigation: any; -+}) => ScreenListeners); -+export type ScreenOptionsOrCallback = ScreenOptions | ((props: { -+ route: RouteProp; -+ navigation: any; -+}) => ScreenOptions); -+export type DefaultScreenOptionsOrCallback = ScreenOptions | ((props: { -+ route: RouteProp; -+ navigation: any; -+ options: ScreenOptions; -+}) => ScreenOptions); -+export type DefaultNavigatorOptions = DefaultRouterOptions> & { - /** - * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. - */ -@@ -20,17 +33,11 @@ export type DefaultNavigatorOptions | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback; - /** - * Default options for all screens under this navigator. - */ -- screenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback; - }; - export type EventMapBase = Record = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; - export type RouteConfig = { - /** - * Optional key for this screen. This doesn't need to be unique. -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -index 6594ef4..f6c839d 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -index b0f331a..195ea3c 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -@@ -1,26 +1,18 @@ - import type { NavigationAction, NavigationState, ParamListBase, Router } from '@react-navigation/routers'; - import { AddKeyedListener, AddListener } from './NavigationBuilderContext'; --import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; -+import type { ConvertCustomScreenOptions, DefaultScreenOptionsOrCallback, Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp, ScreenOptionsOrCallback } from './types'; - import type { NavigationEventEmitter } from './useEventEmitter'; - export type ScreenConfigWithParent = { - keys: (string | undefined)[]; - options: (ScreenOptionsOrCallback | undefined)[] | undefined; - props: RouteConfig; - }; --type ScreenOptionsOrCallback = ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; --}) => ScreenOptions); --type Options = { -+type Options = { - state: State; -- screens: Record>; -+ screens: Record>; - navigation: NavigationHelpers; -- screenOptions?: ScreenOptionsOrCallback; -- defaultScreenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- options: ScreenOptions; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback; -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; - onAction: (action: NavigationAction) => boolean; - getState: () => State; - setState: (state: State) => void; -@@ -37,8 +29,10 @@ type Options void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, defaultScreenOptions, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options): Record void>, ScreenOptions extends {}, EventMap extends EventMapBase, CustomScreenOptions extends {} = ScreenOptions>({ state, screens, navigation, screenOptions, defaultScreenOptions, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options, convertCustomScreenOptions: ConvertCustomScreenOptions | undefined): Record = { -+import { ConvertCustomScreenOptions, DefaultNavigatorOptions, DefaultScreenOptionsOrCallback, EventMapCore, PrivateValueStore } from './types'; -+export type NavigationBuilderOptions = { - /** - * Default options specified by the navigator. - * It receives the custom options in the arguments if a function is specified. - */ -- defaultScreenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- options: ScreenOptions; -- }) => ScreenOptions); -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; - }; - /** - * Hook for building navigators. - * - * @param createRouter Factory method which returns router object. - * @param options Options object containing `children` and additional options for the router. -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { -+export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { - state: State; - navigation: { - dispatch(action: Readonly<{ -@@ -168,10 +166,9 @@ export default function useNavigationBuilder, {}, {}> | undefined>(id?: string | undefined): T_1; - setParams(params: Partial): void; - setOptions(options: Partial): void; -- } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp>>; -+ } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, import("./types").RouteProp>>; - NavigationContent: ({ children }: { - children: React.ReactNode; - }) => JSX.Element; - }; --export {}; - //# sourceMappingURL=useNavigationBuilder.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..9800d08 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} -\ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AA4LF;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAC7D,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgdF"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx -index 61706b6..9db0c9d 100644 ---- a/node_modules/@react-navigation/core/src/index.tsx -+++ b/node_modules/@react-navigation/core/src/index.tsx -@@ -17,7 +17,10 @@ export * from './types'; - export { default as useFocusEffect } from './useFocusEffect'; - export { default as useIsFocused } from './useIsFocused'; - export { default as useNavigation } from './useNavigation'; --export { default as useNavigationBuilder } from './useNavigationBuilder'; -+export { -+ NavigationBuilderOptions, -+ default as useNavigationBuilder, -+} from './useNavigationBuilder'; - export { default as useNavigationContainerRef } from './useNavigationContainerRef'; - export { default as useNavigationState } from './useNavigationState'; - export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; -diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index b691d75..e9b8ea4 100644 ---- a/node_modules/@react-navigation/core/src/types.tsx -+++ b/node_modules/@react-navigation/core/src/types.tsx -@@ -19,11 +19,47 @@ declare global { - - type Keyof = Extract; - -+export type ScreenListenersOrCallback< -+ State extends NavigationState, -+ EventMap extends EventMapBase, -+ ParamList extends ParamListBase = ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList -+> = -+ | ScreenListeners -+ | ((props: { -+ route: RouteProp; -+ navigation: any; -+ }) => ScreenListeners); -+ -+export type ScreenOptionsOrCallback< -+ ScreenOptions extends {}, -+ ParamList extends ParamListBase = ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList -+> = -+ | ScreenOptions -+ | ((props: { -+ route: RouteProp; -+ navigation: any; -+ }) => ScreenOptions); -+ -+export type DefaultScreenOptionsOrCallback< -+ ScreenOptions extends {}, -+ ParamList extends ParamListBase = ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList -+> = -+ | ScreenOptions -+ | ((props: { -+ route: RouteProp; -+ navigation: any; -+ options: ScreenOptions; -+ }) => ScreenOptions); -+ - export type DefaultNavigatorOptions< - ParamList extends ParamListBase, - State extends NavigationState, - ScreenOptions extends {}, -- EventMap extends EventMapBase -+ EventMap extends EventMapBase, -+ RouteName extends keyof ParamList = keyof ParamList - > = DefaultRouterOptions> & { - /** - * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. -@@ -37,21 +73,16 @@ export type DefaultNavigatorOptions< - /** - * Event listeners for all the screens in the navigator. - */ -- screenListeners?: -- | ScreenListeners -- | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback< -+ State, -+ EventMap, -+ ParamList, -+ RouteName -+ >; - /** - * Default options for all screens under this navigator. - */ -- screenOptions?: -- | ScreenOptions -- | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback; - }; - - export type EventMapBase = Record< -@@ -482,6 +513,13 @@ export type RouteConfigComponent< - getComponent?: never; - }; - -+export type ConvertCustomScreenOptions< -+ CustomScreenOptions extends {}, -+ ScreenOptions extends {} -+> = ( -+ options: ScreenOptionsOrCallback | undefined -+) => ScreenOptionsOrCallback | undefined; -+ - export type RouteConfig< - ParamList extends ParamListBase, - RouteName extends keyof ParamList, -diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx -index d5a192c..2e4ee0f 100644 ---- a/node_modules/@react-navigation/core/src/useDescriptors.tsx -+++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx -@@ -14,12 +14,15 @@ import NavigationContext from './NavigationContext'; - import NavigationRouteContext from './NavigationRouteContext'; - import SceneView from './SceneView'; - import type { -+ ConvertCustomScreenOptions, -+ DefaultScreenOptionsOrCallback, - Descriptor, - EventMapBase, - NavigationHelpers, - NavigationProp, - RouteConfig, - RouteProp, -+ ScreenOptionsOrCallback, - } from './types'; - import type { NavigationEventEmitter } from './useEventEmitter'; - import useNavigationCache from './useNavigationCache'; -@@ -35,32 +38,22 @@ export type ScreenConfigWithParent< - props: RouteConfig; - }; - --type ScreenOptionsOrCallback = -- | ScreenOptions -- | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenOptions); -- - type Options< - State extends NavigationState, - ScreenOptions extends {}, -- EventMap extends EventMapBase -+ EventMap extends EventMapBase, -+ CustomScreenOptions extends {} = ScreenOptions - > = { - state: State; - screens: Record< - string, -- ScreenConfigWithParent -+ ScreenConfigWithParent - >; - navigation: NavigationHelpers; -- screenOptions?: ScreenOptionsOrCallback; -- defaultScreenOptions?: -- | ScreenOptions -- | ((props: { -- route: RouteProp; -- navigation: any; -- options: ScreenOptions; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback; -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback< -+ ScreenOptions | CustomScreenOptions -+ >; - onAction: (action: NavigationAction) => boolean; - getState: () => State; - setState: (state: State) => void; -@@ -78,27 +71,35 @@ type Options< - * - Helper method to render a screen - * - Options specified by the screen for the navigator - * - Navigation object intended for the route -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - */ - export default function useDescriptors< - State extends NavigationState, - ActionHelpers extends Record void>, - ScreenOptions extends {}, -- EventMap extends EventMapBase -->({ -- state, -- screens, -- navigation, -- screenOptions, -- defaultScreenOptions, -- onAction, -- getState, -- setState, -- addListener, -- addKeyedListener, -- onRouteFocus, -- router, -- emitter, --}: Options) { -+ EventMap extends EventMapBase, -+ CustomScreenOptions extends {} = ScreenOptions -+>( -+ { -+ state, -+ screens, -+ navigation, -+ screenOptions, -+ defaultScreenOptions, -+ onAction, -+ getState, -+ setState, -+ addListener, -+ addKeyedListener, -+ onRouteFocus, -+ router, -+ emitter, -+ }: Options, -+ convertCustomScreenOptions: -+ | ConvertCustomScreenOptions -+ | undefined -+) { - const [options, setOptions] = React.useState>({}); - const { onDispatchAction, onOptionsChange, stackRef } = React.useContext( - NavigationBuilderContext -@@ -160,18 +161,42 @@ export default function useDescriptors< - const screen = config.props; - const navigation = navigations[route.key]; - -- const optionsList = [ -- // The default `screenOptions` passed to the navigator -- screenOptions, -- // The `screenOptions` props passed to `Group` elements -- ...((config.options -- ? config.options.filter(Boolean) -- : []) as ScreenOptionsOrCallback[]), -- // The `options` prop passed to `Screen` elements, -- screen.options, -- // The options set via `navigation.setOptions` -- options[route.key], -- ]; -+ let optionsList: (ScreenOptionsOrCallback | undefined)[]; -+ if (convertCustomScreenOptions) { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ convertCustomScreenOptions( -+ screenOptions as ScreenOptionsOrCallback -+ ), -+ // The `screenOptions` props passed to `Group` elements -+ ...((config.options -+ ? (config.options as ScreenOptionsOrCallback[]) -+ .filter(Boolean) -+ .map(convertCustomScreenOptions) -+ : []) as ScreenOptionsOrCallback[]), -+ // The `options` prop passed to `Screen` elements, -+ convertCustomScreenOptions( -+ screen.options as ScreenOptionsOrCallback -+ ), -+ // The options set via `navigation.setOptions` -+ convertCustomScreenOptions( -+ options[route.key] as ScreenOptionsOrCallback -+ ), -+ ]; -+ } else { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ screenOptions as ScreenOptionsOrCallback, -+ // The `screenOptions` props passed to `Group` elements -+ ...((config.options -+ ? config.options.filter(Boolean) -+ : []) as ScreenOptionsOrCallback[]), -+ // The `options` prop passed to `Screen` elements, -+ screen.options as ScreenOptionsOrCallback, -+ // The options set via `navigation.setOptions` -+ options[route.key] as ScreenOptionsOrCallback, -+ ]; -+ } - - const customOptions = optionsList.reduce( - (acc, curr) => -@@ -183,15 +208,22 @@ export default function useDescriptors< - {} as ScreenOptions - ); - -+ const customDefaultScreenOptions = -+ convertCustomScreenOptions?.( -+ defaultScreenOptions as ScreenOptionsOrCallback -+ ) ?? defaultScreenOptions; -+ - const mergedOptions = { - ...(typeof defaultScreenOptions === 'function' -- ? // @ts-expect-error: ts gives incorrect error here -+ ? // In Expensify's PlatformStackNavigation we don't allow a callback function for `defaultScreenOptions`, -+ // therefore we don't need to convert any custom default options when it's a function. -+ // @ts-expect-error: ts gives incorrect error here - defaultScreenOptions({ - route, - navigation, - options: customOptions, - }) -- : defaultScreenOptions), -+ : customDefaultScreenOptions), - ...customOptions, - }; - -diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..2bcf288 100644 ---- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -+++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -22,13 +22,13 @@ import NavigationStateContext from './NavigationStateContext'; - import PreventRemoveProvider from './PreventRemoveProvider'; - import Screen from './Screen'; - import { -+ ConvertCustomScreenOptions, - DefaultNavigatorOptions, -+ DefaultScreenOptionsOrCallback, - EventMapBase, - EventMapCore, - NavigatorScreenParams, - PrivateValueStore, -- RouteConfig, -- RouteProp, - } from './types'; - import useChildListeners from './useChildListeners'; - import useComponent from './useComponent'; -@@ -49,18 +49,12 @@ import useScheduleUpdate from './useScheduleUpdate'; - // eslint-disable-next-line babel/no-unused-expressions - PrivateValueStore; - --type NavigationBuilderOptions = { -+export type NavigationBuilderOptions = { - /** - * Default options specified by the navigator. - * It receives the custom options in the arguments if a function is specified. - */ -- defaultScreenOptions?: -- | ScreenOptions -- | ((props: { -- route: RouteProp; -- navigation: any; -- options: ScreenOptions; -- }) => ScreenOptions); -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; - }; - - type NavigatorRoute = { -@@ -79,18 +73,23 @@ const isValidKey = (key: unknown) => - const getRouteConfigsFromChildren = < - State extends NavigationState, - ScreenOptions extends {}, -- EventMap extends EventMapBase -+ EventMap extends EventMapBase, -+ CustomScreenOptions extends {} = ScreenOptions - >( - children: React.ReactNode, - groupKey?: string, - groupOptions?: ScreenConfigWithParent< - State, -- ScreenOptions, -+ ScreenOptions | CustomScreenOptions, - EventMap - >['options'] - ) => { - const configs = React.Children.toArray(children).reduce< -- ScreenConfigWithParent[] -+ ScreenConfigWithParent< -+ State, -+ ScreenOptions | CustomScreenOptions, -+ EventMap -+ >[] - >((acc, child) => { - if (React.isValidElement(child)) { - if (child.type === Screen) { -@@ -110,13 +109,7 @@ const getRouteConfigsFromChildren = < - acc.push({ - keys: [groupKey, child.props.navigationKey], - options: groupOptions, -- props: child.props as RouteConfig< -- ParamListBase, -- string, -- State, -- ScreenOptions, -- EventMap -- >, -+ props: child.props, - }); - return acc; - } -@@ -133,7 +126,12 @@ const getRouteConfigsFromChildren = < - // When we encounter a fragment or group, we need to dive into its children to extract the configs - // This is handy to conditionally define a group of screens - acc.push( -- ...getRouteConfigsFromChildren( -+ ...getRouteConfigsFromChildren< -+ State, -+ ScreenOptions | CustomScreenOptions, -+ EventMap, -+ CustomScreenOptions -+ >( - child.props.children, - child.props.navigationKey, - child.type !== Group -@@ -250,6 +248,8 @@ const getRouteConfigsFromChildren = < - * - * @param createRouter Factory method which returns router object. - * @param options Options object containing `children` and additional options for the router. -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ - export default function useNavigationBuilder< -@@ -257,17 +257,22 @@ export default function useNavigationBuilder< - RouterOptions extends DefaultRouterOptions, - ActionHelpers extends Record void>, - ScreenOptions extends {}, -- EventMap extends Record -+ EventMap extends Record, -+ CustomScreenOptions extends {} = ScreenOptions - >( - createRouter: RouterFactory, - options: DefaultNavigatorOptions< - ParamListBase, - State, -- ScreenOptions, -+ ScreenOptions | CustomScreenOptions, - EventMap - > & -- NavigationBuilderOptions & -- RouterOptions -+ NavigationBuilderOptions & -+ RouterOptions, -+ convertCustomScreenOptions?: ConvertCustomScreenOptions< -+ CustomScreenOptions, -+ ScreenOptions -+ > - ) { - const navigatorKey = useRegisterNavigator(); - -@@ -291,11 +296,19 @@ export default function useNavigationBuilder< - const routeConfigs = getRouteConfigsFromChildren< - State, - ScreenOptions, -- EventMap -+ EventMap, -+ CustomScreenOptions - >(children); - - const screens = routeConfigs.reduce< -- Record> -+ Record< -+ string, -+ ScreenConfigWithParent< -+ State, -+ ScreenOptions | CustomScreenOptions, -+ EventMap -+ > -+ > - >((acc, config) => { - if (config.props.name in acc) { - throw new Error( -@@ -683,23 +696,27 @@ export default function useNavigationBuilder< - State, - ActionHelpers, - ScreenOptions, -- EventMap -- >({ -- state, -- screens, -- navigation, -- screenOptions: options.screenOptions, -- defaultScreenOptions: options.defaultScreenOptions, -- onAction, -- getState, -- setState, -- onRouteFocus, -- addListener, -- addKeyedListener, -- router, -- // @ts-expect-error: this should have both core and custom events, but too much work right now -- emitter, -- }); -+ EventMap, -+ CustomScreenOptions -+ >( -+ { -+ state, -+ screens, -+ navigation, -+ screenOptions: options.screenOptions, -+ defaultScreenOptions: options.defaultScreenOptions, -+ onAction, -+ getState, -+ setState, -+ onRouteFocus, -+ addListener, -+ addKeyedListener, -+ router, -+ // @ts-expect-error: this should have both core and custom events, but too much work right now -+ emitter, -+ }, -+ convertCustomScreenOptions -+ ); - - useCurrentRender({ - state, diff --git a/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch new file mode 100644 index 0000000000000..52333fc1e312d --- /dev/null +++ b/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch @@ -0,0 +1,727 @@ +diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map +index c0b4975..96c6dac 100644 +--- a/node_modules/@react-navigation/core/lib/module/types.js.map ++++ b/node_modules/@react-navigation/core/lib/module/types.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAqNA,OAAO,MAAMA,iBAAiB,CAA4B","ignoreList":[]} ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAmPA,OAAO,MAAMA,iBAAiB,CAA4B","ignoreList":[]} +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js b/node_modules/@react-navigation/core/lib/module/useDescriptors.js +index 710df03..07ae763 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js +@@ -16,6 +16,8 @@ import { jsx as _jsx } from "react/jsx-runtime"; + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ + export function useDescriptors({ + state, +@@ -31,7 +33,7 @@ export function useDescriptors({ + onRouteFocus, + router, + emitter +-}) { ++}, convertCustomScreenOptions) { + const theme = React.useContext(ThemeContext); + const [options, setOptions] = React.useState({}); + const { +@@ -68,15 +70,26 @@ export function useDescriptors({ + const getOptions = (route, navigation, overrides) => { + const config = screens[route.name]; + const screen = config.props; +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...(config.options ? config.options.filter(Boolean) : []), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- overrides]; ++ let optionsList; ++ if (convertCustomScreenOptions) { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions(screenOptions), ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions(screen.options), convertCustomScreenOptions(overrides)]; ++ } else { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ screenOptions, ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean) : []), ++ // The `options` prop passed to `Screen` elements, ++ screen.options, ++ // The options set via `navigation.setOptions` ++ options[route.key]]; ++ } + return optionsList.reduce((acc, curr) => Object.assign(acc, + // @ts-expect-error: we check for function but TS still complains + typeof curr !== 'function' ? curr : curr({ +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +index 9d2a903..c28b7e8 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +@@ -1 +1 @@ +-{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","convertCustomScreenOptions","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","map","key","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]} +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +index 586b8be..d7028e1 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +@@ -138,9 +138,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayo + * + * @param createRouter Factory method which returns router object. + * @param options Options object containing `children` and additional options for the router. ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-export function useNavigationBuilder(createRouter, options) { ++export function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { + const navigatorKey = useRegisterNavigator(); + const route = React.useContext(NavigationRouteContext); + const { +@@ -470,7 +472,7 @@ export function useNavigationBuilder(createRouter, options) { + router, + // @ts-expect-error: this should have both core and custom events, but too much work right now + emitter +- }); ++ }, convertCustomScreenOptions); + useCurrentRender({ + state, + navigation, +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +index aababc4..ebbae11 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +@@ -1 +1 @@ +-{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +index dca9f5e..89f84d9 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +@@ -9,7 +9,16 @@ declare global { + } + } + type Keyof = Extract; +-export type DefaultNavigatorOptions = DefaultRouterOptions> & { ++export type ScreenListenersOrCallback = ScreenListeners | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenListeners); ++export type ScreenOptionsOrCallback = ScreenOptions | ((props: { ++ route: RouteProp; ++ navigation: any; ++ theme: ReactNavigation.Theme; ++}) => ScreenOptions); ++export type DefaultNavigatorOptions = DefaultRouterOptions> & { + /** + * Children React Elements to extract the route configuration from. + * Only `Screen`, `Group` and `React.Fragment` are supported as children. +@@ -28,18 +37,11 @@ export type DefaultNavigatorOptions | ((props: { +- route: RouteProp; +- navigation: Navigation; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback; + /** + * Default options for all screens under this navigator. + */ +- screenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: Navigation; +- theme: ReactNavigation.Theme; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback; + /** + * Layout for all screens under this navigator. + */ +@@ -64,6 +66,7 @@ export type EventMapBase = Record; ++export type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; + export type EventMapCore = { + focus: { + data: undefined; +@@ -481,7 +484,7 @@ export type RouteConfigProps; + }; +-export type RouteConfig = RouteConfigProps & RouteConfigComponent; ++export type RouteConfig = RouteConfigProps & RouteConfigComponent; + export type RouteGroupConfig = { + /** + * Optional key for the screens in this group. +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +index 21e48db..29773a2 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts +index 7d017a9..9176f05 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts +@@ -1,13 +1,13 @@ + import type { NavigationAction, NavigationState, ParamListBase, PartialState, Router } from '@react-navigation/routers'; + import * as React from 'react'; + import { type AddKeyedListener, type AddListener } from './NavigationBuilderContext'; +-import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; ++import type { ConvertCustomScreenOptions, Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp, ScreenOptionsOrCallback } from './types'; + import type { NavigationEventEmitter } from './useEventEmitter'; +-export type ScreenConfigWithParent = { ++export type ScreenConfigWithParent = { + keys: (string | undefined)[]; +- options: (ScreenOptionsOrCallback | undefined)[] | undefined; +- layout: ScreenLayout | undefined; +- props: RouteConfig; ++ options: (ScreenOptionsOrCallback | undefined)[] | undefined; ++ layout: ScreenLayout | undefined; ++ props: RouteConfig; + }; + type ScreenLayout = (props: { + route: RouteProp; +@@ -16,16 +16,11 @@ type ScreenLayout = (props: { + theme: ReactNavigation.Theme; + children: React.ReactElement; + }) => React.ReactElement; +-type ScreenOptionsOrCallback = ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +- theme: ReactNavigation.Theme; +-}) => ScreenOptions); +-type Options = { ++type Options = { + state: State; +- screens: Record>; ++ screens: Record>; + navigation: NavigationHelpers; +- screenOptions: ScreenOptionsOrCallback | undefined; ++ screenOptions: ScreenOptionsOrCallback | undefined; + screenLayout: ScreenLayout | undefined; + onAction: (action: NavigationAction) => boolean; + getState: () => State; +@@ -43,8 +38,10 @@ type Options void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options): { ++export declare function useDescriptors void>, ScreenOptions extends {}, EventMap extends EventMapBase, CustomScreenOptions extends {} = ScreenOptions>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options, convertCustomScreenOptions: ConvertCustomScreenOptions | undefined): { + describe: (route: RouteProp, placeholder: boolean) => Descriptor void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions): { ++export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { + state: State; + navigation: { + dispatch(action: Readonly<{ +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +index 11a6b9c..d1c5acd 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAkPjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4gBhB"} +\ No newline at end of file ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AA8PjB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,EACR,GAAG,CACJ,GACC,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyhBF"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx +index 59a0b1a..f2eb8eb 100644 +--- a/node_modules/@react-navigation/core/src/types.tsx ++++ b/node_modules/@react-navigation/core/src/types.tsx +@@ -23,6 +23,30 @@ declare global { + + type Keyof = Extract; + ++export type ScreenListenersOrCallback< ++ State extends NavigationState, ++ EventMap extends EventMapBase, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList, ++> = ++ | ScreenListeners ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ }) => ScreenListeners); ++ ++export type ScreenOptionsOrCallback< ++ ScreenOptions extends {}, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList, ++> = ++ | ScreenOptions ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ theme: ReactNavigation.Theme; ++ }) => ScreenOptions); ++ + export type DefaultNavigatorOptions< + ParamList extends ParamListBase, + NavigatorID extends string | undefined, +@@ -30,6 +54,7 @@ export type DefaultNavigatorOptions< + ScreenOptions extends {}, + EventMap extends EventMapBase, + Navigation, ++ RouteName extends keyof ParamList = keyof ParamList, + > = DefaultRouterOptions> & { + /** + * Children React Elements to extract the route configuration from. +@@ -65,23 +90,21 @@ export type DefaultNavigatorOptions< + /** + * Event listeners for all the screens in the navigator. + */ +- screenListeners?: +- | ScreenListeners +- | ((props: { +- route: RouteProp; +- navigation: Navigation; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback< ++ State, ++ EventMap, ++ ParamList, ++ RouteName ++ >; + + /** + * Default options for all screens under this navigator. + */ +- screenOptions?: +- | ScreenOptions +- | ((props: { +- route: RouteProp; +- navigation: Navigation; +- theme: ReactNavigation.Theme; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback< ++ ScreenOptions, ++ ParamList, ++ RouteName ++ >; + + /** + * Layout for all screens under this navigator. +@@ -121,6 +144,13 @@ export type EventMapBase = Record< + { data?: any; canPreventDefault?: boolean } + >; + ++export type ConvertCustomScreenOptions< ++ CustomScreenOptions extends {}, ++ ScreenOptions extends {}, ++> = ( ++ options: ScreenOptionsOrCallback | undefined ++) => ScreenOptionsOrCallback | undefined; ++ + export type EventMapCore = { + focus: { data: undefined }; + blur: { data: undefined }; +@@ -719,11 +749,12 @@ export type RouteConfig< + ScreenOptions extends {}, + EventMap extends EventMapBase, + Navigation, ++ CustomScreenOptions extends {} = ScreenOptions + > = RouteConfigProps< + ParamList, + RouteName, + State, +- ScreenOptions, ++ ScreenOptions | CustomScreenOptions, + EventMap, + Navigation + > & +diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx +index d354323..f55288e 100644 +--- a/node_modules/@react-navigation/core/src/useDescriptors.tsx ++++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx +@@ -17,12 +17,14 @@ import { NavigationRouteContext } from './NavigationRouteContext'; + import { SceneView } from './SceneView'; + import { ThemeContext } from './theming/ThemeContext'; + import type { ++ ConvertCustomScreenOptions, + Descriptor, + EventMapBase, + NavigationHelpers, + NavigationProp, + RouteConfig, + RouteProp, ++ ScreenOptionsOrCallback, + } from './types'; + import type { NavigationEventEmitter } from './useEventEmitter'; + import { useNavigationCache } from './useNavigationCache'; +@@ -32,15 +34,21 @@ export type ScreenConfigWithParent< + State extends NavigationState, + ScreenOptions extends {}, + EventMap extends EventMapBase, ++ CustomScreenOptions extends {} = ScreenOptions, + > = { + keys: (string | undefined)[]; +- options: (ScreenOptionsOrCallback | undefined)[] | undefined; +- layout: ScreenLayout | undefined; ++ options: ++ | ( ++ | ScreenOptionsOrCallback ++ | undefined ++ )[] ++ | undefined; ++ layout: ScreenLayout | undefined; + props: RouteConfig< + ParamListBase, + string, + State, +- ScreenOptions, ++ ScreenOptions | CustomScreenOptions, + EventMap, + unknown + >; +@@ -54,26 +62,22 @@ type ScreenLayout = (props: { + children: React.ReactElement; + }) => React.ReactElement; + +-type ScreenOptionsOrCallback = +- | ScreenOptions +- | ((props: { +- route: RouteProp; +- navigation: any; +- theme: ReactNavigation.Theme; +- }) => ScreenOptions); + + type Options< + State extends NavigationState, + ScreenOptions extends {}, + EventMap extends EventMapBase, ++ CustomScreenOptions extends {} = ScreenOptions, + > = { + state: State; + screens: Record< + string, +- ScreenConfigWithParent ++ ScreenConfigWithParent + >; + navigation: NavigationHelpers; +- screenOptions: ScreenOptionsOrCallback | undefined; ++ screenOptions: ++ | ScreenOptionsOrCallback ++ | undefined; + screenLayout: ScreenLayout | undefined; + onAction: (action: NavigationAction) => boolean; + getState: () => State; +@@ -92,27 +96,35 @@ type Options< + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ + export function useDescriptors< + State extends NavigationState, + ActionHelpers extends Record void>, + ScreenOptions extends {}, + EventMap extends EventMapBase, +->({ +- state, +- screens, +- navigation, +- screenOptions, +- screenLayout, +- onAction, +- getState, +- setState, +- addListener, +- addKeyedListener, +- onRouteFocus, +- router, +- emitter, +-}: Options) { ++ CustomScreenOptions extends {} = ScreenOptions, ++>( ++ { ++ state, ++ screens, ++ navigation, ++ screenOptions, ++ screenLayout, ++ onAction, ++ getState, ++ setState, ++ addListener, ++ addKeyedListener, ++ onRouteFocus, ++ router, ++ emitter, ++ }: Options, ++ convertCustomScreenOptions: ++ | ConvertCustomScreenOptions ++ | undefined ++) { + const theme = React.useContext(ThemeContext); + const [options, setOptions] = React.useState>( + {} +@@ -183,18 +195,41 @@ export function useDescriptors< + const config = screens[route.name]; + const screen = config.props; + +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...((config.options +- ? config.options.filter(Boolean) +- : []) as ScreenOptionsOrCallback[]), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- overrides, +- ]; ++ let optionsList: (ScreenOptionsOrCallback | undefined)[]; ++ if (convertCustomScreenOptions) { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions( ++ screenOptions as ScreenOptionsOrCallback ++ ), ++ // The `screenOptions` props passed to `Group` elements ++ ...((config.options ++ ? (config.options as ScreenOptionsOrCallback[]) ++ .filter(Boolean) ++ .map(convertCustomScreenOptions) ++ : []) as ScreenOptionsOrCallback[]), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions( ++ screen.options as ScreenOptionsOrCallback ++ ), ++ convertCustomScreenOptions( ++ overrides as ScreenOptionsOrCallback ++ ), ++ ]; ++ } else { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ screenOptions as ScreenOptionsOrCallback, ++ // The `screenOptions` props passed to `Group` elements ++ ...((config.options ++ ? config.options.filter(Boolean) ++ : []) as ScreenOptionsOrCallback[]), ++ // The `options` prop passed to `Screen` elements, ++ screen.options as ScreenOptionsOrCallback, ++ // The options set via `navigation.setOptions` ++ options[route.key] as ScreenOptionsOrCallback, ++ ]; ++ } + + return optionsList.reduce( + (acc, curr) => +diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +index 01b1ea1..835bc07 100644 +--- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx ++++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +@@ -24,6 +24,7 @@ import { NavigationStateContext } from './NavigationStateContext'; + import { PreventRemoveProvider } from './PreventRemoveProvider'; + import { Screen } from './Screen'; + import { ++ type ConvertCustomScreenOptions, + type DefaultNavigatorOptions, + type EventMapBase, + type EventMapCore, +@@ -89,18 +90,25 @@ const getRouteConfigsFromChildren = < + State extends NavigationState, + ScreenOptions extends {}, + EventMap extends EventMapBase, ++ CustomScreenOptions extends {} = ScreenOptions, + >( + children: React.ReactNode, + groupKey?: string, + groupOptions?: ScreenConfigWithParent< + State, + ScreenOptions, +- EventMap ++ EventMap, ++ CustomScreenOptions + >['options'], +- groupLayout?: ScreenConfigWithParent['layout'] ++ groupLayout?: ScreenConfigWithParent< ++ State, ++ ScreenOptions, ++ EventMap, ++ CustomScreenOptions ++ >['layout'] + ) => { + const configs = React.Children.toArray(children).reduce< +- ScreenConfigWithParent[] ++ ScreenConfigWithParent[] + >((acc, child) => { + if (React.isValidElement(child)) { + if (isScreen(child)) { +@@ -141,7 +149,7 @@ const getRouteConfigsFromChildren = < + ParamListBase, + string, + State, +- ScreenOptions, ++ ScreenOptions | CustomScreenOptions, + EventMap, + unknown + >, +@@ -162,7 +170,12 @@ const getRouteConfigsFromChildren = < + // When we encounter a fragment or group, we need to dive into its children to extract the configs + // This is handy to conditionally define a group of screens + acc.push( +- ...getRouteConfigsFromChildren( ++ ...getRouteConfigsFromChildren< ++ State, ++ ScreenOptions, ++ EventMap, ++ CustomScreenOptions ++ >( + child.props.children as React.ReactNode, + child.props.navigationKey, + // FIXME +@@ -277,6 +290,8 @@ const getRouteConfigsFromChildren = < + * + * @param createRouter Factory method which returns router object. + * @param options Options object containing `children` and additional options for the router. ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ + export function useNavigationBuilder< +@@ -285,17 +300,22 @@ export function useNavigationBuilder< + ActionHelpers extends Record void>, + ScreenOptions extends {}, + EventMap extends Record, ++ CustomScreenOptions extends {} = ScreenOptions, + >( + createRouter: RouterFactory, + options: DefaultNavigatorOptions< + ParamListBase, + string | undefined, + State, +- ScreenOptions, ++ ScreenOptions | CustomScreenOptions, + EventMap, + any + > & +- RouterOptions ++ RouterOptions, ++ convertCustomScreenOptions?: ConvertCustomScreenOptions< ++ CustomScreenOptions, ++ ScreenOptions ++ > + ) { + const navigatorKey = useRegisterNavigator(); + +@@ -316,7 +336,8 @@ export function useNavigationBuilder< + const routeConfigs = getRouteConfigsFromChildren< + State, + ScreenOptions, +- EventMap ++ EventMap, ++ CustomScreenOptions + >(children); + + const router = useLazyValue>(() => { +@@ -346,7 +367,15 @@ export function useNavigationBuilder< + }); + + const screens = routeConfigs.reduce< +- Record> ++ Record< ++ string, ++ ScreenConfigWithParent< ++ State, ++ ScreenOptions, ++ EventMap, ++ CustomScreenOptions ++ > ++ > + >((acc, config) => { + if (config.props.name in acc) { + throw new Error( +@@ -770,23 +799,27 @@ export function useNavigationBuilder< + State, + ActionHelpers, + ScreenOptions, +- EventMap +- >({ +- state, +- screens, +- navigation, +- screenOptions, +- screenLayout, +- onAction, +- getState, +- setState, +- onRouteFocus, +- addListener, +- addKeyedListener, +- router, +- // @ts-expect-error: this should have both core and custom events, but too much work right now +- emitter, +- }); ++ EventMap, ++ CustomScreenOptions ++ >( ++ { ++ state, ++ screens, ++ navigation, ++ screenOptions, ++ screenLayout, ++ onAction, ++ getState, ++ setState, ++ onRouteFocus, ++ addListener, ++ addKeyedListener, ++ router, ++ // @ts-expect-error: this should have both core and custom events, but too much work right now ++ emitter, ++ }, ++ convertCustomScreenOptions ++ ); + + useCurrentRender({ + state, From fc16e5f9a6a54462b8a17474a79fb549ddc9ec86 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 5 Jun 2025 16:03:52 +0200 Subject: [PATCH 20/61] Start fixing type errors --- .../createRootStackNavigator/index.tsx | 27 +++++++++++++++---- .../createSearchFullscreenNavigator/index.tsx | 27 +++++++++++++++---- .../createSplitNavigator/index.tsx | 27 +++++++++++++++---- .../createPlatformStackNavigator.tsx | 27 +++++++++++++++---- .../navigationOptions/animation/index.ts | 2 +- .../animation/withAnimation.ts | 2 +- .../types/NavigationBuilder.ts | 7 +++-- .../PlatformStackNavigation/types/index.ts | 6 +++-- .../helpers/replacePathInNestedState.ts | 1 - 9 files changed, 97 insertions(+), 29 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx index 0b0ad520d02db..336f08f751619 100644 --- a/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx @@ -1,5 +1,5 @@ import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase} from '@react-navigation/native'; +import type {NavigationProp, NavigatorTypeBagBase, ParamListBase, StaticConfig, TypedNavigator} from '@react-navigation/native'; import RootNavigatorExtraContent from '@components/Navigation/RootNavigatorExtraContent'; import useNavigationResetOnLayoutChange from '@libs/Navigation/AppNavigator/useNavigationResetOnLayoutChange'; import {isFullScreenName} from '@libs/Navigation/helpers/isNavigatorName'; @@ -24,10 +24,27 @@ const RootStackNavigatorComponent = createPlatformStackNavigatorComponent('RootS ExtraContent: RootNavigatorExtraContent, }); -function createRootStackNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof RootStackNavigatorComponent>( - RootStackNavigatorComponent, - )(); +function createRootStackNavigator; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp< + ParamList, + RouteName, + NavigatorID + >; + }; + Navigator: typeof RootStackNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, + >(config?: Config): TypedNavigator { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return createNavigatorFactory(RootStackNavigatorComponent)(config); } export default createRootStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx index 439be619c0dbd..ca958a86f6b51 100644 --- a/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx @@ -1,4 +1,4 @@ -import type {ParamListBase} from '@react-navigation/native'; +import type {NavigationProp, NavigatorTypeBagBase, ParamListBase, StaticConfig, TypedNavigator} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import SearchSidebar from '@components/Navigation/SearchSidebar'; import usePreserveNavigatorState from '@libs/Navigation/AppNavigator/createSplitNavigator/usePreserveNavigatorState'; @@ -34,10 +34,27 @@ const SearchFullscreenNavigatorComponent = createPlatformStackNavigatorComponent ExtraContent: SearchSidebar, }); -function createSearchFullscreenNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof SearchFullscreenNavigatorComponent>( - SearchFullscreenNavigatorComponent, - )(); +function createSearchFullscreenNavigator; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp< + ParamList, + RouteName, + NavigatorID + >; + }; + Navigator: typeof SearchFullscreenNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, + >(config?: Config): TypedNavigator { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return createNavigatorFactory(SearchFullscreenNavigatorComponent)(config); } export default createSearchFullscreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx index 0771da8c55f47..d76e49ec3b27a 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx @@ -1,4 +1,4 @@ -import type {ParamListBase} from '@react-navigation/native'; +import type {NavigationProp, NavigatorTypeBagBase, ParamListBase, StaticConfig, TypedNavigator} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useNavigationResetOnLayoutChange from '@libs/Navigation/AppNavigator/useNavigationResetOnLayoutChange'; @@ -43,10 +43,27 @@ const SplitNavigatorComponent = createPlatformStackNavigatorComponent('SplitNavi NavigationContentWrapper: SidebarSpacerWrapper, }); -function createSplitNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof SplitNavigatorComponent>( - SplitNavigatorComponent, - )(); +function createSplitNavigator; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp< + ParamList, + RouteName, + NavigatorID + >; + }; + Navigator: typeof SplitNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, + >(config?: Config): TypedNavigator { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return createNavigatorFactory(SplitNavigatorComponent)(config); } export default createSplitNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx index 374887648bb0c..8ce439eacd92e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -1,15 +1,32 @@ import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase} from '@react-navigation/native'; +import type {NavigationProp, NavigatorTypeBagBase, ParamListBase, StaticConfig, TypedNavigator} from '@react-navigation/native'; import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent'; import defaultPlatformStackScreenOptions from './defaultPlatformStackScreenOptions'; import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from './types'; const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator', {defaultScreenOptions: defaultPlatformStackScreenOptions}); -function createPlatformStackNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigatorComponent>( - PlatformStackNavigatorComponent, - )(); +function createPlatformStackNavigator; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp< + ParamList, + RouteName, + NavigatorID + >; + }; + Navigator: typeof PlatformStackNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, + >(config?: Config): TypedNavigator { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return createNavigatorFactory(PlatformStackNavigatorComponent)(config); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts index 7c2dcdb11bac5..f7bc6a9d7226a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts @@ -12,7 +12,7 @@ const InternalPlatformAnimations = { const Animations = { SLIDE_FROM_LEFT: 'slide_from_left', SLIDE_FROM_RIGHT: 'slide_from_right', - MODAL: 'modal', + SLIDE_FROM_BOTTOM: 'slide_from_bottom', FADE: 'fade', NONE: 'none', } as const; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts index ae0ab962123d9..aef9c3be569de 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts @@ -16,7 +16,7 @@ function withAnimation = DefaultNavigatorOptions, NavigationOptions, EventMap> & - NavigationBuilderOptions & +> = DefaultNavigatorOptions, NavigationOptions, EventMap, NavigationListBase, keyof ParamList> & RouterOptions & { persistentScreens?: Array>; defaultCentralScreen?: Extract; sidebarScreen?: Extract; - parentRoute?: RouteProp; + parentRoute?: RouteProp; }; // Represents the type of the navigation object returned by useNavigationBuilder diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index 8171309427ed5..550a2f5df6442 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -1,5 +1,7 @@ import type { DefaultNavigatorOptions, + EventMapBase, + NavigationListBase, NavigationProp, ParamListBase, RouteProp, @@ -12,7 +14,7 @@ import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from ' import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; import type CommonProperties from '@src/types/utils/CommonProperties'; -import type {PlatformStackNavigationOptions} from './NavigationOptions'; +import type {PlatformSpecificNavigationOptions, PlatformStackNavigationOptions} from './NavigationOptions'; // Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; @@ -66,7 +68,7 @@ type PlatformStackNavigatorProps< ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList, RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & +> = DefaultNavigatorOptions, PlatformSpecificNavigationOptions, PlatformSpecificEventMap & EventMapBase, NavigationListBase, RouteName> & RouterOptions & StackNavigationConfig & { persistentScreens?: Array>; diff --git a/src/libs/Navigation/helpers/replacePathInNestedState.ts b/src/libs/Navigation/helpers/replacePathInNestedState.ts index 242632c83a55f..b8de47fc42f90 100644 --- a/src/libs/Navigation/helpers/replacePathInNestedState.ts +++ b/src/libs/Navigation/helpers/replacePathInNestedState.ts @@ -9,7 +9,6 @@ function replacePathInNestedState(state: PartialState Date: Thu, 5 Jun 2025 16:10:54 +0200 Subject: [PATCH 21/61] fixed patch --- ...navigation+native+7.1.10+001+initial.patch | 3779 ++++++++++++++++- ...t-navigation+stack+7.3.3+001+initial.patch | 164 - 2 files changed, 3619 insertions(+), 324 deletions(-) delete mode 100644 patches/@react-navigation+stack+7.3.3+001+initial.patch diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation+native+7.1.10+001+initial.patch index 3b5862e45603a..e7f18f45f7484 100644 --- a/patches/@react-navigation+native+7.1.10+001+initial.patch +++ b/patches/@react-navigation+native+7.1.10+001+initial.patch @@ -1,100 +1,3608 @@ +diff --git a/node_modules/@react-navigation/native/CHANGELOG.md b/node_modules/@react-navigation/native/CHANGELOG.md +new file mode 100644 +index 0000000..08a3601 +--- /dev/null ++++ b/node_modules/@react-navigation/native/CHANGELOG.md +@@ -0,0 +1,1127 @@ ++# Change Log ++ ++All notable changes to this project will be documented in this file. ++See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. ++ ++## [7.1.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.9...@react-navigation/native@7.1.10) (2025-05-30) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.1.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.8...@react-navigation/native@7.1.9) (2025-05-11) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.1.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.7...@react-navigation/native@7.1.8) (2025-05-04) ++ ++### Bug Fixes ++ ++* fix peer dep versions. closes [#12580](https://github.com/react-navigation/react-navigation/issues/12580) ([6fc3dd6](https://github.com/react-navigation/react-navigation/commit/6fc3dd677aecdcf8696fe723e17b9c028de7ad85)) - by @satya164 ++ ++## [7.1.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.6...@react-navigation/native@7.1.7) (2025-05-02) ++ ++### Bug Fixes ++ ++* fix issues with browser history ([#12553](https://github.com/react-navigation/react-navigation/issues/12553)) ([7d01b03](https://github.com/react-navigation/react-navigation/commit/7d01b032af05290492869cb15632857d8cb92cc6)) - by @adamgrzybowski ++* use aria props instead of accessibilityX ([#11848](https://github.com/react-navigation/react-navigation/issues/11848)) ([347ca97](https://github.com/react-navigation/react-navigation/commit/347ca975406e84a5e7452679b1dde7b9ecca1a22)) - by @satya164 ++ ++## [7.1.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.5...@react-navigation/native@7.1.6) (2025-04-08) ++ ++### Bug Fixes ++ ++* add types field back to support legacy moduleResolution ([6c021d4](https://github.com/react-navigation/react-navigation/commit/6c021d442ede3a231e32486b2c391c2e850bf76e)), closes [#12534](https://github.com/react-navigation/react-navigation/issues/12534) - by @ ++ ++## [7.1.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.4...@react-navigation/native@7.1.5) (2025-04-04) ++ ++### Bug Fixes ++ ++* drop commonjs module to avoid dual package hazard ([f0fbcc5](https://github.com/react-navigation/react-navigation/commit/f0fbcc5515e73b454f607bd95bba40a48e852d0f)) - by @satya164 ++ ++## [7.1.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.3...@react-navigation/native@7.1.4) (2025-04-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.1.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.2...@react-navigation/native@7.1.3) (2025-04-02) ++ ++### Bug Fixes ++ ++* make buildHref work inside route context ([a52efa1](https://github.com/react-navigation/react-navigation/commit/a52efa1334b8f1f2efe89def964f432895dadc6d)) - by @ ++ ++## [7.1.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.1...@react-navigation/native@7.1.2) (2025-04-02) ++ ++### Bug Fixes ++ ++* make buildHref work inside screens of a navigator ([18387b8](https://github.com/react-navigation/react-navigation/commit/18387b87a1aeea67945e0387ac068a2e0cabe592)) - by @ ++* revert always create link regardless of linking enabled ([400f0d8](https://github.com/react-navigation/react-navigation/commit/400f0d816fcc93b578e2dad6e0d9e7a1952d8045)) - by @ ++ ++## [7.1.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.0...@react-navigation/native@7.1.1) (2025-04-02) ++ ++### Bug Fixes ++ ++* fix buildHref returning incorrect path ([60b0d75](https://github.com/react-navigation/react-navigation/commit/60b0d75f6a6ebb67d7fdbe6bfb295285fb1b7b3d)) - by @ ++ ++# [7.1.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.19...@react-navigation/native@7.1.0) (2025-04-01) ++ ++### Bug Fixes ++ ++* always create link regardless of linking enabled status ([d242d73](https://github.com/react-navigation/react-navigation/commit/d242d731bfcc1f3951d920f1dc30502409a62e4c)) - by @ ++* handle undefined event in useLinkProps ([2ede378](https://github.com/react-navigation/react-navigation/commit/2ede378bff1bba947202697cbe0f796fbf76e0e6)), closes [#12526](https://github.com/react-navigation/react-navigation/issues/12526) - by @satya164 ++ ++### Features ++ ++* add a useRoutePath hook ([61e3561](https://github.com/react-navigation/react-navigation/commit/61e356100678f43874fb11e64de11c0da22c4695)) - by @ ++* add an API to get a minimal state to build a path ([1320931](https://github.com/react-navigation/react-navigation/commit/1320931d3cd02c8bfe2a9493b4ec18c870be4f22)) - by @ ++ ++## [7.0.19](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.18...@react-navigation/native@7.0.19) (2025-03-25) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.17...@react-navigation/native@7.0.18) (2025-03-22) ++ ++### Bug Fixes ++ ++* fix JSX and useScrollToTop types for React 19 compatibility ([#12501](https://github.com/react-navigation/react-navigation/issues/12501)) ([4a7dfe1](https://github.com/react-navigation/react-navigation/commit/4a7dfe1f9b6dac66ea0651bf69dc9f5835dcd838)), closes [#12468](https://github.com/react-navigation/react-navigation/issues/12468) - by @teaualune ++ ++## [7.0.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.16...@react-navigation/native@7.0.17) (2025-03-19) ++ ++### Bug Fixes ++ ++* revert types for screen & params pair ([154b90c](https://github.com/react-navigation/react-navigation/commit/154b90cd86d4231b6f1d68738f22541c18d5f9df)), closes [/github.com/react-navigation/react-navigation/commit/a528b9b407dbaeaac0caae8edcb5b3c6840144fa#diff-9c2709d8522a6b9ec9697dd54c966da28deee393cc5effe69b47fdf93a2dbc5](https://github.com//github.com/react-navigation/react-navigation/commit/a528b9b407dbaeaac0caae8edcb5b3c6840144fa/issues/diff-9c2709d8522a6b9ec9697dd54c966da28deee393cc5effe69b47fdf93a2dbc5) [#12372](https://github.com/react-navigation/react-navigation/issues/12372) - by @satya164 ++ ++## [7.0.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.15...@react-navigation/native@7.0.16) (2025-03-19) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.14...@react-navigation/native@7.0.15) (2025-03-02) ++ ++### Bug Fixes ++ ++* make locale available in container fallback ([bddcc44](https://github.com/react-navigation/react-navigation/commit/bddcc44ab0e0ad5630f7ee0feb69496412a00217)) - by @satya164 ++* pop for deep links to screens containing navigators ([05d2d97](https://github.com/react-navigation/react-navigation/commit/05d2d97157ac1abf17957ee402634aa651b053ba)) - by @satya164 ++ ++## [7.0.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.13...@react-navigation/native@7.0.14) (2024-12-12) ++ ++### Bug Fixes ++ ++* correctly extract path from url with multiple `?` characters ([#12334](https://github.com/react-navigation/react-navigation/issues/12334)) ([234d07d](https://github.com/react-navigation/react-navigation/commit/234d07d37066d831be0f356c8766b03ec094a90f)) - by @andrejpavlovic ++* nanoid vulberable version ([#12328](https://github.com/react-navigation/react-navigation/issues/12328)) ([2a745c8](https://github.com/react-navigation/react-navigation/commit/2a745c8c598f95fcec5bbf5442045478d4046663)) - by @khushilms ++ ++## [7.0.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.12...@react-navigation/native@7.0.13) (2024-12-02) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.11...@react-navigation/native@7.0.12) (2024-12-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.10...@react-navigation/native@7.0.11) (2024-12-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.9...@react-navigation/native@7.0.10) (2024-12-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.8...@react-navigation/native@7.0.9) (2024-11-28) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.7...@react-navigation/native@7.0.8) (2024-11-27) ++ ++### Bug Fixes ++ ++* fix linking.enable: auto not working with only groups ([1129071](https://github.com/react-navigation/react-navigation/commit/1129071c6f406d89138dff6154335f18bac8b6d7)) - by @satya164 ++ ++## [7.0.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.6...@react-navigation/native@7.0.7) (2024-11-26) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.5...@react-navigation/native@7.0.6) (2024-11-25) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.4...@react-navigation/native@7.0.5) (2024-11-25) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.3...@react-navigation/native@7.0.4) (2024-11-22) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.2...@react-navigation/native@7.0.3) (2024-11-15) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.1...@react-navigation/native@7.0.2) (2024-11-14) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [7.0.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0...@react-navigation/native@7.0.1) (2024-11-13) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.21...@react-navigation/native@7.0.0) (2024-11-06) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.21](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.20...@react-navigation/native@7.0.0-rc.21) (2024-10-24) ++ ++### Bug Fixes ++ ++* use * for react-native peer dep to support pre-release versions ([07267e5](https://github.com/react-navigation/react-navigation/commit/07267e54be752f600f808ec2898e5d76a1bc1d43)) - by @satya164 ++ ++# [7.0.0-rc.20](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.19...@react-navigation/native@7.0.0-rc.20) (2024-10-11) ++ ++### Bug Fixes ++ ++* fix type error when using useScrollToTop with FlatList ([#12140](https://github.com/react-navigation/react-navigation/issues/12140)) ([a1f947a](https://github.com/react-navigation/react-navigation/commit/a1f947a44f16a8d846c31d76efb0485780bd8de3)), closes [#12139](https://github.com/react-navigation/react-navigation/issues/12139) - by @itsramiel ++ ++### Features ++ ++* export LocaleDirContext and UNSTABLE_UnhandledLinkingContext ([#12145](https://github.com/react-navigation/react-navigation/issues/12145)) ([4caf3cb](https://github.com/react-navigation/react-navigation/commit/4caf3cb849a8708a36d0dbf22dac432d2ca780be)) - by @marklawlor ++ ++# [7.0.0-rc.19](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.18...@react-navigation/native@7.0.0-rc.19) (2024-09-08) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.17...@react-navigation/native@7.0.0-rc.18) (2024-08-07) ++ ++### Bug Fixes ++ ++* improve how navigate and other methods are typed ([#12093](https://github.com/react-navigation/react-navigation/issues/12093)) ([a528b9b](https://github.com/react-navigation/react-navigation/commit/a528b9b407dbaeaac0caae8edcb5b3c6840144fa)) - by @satya164 ++ ++# [7.0.0-rc.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.16...@react-navigation/native@7.0.0-rc.17) (2024-08-05) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.15...@react-navigation/native@7.0.0-rc.16) (2024-08-02) ++ ++### Bug Fixes ++ ++* add missing useLinkTo export ([#12081](https://github.com/react-navigation/react-navigation/issues/12081)) ([17e2777](https://github.com/react-navigation/react-navigation/commit/17e277794c8364eb3c262a824156a9753a4a6457)) - by @export-mike ++ ++# [7.0.0-rc.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.14...@react-navigation/native@7.0.0-rc.15) (2024-08-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.13...@react-navigation/native@7.0.0-rc.14) (2024-07-19) ++ ++### Bug Fixes ++ ++* support theming in NavigationContainer fallback ([71e02f5](https://github.com/react-navigation/react-navigation/commit/71e02f52a7945c8ac6b77da67352e227367663d4)) - by @satya164 ++ ++# [7.0.0-rc.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.12...@react-navigation/native@7.0.0-rc.13) (2024-07-12) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.11...@react-navigation/native@7.0.0-rc.12) (2024-07-11) ++ ++### Bug Fixes ++ ++* upgrade react-native-builder-bob ([1575287](https://github.com/react-navigation/react-navigation/commit/1575287d40fadb97f33eb19c2914d8be3066b47a)) - by @ ++ ++# [7.0.0-rc.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.10...@react-navigation/native@7.0.0-rc.11) (2024-07-11) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.9...@react-navigation/native@7.0.0-rc.10) (2024-07-10) ++ ++### Bug Fixes ++ ++* bump use-latest-callback to fix require ([40ddae9](https://github.com/react-navigation/react-navigation/commit/40ddae95fbbf84ff47f3447eef50ed9ddb66cab8)) - by @satya164 ++ ++# [7.0.0-rc.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.8...@react-navigation/native@7.0.0-rc.9) (2024-07-08) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.7...@react-navigation/native@7.0.0-rc.8) (2024-07-07) ++ ++### Bug Fixes ++ ++* upgrade use-latest-callback for esm compat ([187d41b](https://github.com/react-navigation/react-navigation/commit/187d41b3a139fe2a075a7809c0c4088cbd2fafdb)) - by @satya164 ++ ++# [7.0.0-rc.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.6...@react-navigation/native@7.0.0-rc.7) (2024-07-04) ++ ++### Bug Fixes ++ ++* fix published files ([829caa0](https://github.com/react-navigation/react-navigation/commit/829caa019e125811eea5213fd380e8e1bdbe7030)) - by @ ++ ++# [7.0.0-rc.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.5...@react-navigation/native@7.0.0-rc.6) (2024-07-04) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.4...@react-navigation/native@7.0.0-rc.5) (2024-07-04) ++ ++### Features ++ ++* add package.json exports field ([1435cfe](https://github.com/react-navigation/react-navigation/commit/1435cfe3300767c221ebd4613479ad662d61efee)) - by @ ++ ++# [7.0.0-rc.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.3...@react-navigation/native@7.0.0-rc.4) (2024-07-01) ++ ++### Bug Fixes ++ ++* stop using react-native field in package.json ([efc33cb](https://github.com/react-navigation/react-navigation/commit/efc33cb0c4830a84ceae034dc1278c54f1faf32d)) - by @ ++ ++# [7.0.0-rc.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.2...@react-navigation/native@7.0.0-rc.3) (2024-06-29) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.1...@react-navigation/native@7.0.0-rc.2) (2024-06-28) ++ ++### Bug Fixes ++ ++* fix types for Link & Button components ([bc9d628](https://github.com/react-navigation/react-navigation/commit/bc9d628efab9ab9986dc38a0ba2868d0fbe64b49)) - by @ ++ ++# [7.0.0-rc.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.0...@react-navigation/native@7.0.0-rc.1) (2024-06-28) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-rc.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.18...@react-navigation/native@7.0.0-rc.0) (2024-06-27) ++ ++### Bug Fixes ++ ++* remove global in favor of globalThis for better compatibility ([#11976](https://github.com/react-navigation/react-navigation/issues/11976)) ([f497491](https://github.com/react-navigation/react-navigation/commit/f4974919242e7531ddd16da7b6bbf5e9ecfddc4c)) - by @natew ++ ++# [7.0.0-alpha.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.17...@react-navigation/native@7.0.0-alpha.18) (2024-03-22) ++ ++### Bug Fixes ++ ++* accept partial linking.config for static navigation ([3825046](https://github.com/react-navigation/react-navigation/commit/3825046a2320b721b7458dcc5441807bf57ea091)) - by @satya164 ++ ++### Features ++ ++* add automatic home screen detection for auto linking ([b0bec6f](https://github.com/react-navigation/react-navigation/commit/b0bec6fb3eda83f145d123f02fb2096fa2300658)) - by @satya164 ++ ++# [7.0.0-alpha.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.16...@react-navigation/native@7.0.0-alpha.17) (2024-03-22) ++ ++### Features ++ ++* add a way to automatically generate linking config ([d090836](https://github.com/react-navigation/react-navigation/commit/d090836f34bee659f4ea08176d6840703ef7247f)) - by @satya164 ++* automatically enable linking if any config is specified ([c91d247](https://github.com/react-navigation/react-navigation/commit/c91d247e62d8b30d8f55abff784df81616e70580)) - by @satya164 ++ ++# [7.0.0-alpha.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.15...@react-navigation/native@7.0.0-alpha.16) (2024-03-20) ++ ++### Features ++ ++* add getStateForRouteNamesChange to all navigators and mark it as unstable ([4edbb07](https://github.com/react-navigation/react-navigation/commit/4edbb071163742b60499178271fd3e3e92fb4002)) - by @satya164 ++ ++# [7.0.0-alpha.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.14...@react-navigation/native@7.0.0-alpha.15) (2024-03-14) ++ ++### Features ++ ++* automatically infer types for navigation in options, listeners etc. ([#11883](https://github.com/react-navigation/react-navigation/issues/11883)) ([c54baf1](https://github.com/react-navigation/react-navigation/commit/c54baf14640e567be10cb8a5f68e5cbf0b35f120)) - by @satya164 ++ ++# [7.0.0-alpha.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.13...@react-navigation/native@7.0.0-alpha.14) (2024-03-10) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-alpha.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.12...@react-navigation/native@7.0.0-alpha.13) (2024-03-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-alpha.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.11...@react-navigation/native@7.0.0-alpha.12) (2024-03-08) ++ ++### Bug Fixes ++ ++* preserve # in the URL if the screen hasn't changed ([#11876](https://github.com/react-navigation/react-navigation/issues/11876)) ([66cc899](https://github.com/react-navigation/react-navigation/commit/66cc899e2d9264903ed8800980711c619bb3b499)) - by @groot007 ++ ++# [7.0.0-alpha.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.10...@react-navigation/native@7.0.0-alpha.11) (2024-03-04) ++ ++### Bug Fixes ++ ++* fix forwarding ref for static navigation ([83921e9](https://github.com/react-navigation/react-navigation/commit/83921e9edfc03d034567456b98fe856f0148f4f4)) - by @satya164 ++ ++# [7.0.0-alpha.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.9...@react-navigation/native@7.0.0-alpha.10) (2024-02-24) ++ ++### Bug Fixes ++ ++* fix peer dependency versions ([4b93b63](https://github.com/react-navigation/react-navigation/commit/4b93b6335ce180fe879f9fbe8f2400426b5484fb)) - by @ ++ ++# [7.0.0-alpha.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.8...@react-navigation/native@7.0.0-alpha.9) (2024-02-23) ++ ++### Bug Fixes ++ ++* browser navigating out after using back feature and going home ([#11833](https://github.com/react-navigation/react-navigation/issues/11833)) ([8745ea5](https://github.com/react-navigation/react-navigation/commit/8745ea55dc687a88f741d7f51ea911b891cfd083)), closes [#11832](https://github.com/react-navigation/react-navigation/issues/11832) - by @SlickDomique ++* type errors when getState used outside of a screen ([#11827](https://github.com/react-navigation/react-navigation/issues/11827)) ([b3512a5](https://github.com/react-navigation/react-navigation/commit/b3512a5aa7fdcdac0ea3f23acda33b0cbce270e1)), closes [#11701](https://github.com/react-navigation/react-navigation/issues/11701) - by @MrRefactor ++ ++# [7.0.0-alpha.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.7...@react-navigation/native@7.0.0-alpha.8) (2024-02-23) ++ ++### Bug Fixes ++ ++* forward ref for static navigation ([f6b99b1](https://github.com/react-navigation/react-navigation/commit/f6b99b168dc6bdff86455b7fd98aa6b19aa1af6a)) - by @satya164 ++ ++# [7.0.0-alpha.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.6...@react-navigation/native@7.0.0-alpha.7) (2024-01-17) ++ ++### Bug Fixes ++ ++* fix import for LinkingOptions ([9986736](https://github.com/react-navigation/react-navigation/commit/99867368c36f187a760c00dddb6382e047bf0eed)) - by @satya164 ++ ++### Features ++ ++* move theming to core and pass theme to options ([#11707](https://github.com/react-navigation/react-navigation/issues/11707)) ([8e7ac4f](https://github.com/react-navigation/react-navigation/commit/8e7ac4f18545887b905f921df469dbf69d7951c7)) - by @satya164 ++ ++# [7.0.0-alpha.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.5...@react-navigation/native@7.0.0-alpha.6) (2023-11-17) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [7.0.0-alpha.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.4...@react-navigation/native@7.0.0-alpha.5) (2023-11-12) ++ ++### Bug Fixes ++ ++* cannot resolve use-latest-callback ([#11696](https://github.com/react-navigation/react-navigation/issues/11696)) ([361bc6a](https://github.com/react-navigation/react-navigation/commit/361bc6a3840b37ae082a70e4ff6315280814c7a1)) - by @jkaveri ++ ++### Features ++ ++* add `useUnhandledLinking` for handling deep links behind auth etc. ([#11602](https://github.com/react-navigation/react-navigation/issues/11602)) ([688c43a](https://github.com/react-navigation/react-navigation/commit/688c43af4b27c90d1a99876d6daebbbf69820f56)), closes [#10939](https://github.com/react-navigation/react-navigation/issues/10939) - by @osdnk ++* add a button element to elements package ([#11669](https://github.com/react-navigation/react-navigation/issues/11669)) ([25a85c9](https://github.com/react-navigation/react-navigation/commit/25a85c90384ddfb6db946e791c01d8e033e04aa6)) - by @satya164 ++* add API for unhandled linking ([#11672](https://github.com/react-navigation/react-navigation/issues/11672)) ([5758b26](https://github.com/react-navigation/react-navigation/commit/5758b2615e70ce4943b23ead0227507c63b11c7c)) - by @osdnk ++ ++# [7.0.0-alpha.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.3...@react-navigation/native@7.0.0-alpha.4) (2023-09-25) ++ ++### Bug Fixes ++ ++* don't use .web extensions ([8dfd9bc](https://github.com/react-navigation/react-navigation/commit/8dfd9bc8efb4e89c7e7bbe9727911cdf148ffa05)) - by @satya164 ++ ++# [7.0.0-alpha.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.2...@react-navigation/native@7.0.0-alpha.3) (2023-09-07) ++ ++### Bug Fixes ++ ++* Allow to use `PlatformColor` in the theme ([#11570](https://github.com/react-navigation/react-navigation/issues/11570)) ([64734e7](https://github.com/react-navigation/react-navigation/commit/64734e7bc0d7f203d8e5db6abcc9a88157a5f16c)) - by @retyui ++* incorrect url parsing (isssue: [#10924](https://github.com/react-navigation/react-navigation/issues/10924)) ([#11528](https://github.com/react-navigation/react-navigation/issues/11528)) ([fab2cc6](https://github.com/react-navigation/react-navigation/commit/fab2cc6fb03858020808bcb49ede86e0701679e1)) - by @retyui ++* prevent back handler usage on web ([#11458](https://github.com/react-navigation/react-navigation/issues/11458)) ([486ee81](https://github.com/react-navigation/react-navigation/commit/486ee81cac4606949199b91267f7b5a2663a31ec)) - by @EvanBacon ++* replace series function used to queue async callbacks ([#11485](https://github.com/react-navigation/react-navigation/issues/11485)) ([d8dc693](https://github.com/react-navigation/react-navigation/commit/d8dc6934e3aa2099b34b5bf2801c57780e48fc18)) - by @karlsander ++ ++* feat!: add a direction prop to NavigationContainer to specify rtl (#11393) ([8309636](https://github.com/react-navigation/react-navigation/commit/830963653fb5a489d02f1503222629373319b39e)), closes [#11393](https://github.com/react-navigation/react-navigation/issues/11393) - by @satya164 ++ ++### BREAKING CHANGES ++ ++* Previously the navigators tried to detect RTL automatically and adjust the UI. However this is problematic since we cannot detect RTL in all cases (e.g. on Web). ++ ++This adds an optional `direction` prop to `NavigationContainer` instead so that user can specify when React Navigation's UI needs to be adjusted for RTL. It defaults to the value from `I18nManager` on native platforms, however it needs to be explicitly passed for Web. ++ ++# [7.0.0-alpha.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.1...@react-navigation/native@7.0.0-alpha.2) (2023-06-22) ++ ++### Features ++ ++* support a top-level path configuration in linking config ([1d0297e](https://github.com/react-navigation/react-navigation/commit/1d0297ed17788c01d7b901ad04b63d3f37f47266)) - by @satya164 ++ ++# [7.0.0-alpha.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.0...@react-navigation/native@7.0.0-alpha.1) (2023-03-01) ++ ++### Bug Fixes ++ ++* fix paths in sourcemap files ([368e069](https://github.com/react-navigation/react-navigation/commit/368e0691b9fb07d4b1cbe71cfe4c2f40512f93ad)) - by @satya164 ++ ++### Features ++ ++* add ability to customize the fonts with the theme ([#11243](https://github.com/react-navigation/react-navigation/issues/11243)) ([1cd6836](https://github.com/react-navigation/react-navigation/commit/1cd6836f1d10bcdf7f96d9e4b9f7de0ddea9391f)) - by @satya164 ++ ++# [7.0.0-alpha.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.14...@react-navigation/native@7.0.0-alpha.0) (2023-02-17) ++ ++### Bug Fixes ++ ++* add `ScrollView` type to 'getScrollResponder' ([#11112](https://github.com/react-navigation/react-navigation/issues/11112)) ([f4324cd](https://github.com/react-navigation/react-navigation/commit/f4324cdbb50218bed30abf673f5070e20e2d7db8)) - by @ken0nek ++* don't modify browser history on re-render ([ab66777](https://github.com/react-navigation/react-navigation/commit/ab66777c092fae3d28c9c8381aeb5b92945ca256)) - by @satya164 ++* keep hash/fragment section un URLs on web ([#11078](https://github.com/react-navigation/react-navigation/issues/11078)) ([a30daa0](https://github.com/react-navigation/react-navigation/commit/a30daa07fb667389420d78590757914487e32c19)) - by @nikgraf ++ ++* refactor!: improve the API for Link component ([7f35837](https://github.com/react-navigation/react-navigation/commit/7f3583793ad17475531e155f1f433ffa16547015)) - by @satya164 ++* fix!: align onReady callback and navigationRef.isReady ([1959baa](https://github.com/react-navigation/react-navigation/commit/1959baa97c101712db84905827f13a8a78a42ca7)) - by @satya164 ++ ++### Features ++ ++* make useScrollToTop work when nesting multiple tab navigators ([#11063](https://github.com/react-navigation/react-navigation/issues/11063)) ([dce463a](https://github.com/react-navigation/react-navigation/commit/dce463a0e39b21509670b5c1d0cab933aa9e4962)), closes [/github.com/react-navigation/react-navigation/pull/9434#issuecomment-1328345015](https://github.com//github.com/react-navigation/react-navigation/pull/9434/issues/issuecomment-1328345015) - by @anthonyguay ++* support statically confguring navigation tree ([#11144](https://github.com/react-navigation/react-navigation/issues/11144)) ([4cc322e](https://github.com/react-navigation/react-navigation/commit/4cc322e08b3d6fe089710c9c6869bbdc183c2bd6)) - by @satya164 ++ ++### BREAKING CHANGES ++ ++* Initially the `Link` component was designed to work with path strings via the `to` prop. But it has few issues: ++ ++- The path strings are not type-safe, making it easy to cause typos and bugs after ++refactor ++- The API made navigating via screen name more incovenient, even if that's the preferred approach ++ ++This revamps the API of the `Link` component to make it easier to use. Instead of `to` prop, it now accepts `screen` and `params` props, as well as an optional `href` prop to ++use instead of the generated path. ++ ++e.g.: ++ ++```js ++Go to Details ++``` ++ ++This also drops the `useLinkTo` hook and consolidates into the `useLinkTools` hook - which lets us build a `href` for a screen or action for a path. ++* Previously, the `onReady` prop and `navigationRef.isReady()` work slightly ++differently. The ++`onReady` callback fired when `NavigationContainer` finishes mounting and deep links is resolved. ++The `navigationRef.isReady()` method additionally checks if there are any navigators rendered - which may not be `true` if the user is rendering their navigators conditionally inside a ++`NavigationContainer`. ++ ++This changes `onReady` to work similar to `navigationRef.isReady()`. The `onReady` callback will now fire only when there are navigators rendered - reflecting the value of ++`navigationRef.isReady()`. ++ ++## [6.0.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.13...@react-navigation/native@6.0.14) (2022-11-21) ++ ++### Bug Fixes ++ ++* add accessibility props to NativeStack screens ([#11022](https://github.com/react-navigation/react-navigation/issues/11022)) ([3ab05af](https://github.com/react-navigation/react-navigation/commit/3ab05afeb6412b8e5566270442ac14a463136620)) ++ ++## [6.0.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.11...@react-navigation/native@6.0.13) (2022-09-16) ++ ++### Bug Fixes ++ ++* handle path with empty string properly for linking ([#10708](https://github.com/react-navigation/react-navigation/issues/10708)) ([e8c374e](https://github.com/react-navigation/react-navigation/commit/e8c374e0643a1521566c654e0052b53f2fd0667a)) ++ ++## [6.0.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.11...@react-navigation/native@6.0.12) (2022-08-24) ++ ++### Bug Fixes ++ ++* handle path with empty string properly for linking ([#10708](https://github.com/react-navigation/react-navigation/issues/10708)) ([e8c374e](https://github.com/react-navigation/react-navigation/commit/e8c374e0643a1521566c654e0052b53f2fd0667a)) ++ ++## [6.0.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.10...@react-navigation/native@6.0.11) (2022-07-05) ++ ++### Bug Fixes ++ ++* ensure same @types/react version in repo ([#10663](https://github.com/react-navigation/react-navigation/issues/10663)) ([e662465](https://github.com/react-navigation/react-navigation/commit/e6624653fbbd931158dbebd17142abf9637205b6)), closes [#10655](https://github.com/react-navigation/react-navigation/issues/10655) ++* expose `LinkingContext` ([#10604](https://github.com/react-navigation/react-navigation/issues/10604)) ([ac24e61](https://github.com/react-navigation/react-navigation/commit/ac24e617af10c48b161d1aaa7dfc8c1c1218a3cd)) ++* prevent `history.go()` navigation outside bounds ([#10601](https://github.com/react-navigation/react-navigation/issues/10601)) ([ff8d8a3](https://github.com/react-navigation/react-navigation/commit/ff8d8a31d83f76129be5a8ee0a95ef2919eb1240)), closes [#10481](https://github.com/react-navigation/react-navigation/issues/10481) ++ ++## [6.0.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.9...@react-navigation/native@6.0.10) (2022-04-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [6.0.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.8...@react-navigation/native@6.0.9) (2022-04-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [6.0.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.7...@react-navigation/native@6.0.8) (2022-02-02) ++ ++### Bug Fixes ++ ++* broken history items index when items reset ([#10312](https://github.com/react-navigation/react-navigation/issues/10312)) ([16f3462](https://github.com/react-navigation/react-navigation/commit/16f3462fb258e7e1264d3eb3f4f6c3a93381e01e)) ++ ++## [6.0.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.6...@react-navigation/native@6.0.7) (2022-01-29) ++ ++### Bug Fixes ++ ++* fix crash in useLinking on Web ([#10262](https://github.com/react-navigation/react-navigation/issues/10262)) ([e612a4c](https://github.com/react-navigation/react-navigation/commit/e612a4c837f73dc5830b0ff9e7e24e1e06d2451c)), closes [/github.com/react-navigation/react-navigation/pull/9970/files#r784475821](https://github.com//github.com/react-navigation/react-navigation/pull/9970/files/issues/r784475821) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L84](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L84) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L86](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L86) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L108](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L108) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L110](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L110) ++* update URL on web when params change. fixes [#10046](https://github.com/react-navigation/react-navigation/issues/10046) ([4468b96](https://github.com/react-navigation/react-navigation/commit/4468b96db5065be8342483392d939742d21b20bc)) ++* **web:** avoid passing undefined root state in web ([#10186](https://github.com/react-navigation/react-navigation/issues/10186)) ([9087439](https://github.com/react-navigation/react-navigation/commit/90874397e653a6db642822bff18014a3e5980fed)), closes [#10185](https://github.com/react-navigation/react-navigation/issues/10185) ++ ++## [6.0.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.5...@react-navigation/native@6.0.6) (2021-10-12) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [6.0.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.4...@react-navigation/native@6.0.5) (2021-10-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [6.0.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.3...@react-navigation/native@6.0.4) (2021-09-26) ++ ++### Bug Fixes ++ ++* fix building link with useLinkProps ([bcdc559](https://github.com/react-navigation/react-navigation/commit/bcdc55975d64b8a5267f0b0dc47efb395a409762)) ++ ++## [6.0.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.2...@react-navigation/native@6.0.3) (2021-09-26) ++ ++### Bug Fixes ++ ++* fix href with useLinkProps. fixes [#9930](https://github.com/react-navigation/react-navigation/issues/9930) ([4ae53e1](https://github.com/react-navigation/react-navigation/commit/4ae53e1705e39aee75041928c07a56ec110bfd05)) ++* fix navigation when going back and forth in history on web ([#9970](https://github.com/react-navigation/react-navigation/issues/9970)) ([fb84805](https://github.com/react-navigation/react-navigation/commit/fb84805c889bbb7059e7e95592c004aea2a510d6)), closes [#9408](https://github.com/react-navigation/react-navigation/issues/9408) [#9128](https://github.com/react-navigation/react-navigation/issues/9128) ++* make useScrollToTop work with react-native-largelist ([#9960](https://github.com/react-navigation/react-navigation/issues/9960)) ([073fd57](https://github.com/react-navigation/react-navigation/commit/073fd57537466a054dc902e915430f69bbe363e1)) ++* use console.error for linking conflicts instead of throwing ([4b36bcf](https://github.com/react-navigation/react-navigation/commit/4b36bcf346a6196bbc8d5792e8eb4614709161a2)) ++ ++## [6.0.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.1...@react-navigation/native@6.0.2) (2021-08-07) ++ ++### Bug Fixes ++ ++* fix crash in useLinkTo when passing an object ([#9800](https://github.com/react-navigation/react-navigation/issues/9800)) ([dfd0cc7](https://github.com/react-navigation/react-navigation/commit/dfd0cc78fe4531ba7c957f826bc556829e231735)) ++ ++## [6.0.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0...@react-navigation/native@6.0.1) (2021-08-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.17...@react-navigation/native@6.0.0) (2021-08-01) ++ ++### Features ++ ++* add a way to filter out deep links from being handled ([c322b05](https://github.com/react-navigation/react-navigation/commit/c322b0501c6a9941a033471aed9e5b486b3ace7e)) ++ ++# [6.0.0-next.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.16...@react-navigation/native@6.0.0-next.17) (2021-07-16) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.15...@react-navigation/native@6.0.0-next.16) (2021-07-16) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.13...@react-navigation/native@6.0.0-next.15) (2021-07-01) ++ ++### Bug Fixes ++ ++* disable duplicate linking check for independent containers ([20b8ebd](https://github.com/react-navigation/react-navigation/commit/20b8ebd40547d93ccf626fcd9dad327fe1807b52)) ++ ++# [6.0.0-next.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.13...@react-navigation/native@6.0.0-next.14) (2021-06-10) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.12...@react-navigation/native@6.0.0-next.13) (2021-05-29) ++ ++### Bug Fixes ++ ++* validate property names in linking config ([324ea71](https://github.com/react-navigation/react-navigation/commit/324ea7181db6b743f512854be267cc9d65975b6f)) ++ ++# [6.0.0-next.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.11...@react-navigation/native@6.0.0-next.12) (2021-05-29) ++ ++### Bug Fixes ++ ++* try to fix [#9631](https://github.com/react-navigation/react-navigation/issues/9631) ([b4d7b0e](https://github.com/react-navigation/react-navigation/commit/b4d7b0ee86c09419a18357867a0a25bb90d960c0)) ++ ++# [6.0.0-next.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.10...@react-navigation/native@6.0.0-next.11) (2021-05-27) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.9...@react-navigation/native@6.0.0-next.10) (2021-05-26) ++ ++### Features ++ ++* expose container ref in useNavigation ([1d40279](https://github.com/react-navigation/react-navigation/commit/1d40279db18ab2aed12517ed3ca6af6d509477d2)) ++ ++# [6.0.0-next.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.8...@react-navigation/native@6.0.0-next.9) (2021-05-23) ++ ++### Features ++ ++* initial implementation of a flipper plugin ([d6f6f5f](https://github.com/react-navigation/react-navigation/commit/d6f6f5f94db85bd9166a5a97889c37690846d519)) ++ ++# [6.0.0-next.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.7...@react-navigation/native@6.0.0-next.8) (2021-05-16) ++ ++### Bug Fixes ++ ++* add ability to pass generic params to Link ([9c30c42](https://github.com/react-navigation/react-navigation/commit/9c30c42c0bddbc90c58b79a8be6d57e57a131e77)) ++ ++# [6.0.0-next.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.6...@react-navigation/native@6.0.0-next.7) (2021-05-10) ++ ++### Features ++ ++* return a NavigationContent component from useNavigationBuilder ([1179d56](https://github.com/react-navigation/react-navigation/commit/1179d56c5008270753feef41acdc1dbd2191efcf)) ++ ++# [6.0.0-next.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.5...@react-navigation/native@6.0.0-next.6) (2021-05-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.4...@react-navigation/native@6.0.0-next.5) (2021-05-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.3...@react-navigation/native@6.0.0-next.4) (2021-05-09) ++ ++### Features ++ ++* add ability to specify root param list ([b28bfdd](https://github.com/react-navigation/react-navigation/commit/b28bfddc17cbf3996fac04a34b2a7085ecf88be5)) ++* support navigate-like object in Link ([1478659](https://github.com/react-navigation/react-navigation/commit/14786594c004d8176570f1a4ab013b57b3180665)) ++ ++# [6.0.0-next.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.2...@react-navigation/native@6.0.0-next.3) (2021-05-01) ++ ++### Features ++ ++* add helper and hook for container ref ([0ecd112](https://github.com/react-navigation/react-navigation/commit/0ecd112ec9786a26261ada3d33ef44dc1ec84da0)) ++ ++# [6.0.0-next.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.1...@react-navigation/native@6.0.0-next.2) (2021-04-08) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0...@react-navigation/native@6.0.0-next.1) (2021-03-10) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [6.0.0-next.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.9...@react-navigation/native@6.0.0-next.0) (2021-03-09) ++ ++### Bug Fixes ++ ++* address breaking change in react-native for Linking ([61c6bb0](https://github.com/react-navigation/react-navigation/commit/61c6bb01b9e3aacaf93ecc7398b6c45834a2216d)) ++* default to backBehavior: firstRoute for TabRouter ([8bdc6c6](https://github.com/react-navigation/react-navigation/commit/8bdc6c6b9bc957a00a01eec2fcf6f971998c9380)) ++* drop dangerously prefix from getState and getParent ([227f133](https://github.com/react-navigation/react-navigation/commit/227f133536af85dc5ff85eeb269b76ed80cd3f05)) ++* normalize prefix when parsing. fixes [#9081](https://github.com/react-navigation/react-navigation/issues/9081) ([fd034fe](https://github.com/react-navigation/react-navigation/commit/fd034fea35cd0ae23dac979d90d8fc8598dadcc3)) ++* support sync getInitialURL in native useLinking ([52dd4e7](https://github.com/react-navigation/react-navigation/commit/52dd4e7ac92e3e176ac9f106e646ff6e300f3412)) ++ ++### Features ++ ++* associate path with the route it opens when deep linking ([#9384](https://github.com/react-navigation/react-navigation/issues/9384)) ([86e64fd](https://github.com/react-navigation/react-navigation/commit/86e64fdcd81a57cf3f3bdab4c9035b52984e7009)), closes [#9102](https://github.com/react-navigation/react-navigation/issues/9102) ++* stop exporting useLinking hook ([5a9a1ed](https://github.com/react-navigation/react-navigation/commit/5a9a1edae7366d26af3494de341d9503a011974a)) ++ ++### BREAKING CHANGES ++ ++* Returning to first route after pressing back seems more common in apps. This commit changes the default for tab and drawer navigators to follow this common practice. To preserve previous behavior, you can pass backBehavior=history to tab and drawer navigators. ++* we have added linking prop for the same use case which is easier to use. so no need to export useLinking anymore. ++ ++## [5.8.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.8...@react-navigation/native@5.8.9) (2020-11-10) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.8.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.7...@react-navigation/native@5.8.8) (2020-11-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.8.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.6...@react-navigation/native@5.8.7) (2020-11-08) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.8.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.5...@react-navigation/native@5.8.6) (2020-11-04) ++ ++### Bug Fixes ++ ++* ignore any errors from deep linking ([4c2379c](https://github.com/react-navigation/react-navigation/commit/4c2379cec1e661aa132002fd1c50909ea64cb983)) ++ ++## [5.8.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.4...@react-navigation/native@5.8.5) (2020-11-04) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.8.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.3...@react-navigation/native@5.8.4) (2020-11-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.8.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.2...@react-navigation/native@5.8.3) (2020-11-03) ++ ++### Bug Fixes ++ ++* make sure that invalid linking config doesn't work if app is open ([52451d1](https://github.com/react-navigation/react-navigation/commit/52451d11094b8551e3c6950b3e005d68225c7da9)) ++ ++## [5.8.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.1...@react-navigation/native@5.8.2) (2020-10-30) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.8.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.0...@react-navigation/native@5.8.1) (2020-10-28) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.8.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.6...@react-navigation/native@5.8.0) (2020-10-24) ++ ++### Features ++ ++* add `getInitialURL` and `subscribe` options to linking config ([748e92f](https://github.com/react-navigation/react-navigation/commit/748e92f120b9ff73c6b1e14515f60c76701081db)) ++* allow deep linking to reset state ([#8973](https://github.com/react-navigation/react-navigation/issues/8973)) ([7f3b27a](https://github.com/react-navigation/react-navigation/commit/7f3b27a9ec8edd9604ac19774baa1f60963ccdc9)), closes [#8952](https://github.com/react-navigation/react-navigation/issues/8952) ++* support wildcard string prefixes ([#8942](https://github.com/react-navigation/react-navigation/issues/8942)) ([23ab350](https://github.com/react-navigation/react-navigation/commit/23ab3504921b7e741a48d66c6a953905206df4b7)), closes [#8941](https://github.com/react-navigation/react-navigation/issues/8941) ++ ++## [5.7.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.5...@react-navigation/native@5.7.6) (2020-10-07) ++ ++### Bug Fixes ++ ++* add missing check for initial state on web ([9e36508](https://github.com/react-navigation/react-navigation/commit/9e3650831c22b47130d2b388390f7eb7910fe91d)) ++ ++## [5.7.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.4...@react-navigation/native@5.7.5) (2020-09-28) ++ ++### Bug Fixes ++ ++* check for correct resolved value in useThenable. fixes [#8798](https://github.com/react-navigation/react-navigation/issues/8798) ([cc8f1f4](https://github.com/react-navigation/react-navigation/commit/cc8f1f4205373f605fc457b40666305b3e117772)) ++ ++## [5.7.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.3...@react-navigation/native@5.7.4) (2020-09-22) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.7.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.2...@react-navigation/native@5.7.3) (2020-08-04) ++ ++### Bug Fixes ++ ++* make sure we don't exit the page when going back ([2a48b91](https://github.com/react-navigation/react-navigation/commit/2a48b917ecaf5b9adcfb5e31fb5bc787d114af23)) ++* wait longer for history.go and handle interruptions ([b1f1377](https://github.com/react-navigation/react-navigation/commit/b1f13774295465942aafa1b0ff611b9eebccbd77)) ++ ++## [5.7.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.1...@react-navigation/native@5.7.2) (2020-07-28) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.7.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.0...@react-navigation/native@5.7.1) (2020-07-19) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.7.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.6.1...@react-navigation/native@5.7.0) (2020-07-10) ++ ++### Bug Fixes ++ ++* ensure correct document title after going back on Chrome ([8f5286e](https://github.com/react-navigation/react-navigation/commit/8f5286ef501d2e88cffbe4f7d8cdeb23a4af6cf1)) ++* tweak border color to match iOS default ([c665c02](https://github.com/react-navigation/react-navigation/commit/c665c027a6531cf841690940a7e2cb4ea498ba03)) ++ ++### Features ++ ++* add a hook to update document title ([13c9d1e](https://github.com/react-navigation/react-navigation/commit/13c9d1e281b4626199671bce11ba62d83767564f)) ++* add support for badges to bottom tab bar ([96c7b68](https://github.com/react-navigation/react-navigation/commit/96c7b688ce773b3dd1f1cf7775367cd7080c94a2)) ++ ++## [5.6.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.6.0...@react-navigation/native@5.6.1) (2020-06-25) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.6.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.5.1...@react-navigation/native@5.6.0) (2020-06-24) ++ ++### Bug Fixes ++ ++* fix forward with history API. closes [#8409](https://github.com/react-navigation/react-navigation/issues/8409) ([d85d27c](https://github.com/react-navigation/react-navigation/commit/d85d27c43252630ea5c093fa6ad0d5a8c502b7c9)) ++ ++### Features ++ ++* add an onReady callback to the container ([#8491](https://github.com/react-navigation/react-navigation/issues/8491)) ([8177c45](https://github.com/react-navigation/react-navigation/commit/8177c45d14ca6d1552574ad9ac740723f9cc8f5b)) ++* rework linking configuration to be more strict ([#8502](https://github.com/react-navigation/react-navigation/issues/8502)) ([a021cfb](https://github.com/react-navigation/react-navigation/commit/a021cfb8af4afd50f785f6ee9b51d361e25704ca)) ++ ++## [5.5.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.5.0...@react-navigation/native@5.5.1) (2020-06-06) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.5.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.3...@react-navigation/native@5.5.0) (2020-05-27) ++ ++### Bug Fixes ++ ++* export types from /native ([af1722d](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/af1722d1e915f3ec234df202f74c4b4c631472c7)) ++ ++### Features ++ ++* add a `ServerContainer` component for SSR ([#8297](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8297)) ([68e750d](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/68e750d5a6d198a2f5bdb86ba631de0a27732943)) ++* add ref to get current options in `ServerContainer` ([#8333](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8333)) ([0b1a718](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/0b1a718756e208d84b20e45ca56004332308ad54)) ++ ++## [5.4.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.2...@react-navigation/native@5.4.3) (2020-05-23) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.4.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.1...@react-navigation/native@5.4.2) (2020-05-20) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.4.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.0...@react-navigation/native@5.4.1) (2020-05-20) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.4.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.3.2...@react-navigation/native@5.4.0) (2020-05-16) ++ ++### Bug Fixes ++ ++* fix types for linking options ([d14f38b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/d14f38b80ad569d5828c1919cea426c659173924)) ++ ++### Features ++ ++* add a PathConfig type ([60cb3c9](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/60cb3c9ba76d7ef166c9fe8b55f23728975b5b6e)) ++ ++## [5.3.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.3.1...@react-navigation/native@5.3.2) (2020-05-14) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.3.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.3.0...@react-navigation/native@5.3.1) (2020-05-14) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.3.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.6...@react-navigation/native@5.3.0) (2020-05-10) ++ ++### Features ++ ++* initialState should take priority over deep link ([039017b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/039017bc2af69120d2d10e8f2c8a62919c37eb65)) ++ ++## [5.2.6](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.5...@react-navigation/native@5.2.6) (2020-05-08) ++ ++### Bug Fixes ++ ++* fix building typescript definitions. closes [#8216](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8216) ([47a1229](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/47a12298378747edd2d22e54dc1c8677f98c49b4)) ++ ++## [5.2.5](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.4...@react-navigation/native@5.2.5) (2020-05-08) ++ ++### Bug Fixes ++ ++* return a promise-like from getInitialState ([#8210](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8210)) ([85ae378](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/85ae378d8cb1073895b281e13ebccee881d4c062)) ++ ++## [5.2.4](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.3...@react-navigation/native@5.2.4) (2020-05-05) ++ ++### Bug Fixes ++ ++* return undefined for buildLink if linking is not enabled ([9fd2635](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/9fd2635756362c8da79656b4d9b101bebaaf7003)) ++ ++## [5.2.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.2...@react-navigation/native@5.2.3) (2020-05-01) ++ ++### Bug Fixes ++ ++* default linking enabled to true ([c7b8e2e](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/c7b8e2e9666733143eef156b27f3e4995c36b856)) ++ ++## [5.2.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.1...@react-navigation/native@5.2.2) (2020-05-01) ++ ++### Bug Fixes ++ ++* don't throw when using 'useLinking'. fixes [#8171](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8171) ([10eca8b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/10eca8b92edbce6dbef8abaf189e4b59a29b3748)) ++ ++## [5.2.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.0...@react-navigation/native@5.2.1) (2020-04-30) ++ ++### Bug Fixes ++ ++* render fallback only if linking is enabled. closes [#8161](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8161) ([1c075ff](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/1c075ffb169d233ed0515efea264a5a69b4de52e)) ++ ++# [5.2.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.7...@react-navigation/native@5.2.0) (2020-04-30) ++ ++### Bug Fixes ++ ++* add catch to thenable returned by getInitialState ([d6fa279](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/d6fa279d9371c7a6403d10d209a2a64147891c63)) ++* return onPress instead of onClick for useLinkProps ([ae5442e](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/ae5442ebe812b91fa1f12164f27d1aeed918ab0e)) ++ ++### Features ++ ++* add `useLinkBuilder` hook to build links ([2792f43](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/2792f438fe45428fe193e3708fee7ad61966cbf4)) ++* add a useLinkProps hook ([f2291d1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/f2291d110faa2aa8e10c9133c1c0c28d54af7917)) ++* add action prop to Link ([942d2be](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/942d2be2c72720469475ce12ec8df23825994dbf)) ++* add Link component as useLinkTo hook for navigating to links ([2573b5b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/2573b5beaac1240434e52f3f57bb29da2f541c88)) ++ ++## [5.1.7](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.6...@react-navigation/native@5.1.7) (2020-04-27) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.1.6](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.5...@react-navigation/native@5.1.6) (2020-04-17) ++ ++### Bug Fixes ++ ++* handle in-page go back when there's no history ([6bdf6ae](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/6bdf6ae4ed0f83ac1deb3172d9075a6a2adbbe11)), closes [#7852](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/7852) ++ ++## [5.1.5](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.4...@react-navigation/native@5.1.5) (2020-04-08) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.1.4](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.3...@react-navigation/native@5.1.4) (2020-03-30) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.1.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.2...@react-navigation/native@5.1.3) (2020-03-23) ++ ++### Bug Fixes ++ ++* add info about android launchMode in useLinking error ([d94e43c](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/d94e43c3c8625b209a5c883b8cb560496d07fda7)) ++ ++## [5.1.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.1...@react-navigation/native@5.1.2) (2020-03-22) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.1.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.0...@react-navigation/native@5.1.1) (2020-03-19) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.1.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.10...@react-navigation/native@5.1.0) (2020-03-17) ++ ++### Features ++ ++* add permanent drawer type ([#7818](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/7818)) ([6a5d0a0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/6a5d0a035afae60d91aef78401ec8826295746fe)) ++ ++## [5.0.10](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.9...@react-navigation/native@5.0.10) (2020-03-16) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.9](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.8...@react-navigation/native@5.0.9) (2020-03-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.8](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.7...@react-navigation/native@5.0.8) (2020-02-26) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.7](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.6...@react-navigation/native@5.0.7) (2020-02-21) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.6](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.5...@react-navigation/native@5.0.6) (2020-02-19) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.5](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.4...@react-navigation/native@5.0.5) (2020-02-14) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.4](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.3...@react-navigation/native@5.0.4) (2020-02-14) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.2...@react-navigation/native@5.0.3) (2020-02-12) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++## [5.0.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.1...@react-navigation/native@5.0.2) (2020-02-11) ++ ++### Bug Fixes ++ ++* make getInitialState async on web ([6c6102b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/6c6102b4597b5f0e3eada9e802bc5c171ee988d0)) ++ ++## [5.0.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.35...@react-navigation/native@5.0.1) (2020-02-10) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.35](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.34...@react-navigation/native@5.0.0-alpha.35) (2020-02-04) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.34](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.33...@react-navigation/native@5.0.0-alpha.34) (2020-02-04) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.33](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.32...@react-navigation/native@5.0.0-alpha.33) (2020-02-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.32](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.29...@react-navigation/native@5.0.0-alpha.32) (2020-02-02) ++ ++### Bug Fixes ++ ++* add licenses ([0c159db](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/0c159db4c9bc85e83b5cfe6819ab2562669a4d8f)) ++ ++### Features ++ ++* add error if multiple instances of useLinking are used ([#310](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/310)) ([4bc0c8f](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/4bc0c8f66f98c0f8ce4e766648125640d01780c4)) ++* integrate with history API on web ([5a3f835](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/5a3f8356b05bff7ed20893a5db6804612da3e568)) ++ ++# [5.0.0-alpha.30](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.29...@react-navigation/native@5.0.0-alpha.30) (2020-02-02) ++ ++### Bug Fixes ++ ++* add licenses ([0c159db](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/0c159db4c9bc85e83b5cfe6819ab2562669a4d8f)) ++ ++### Features ++ ++* add error if multiple instances of useLinking are used ([#310](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/310)) ([4bc0c8f](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/4bc0c8f66f98c0f8ce4e766648125640d01780c4)) ++* integrate with history API on web ([5a3f835](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/5a3f8356b05bff7ed20893a5db6804612da3e568)) ++ ++# [5.0.0-alpha.29](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.28...@react-navigation/native@5.0.0-alpha.29) (2020-01-24) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.28](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.27...@react-navigation/native@5.0.0-alpha.28) (2020-01-23) ++ ++### Features ++ ++* let the navigator specify if default can be prevented ([da67e13](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/da67e134d2157201360427d3c10da24f24cae7aa)) ++ ++# [5.0.0-alpha.27](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.26...@react-navigation/native@5.0.0-alpha.27) (2020-01-14) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.26](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.25...@react-navigation/native@5.0.0-alpha.26) (2020-01-13) ++ ++### Bug Fixes ++ ++* make sure paths aren't aliased when building definitions ([65a5dac](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/65a5dac2bf887f4ba081ab15bd4c9870bb15697f)), closes [#265](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/265) ++ ++# [5.0.0-alpha.25](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.24...@react-navigation/native@5.0.0-alpha.25) (2020-01-13) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.24](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.22...@react-navigation/native@5.0.0-alpha.24) (2020-01-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.23](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.22...@react-navigation/native@5.0.0-alpha.23) (2020-01-09) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.22](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.21...@react-navigation/native@5.0.0-alpha.22) (2020-01-01) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.21](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.20...@react-navigation/native@5.0.0-alpha.21) (2019-12-19) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.20](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.19...@react-navigation/native@5.0.0-alpha.20) (2019-12-16) ++ ++### Features ++ ++* add nested config in deep linking ([#210](https://github.com/react-navigation/navigation-ex/issues/210)) ([8002d51](https://github.com/react-navigation/navigation-ex/commit/8002d5179524a7211c37760a4ed45e8c12af4358)), closes [#154](https://github.com/react-navigation/navigation-ex/issues/154) ++ ++# [5.0.0-alpha.19](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.18...@react-navigation/native@5.0.0-alpha.19) (2019-12-14) ++ ++### Features ++ ++* add custom theme support ([#211](https://github.com/react-navigation/navigation-ex/issues/211)) ([00fc616](https://github.com/react-navigation/navigation-ex/commit/00fc616de0572bade8aa85052cdc8290360b1d7f)) ++ ++# [5.0.0-alpha.18](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.17...@react-navigation/native@5.0.0-alpha.18) (2019-12-11) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.17](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.16...@react-navigation/native@5.0.0-alpha.17) (2019-12-10) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.16](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.15...@react-navigation/native@5.0.0-alpha.16) (2019-11-17) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.15](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.14...@react-navigation/native@5.0.0-alpha.15) (2019-11-08) ++ ++### Bug Fixes ++ ++* don't call getNode if ref is already scrollable ([#162](https://github.com/react-navigation/navigation-ex/issues/162)) ([66551f2](https://github.com/react-navigation/navigation-ex/commit/66551f2)) ++ ++# [5.0.0-alpha.14](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.13...@react-navigation/native@5.0.0-alpha.14) (2019-10-30) ++ ++### Bug Fixes ++ ++* support scroll to top in navigators nested in tab ([50dea65](https://github.com/react-navigation/navigation-ex/commit/50dea65)) ++ ++# [5.0.0-alpha.13](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.12...@react-navigation/native@5.0.0-alpha.13) (2019-10-22) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.12](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.11...@react-navigation/native@5.0.0-alpha.12) (2019-10-15) ++ ++### Features ++ ++* initial version of native stack ([#102](https://github.com/react-navigation/navigation-ex/issues/102)) ([ba3f718](https://github.com/react-navigation/navigation-ex/commit/ba3f718)) ++ ++# [5.0.0-alpha.11](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.10...@react-navigation/native@5.0.0-alpha.11) (2019-10-06) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.10](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.9...@react-navigation/native@5.0.0-alpha.10) (2019-10-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.9](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.8...@react-navigation/native@5.0.0-alpha.9) (2019-10-03) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.8](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.7...@react-navigation/native@5.0.0-alpha.8) (2019-09-16) ++ ++### Features ++ ++* make deep link handling more flexible ([849d952](https://github.com/react-navigation/navigation-ex/commit/849d952)) ++* make example run as bare react-native project as well ([#85](https://github.com/react-navigation/navigation-ex/issues/85)) ([d16c20c](https://github.com/react-navigation/navigation-ex/commit/d16c20c)) ++ ++# [5.0.0-alpha.7](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.5...@react-navigation/native@5.0.0-alpha.7) (2019-08-31) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.6](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.5...@react-navigation/native@5.0.0-alpha.6) (2019-08-31) ++ ++**Note:** Version bump only for package @react-navigation/native ++ ++# [5.0.0-alpha.5](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.4...@react-navigation/native@5.0.0-alpha.5) (2019-08-29) ++ ++### Bug Fixes ++ ++* handle both null and undefined in useScrollToTop ([c951027](https://github.com/react-navigation/navigation-ex/commit/c951027)) ++ ++### Features ++ ++* handle animated component wrappers in `useScrollToTop` ([#81](https://github.com/react-navigation/navigation-ex/issues/81)) ([cdbf1e9](https://github.com/react-navigation/navigation-ex/commit/cdbf1e9)) ++* handle more methods in useScrollToTop ([f9e8c7e](https://github.com/react-navigation/navigation-ex/commit/f9e8c7e)) ++ ++# [5.0.0-alpha.4](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.3...@react-navigation/native@5.0.0-alpha.4) (2019-08-28) ++ ++### Bug Fixes ++ ++* fix stack nested in tab always getting reset ([dead4e8](https://github.com/react-navigation/navigation-ex/commit/dead4e8)) ++ ++# [5.0.0-alpha.3](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.2...@react-navigation/native@5.0.0-alpha.3) (2019-08-27) ++ ++### Features ++ ++* add hook to scroll to top on tab press ([9e1104c](https://github.com/react-navigation/navigation-ex/commit/9e1104c)) ++* add native container ([d26b77f](https://github.com/react-navigation/navigation-ex/commit/d26b77f)) ++ ++# [5.0.0-alpha.2](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.1...@react-navigation/native@5.0.0-alpha.2) (2019-08-22) ++ ++### Bug Fixes ++ ++* fix path to typescript definitions ([f182315](https://github.com/react-navigation/navigation-ex/commit/f182315)) ++ ++# 5.0.0-alpha.1 (2019-08-21) ++ ++### Bug Fixes ++ ++* fix peer deps and add git urls ([6b4fc74](https://github.com/react-navigation/navigation-ex/commit/6b4fc74)) ++ ++### Features ++ ++* add hook for deep link support ([35987ae](https://github.com/react-navigation/navigation-ex/commit/35987ae)) ++* add native container with back button integration ([#48](https://github.com/react-navigation/navigation-ex/issues/48)) ([b7735af](https://github.com/react-navigation/navigation-ex/commit/b7735af)) +diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js +index 474db5e..b3167bc 100644 +--- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js ++++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js +@@ -1,6 +1,7 @@ + "use strict"; + + import { nanoid } from 'nanoid/non-secure'; ++import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; + export function createMemoryHistory() { + let index = 0; + let items = []; +@@ -17,7 +18,10 @@ export function createMemoryHistory() { + it.cb = () => cb(true); + }); + }; +- const history = { ++ return { ++ get items() { ++ return items; ++ }, + get index() { + // We store an id in the state instead of an index + // Index could get out of sync with in-memory values if page reloads +@@ -32,12 +36,13 @@ export function createMemoryHistory() { + return items[index]; + }, + backIndex({ +- path ++ path, ++ state + }) { + // We need to find the index from the element before current to get closest path to go back to + for (let i = index - 1; i >= 0; i--) { + const item = items[i]; +- if (item.path === path) { ++ if (item.path === path && findFocusedRouteKey(item.state) === findFocusedRouteKey(state)) { + return i; + } + } +@@ -77,7 +82,7 @@ export function createMemoryHistory() { + + // Need to keep the hash part of the path if there was no previous history entry + // or the previous history entry had the same path +- let pathWithHash = path; ++ let pathWithHash = path.replace(/(\/{2,})/g, '/'); + const hash = pathWithHash.includes('#') ? '' : location.hash; + if (!items.length || items.findIndex(item => item.id === id) < 0) { + // There are two scenarios for creating an array with only one history record: +@@ -211,6 +216,5 @@ export function createMemoryHistory() { + return () => window.removeEventListener('popstate', onPopState); + } + }; +- return history; + } + //# sourceMappingURL=createMemoryHistory.js.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map +index a726cd2..4aa3a82 100644 +--- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map ++++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map +@@ -1 +1 @@ +-{"version":3,"names":["nanoid","createMemoryHistory","index","items","pending","interrupt","forEach","it","cb","history","id","window","state","findIndex","item","get","backIndex","path","i","push","slice","length","pushState","replace","pathWithHash","hash","includes","location","replaceState","go","n","nextIndex","lastItemIndex","Promise","resolve","reject","done","interrupted","clearTimeout","timer","Error","title","document","ref","setTimeout","foundIndex","splice","onPopState","last","pop","removeEventListener","addEventListener","listen","listener"],"sourceRoot":"../../src","sources":["createMemoryHistory.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["nanoid","findFocusedRouteKey","createMemoryHistory","index","items","pending","interrupt","forEach","it","cb","id","window","history","state","findIndex","item","get","backIndex","path","i","push","slice","length","pushState","replace","pathWithHash","hash","includes","location","replaceState","go","n","nextIndex","lastItemIndex","Promise","resolve","reject","done","interrupted","clearTimeout","timer","Error","title","document","ref","setTimeout","foundIndex","splice","onPopState","last","pop","removeEventListener","addEventListener","listen","listener"],"sourceRoot":"../../src","sources":["createMemoryHistory.tsx"],"mappings":"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","ignoreList":[]} diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js new file mode 100644 -index 0000000..f660918 +index 0000000..3b676f8 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js +@@ -0,0 +1,8 @@ ++"use strict"; ++ ++import { findFocusedRoute } from '@react-navigation/core'; ++export function findFocusedRouteKey(state) { ++ const focusedRoute = findFocusedRoute(state); ++ return focusedRoute?.key; ++} ++//# sourceMappingURL=findFocusedRouteKey.js.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js.map b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js.map +new file mode 100644 +index 0000000..4a4b3ea +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js.map +@@ -0,0 +1 @@ ++{"version":3,"names":["findFocusedRoute","findFocusedRouteKey","state","focusedRoute","key"],"sourceRoot":"../../src","sources":["findFocusedRouteKey.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,wBAAwB;AAGzD,OAAO,SAASC,mBAAmBA,CAACC,KAAmB,EAAE;EACvD,MAAMC,YAAY,GAAGH,gBAAgB,CAACE,KAAK,CAAC;EAC5C,OAAOC,YAAY,EAAEC,GAAG;AAC1B","ignoreList":[]} +diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js +index d30009f..0dab822 100644 +--- a/node_modules/@react-navigation/native/lib/module/useLinking.js ++++ b/node_modules/@react-navigation/native/lib/module/useLinking.js +@@ -4,6 +4,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP + import isEqual from 'fast-deep-equal'; + import * as React from 'react'; + import { createMemoryHistory } from "./createMemoryHistory.js"; ++import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; + import { ServerContext } from "./ServerContext.js"; + /** + * Find the matching navigation state that changed between 2 navigation states +@@ -45,6 +46,43 @@ export const series = cb => { + return callback; + }; + const linkingHandlers = []; ++function getAllStateKeys(state) { ++ const current = state; ++ const keys = []; ++ if (current.routes) { ++ for (const route of current.routes) { ++ keys.push(route.key); ++ if (route.state) { ++ keys.push(...getAllStateKeys(route.state)); ++ } ++ } ++ } ++ return keys; ++} ++function getStaleHistoryDiff(items, newState) { ++ const newStateKeys = getAllStateKeys(newState); ++ for (let i = items.length - 1; i >= 0; i--) { ++ const itemFocusedKey = findFocusedRouteKey(items[i].state); ++ if (newStateKeys.includes(itemFocusedKey)) { ++ return items.length - i - 1; ++ } ++ } ++ return -1; ++} ++function getHistoryDeltaByKeys(focusedState, previousFocusedState) { ++ const focusedStateKeys = focusedState.routes.map(r => r.key); ++ const previousFocusedStateKeys = previousFocusedState.routes.map(r => r.key); ++ const minLength = Math.min(focusedStateKeys.length, previousFocusedStateKeys.length); ++ let matchingKeys = 0; ++ for (let i = 0; i < minLength; i++) { ++ if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { ++ matchingKeys++; ++ } else { ++ break; ++ } ++ } ++ return -(previousFocusedStateKeys.length - matchingKeys); ++} + export function useLinking(ref, { + enabled = true, + config, +@@ -256,6 +294,9 @@ export function useLinking(ref, { + // Otherwise it's likely a change triggered by `popstate` + path !== pendingPath) { + const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); ++ ++ // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state ++ const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); + if (historyDelta > 0) { + // If history length is increased, we should pushState + // Note that path might not actually change here, for example, drawer open should pushState +@@ -267,7 +308,8 @@ export function useLinking(ref, { + // If history length is decreased, i.e. entries were removed, we want to go back + + const nextIndex = history.backIndex({ +- path ++ path, ++ state + }); + const currentIndex = history.index; + try { +@@ -276,11 +318,26 @@ export function useLinking(ref, { + history.get(nextIndex)) { + // An existing entry for this path exists and it's less than current index, go back to that + await history.go(nextIndex - currentIndex); ++ history.replace({ ++ path, ++ state ++ }); + } else { + // We couldn't find an existing entry to go back to, so we'll go back by the delta + // This won't be correct if multiple routes were pushed in one go before + // Usually this shouldn't happen and this is a fallback for that +- await history.go(historyDelta); ++ await history.go(historyDeltaByKeys); ++ if (historyDeltaByKeys + 1 === historyDelta) { ++ history.push({ ++ path, ++ state ++ }); ++ } else { ++ history.replace({ ++ path, ++ state ++ }); ++ } + } + + // Store the updated state as well as fix the path if incorrect +@@ -293,10 +350,22 @@ export function useLinking(ref, { + } + } else { + // If history length is unchanged, we want to replaceState +- history.replace({ +- path, +- state +- }); ++ // and remove any entries from history which focused route no longer exists in state ++ // That may happen if we replace a whole navigator. ++ ++ const staleHistoryDiff = getStaleHistoryDiff(history.items.slice(0, history.index + 1), state); ++ if (staleHistoryDiff <= 0) { ++ history.replace({ ++ path, ++ state ++ }); ++ } else { ++ await history.go(-staleHistoryDiff); ++ history.push({ ++ path, ++ state ++ }); ++ } + } + } else { + // If no common navigation state was found, assume it's a replace +diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js.map b/node_modules/@react-navigation/native/lib/module/useLinking.js.map +index afa43ce..acf80fc 100644 +--- a/node_modules/@react-navigation/native/lib/module/useLinking.js.map ++++ b/node_modules/@react-navigation/native/lib/module/useLinking.js.map +@@ -1 +1 @@ +-{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","config","onUnhandledLinking","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","resetRoot","action","dispatch","e","warn","message","getPathForRoute","route","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","findFocusedRouteKey","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","getAllStateKeys","current","keys","route","push","getStaleHistoryDiff","items","newState","newStateKeys","i","itemFocusedKey","includes","getHistoryDeltaByKeys","focusedState","previousFocusedState","focusedStateKeys","map","r","previousFocusedStateKeys","minLength","Math","min","matchingKeys","useLinking","ref","enabled","config","onUnhandledLinking","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","routeNames","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","resetRoot","action","dispatch","e","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","historyDelta","historyDeltaByKeys","nextIndex","backIndex","currentIndex","go","staleHistoryDiff","slice","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":";;AAAA,SACEA,gBAAgB,EAChBC,kBAAkB,IAAIC,yBAAyB,EAC/CC,gBAAgB,IAAIC,uBAAuB,EAC3CC,gBAAgB,IAAIC,uBAAuB,EAK3CC,4BAA4B,QACvB,wBAAwB;AAC/B,OAAOC,OAAO,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,aAAa,QAAQ,oBAAiB;AAK/C;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAGA,CACxBC,CAAgB,EAChBC,CAAgB,KACmB;EACnC,IAAID,CAAC,KAAKE,SAAS,IAAID,CAAC,KAAKC,SAAS,IAAIF,CAAC,CAACG,GAAG,KAAKF,CAAC,CAACE,GAAG,EAAE;IACzD,OAAO,CAACD,SAAS,EAAEA,SAAS,CAAC;EAC/B;;EAEA;EACA,MAAME,cAAc,GAAGJ,CAAC,CAACK,OAAO,GAAGL,CAAC,CAACK,OAAO,CAACC,MAAM,GAAGN,CAAC,CAACO,MAAM,CAACD,MAAM;EACrE,MAAME,cAAc,GAAGP,CAAC,CAACI,OAAO,GAAGJ,CAAC,CAACI,OAAO,CAACC,MAAM,GAAGL,CAAC,CAACM,MAAM,CAACD,MAAM;EAErE,MAAMG,MAAM,GAAGT,CAAC,CAACO,MAAM,CAACP,CAAC,CAACU,KAAK,CAAC;EAChC,MAAMC,MAAM,GAAGV,CAAC,CAACM,MAAM,CAACN,CAAC,CAACS,KAAK,CAAC;EAEhC,MAAME,WAAW,GAAGH,MAAM,CAACI,KAAsB;EACjD,MAAMC,WAAW,GAAGH,MAAM,CAACE,KAAsB;;EAEjD;EACA;EACA;EACA;EACA;EACA,IACET,cAAc,KAAKI,cAAc,IACjCC,MAAM,CAACN,GAAG,KAAKQ,MAAM,CAACR,GAAG,IACzBS,WAAW,KAAKV,SAAS,IACzBY,WAAW,KAAKZ,SAAS,IACzBU,WAAW,CAACT,GAAG,KAAKW,WAAW,CAACX,GAAG,EACnC;IACA,OAAO,CAACH,CAAC,EAAEC,CAAC,CAAC;EACf;EAEA,OAAOF,iBAAiB,CAACa,WAAW,EAAEE,WAAW,CAAC;AACpD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAIC,EAAuB,IAAK;EACjD,IAAIC,KAAK,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;EAC7B,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACrB;IACAH,KAAK,GAAGA,KAAK,CAACI,IAAI,CAACL,EAAE,CAAC;EACxB,CAAC;EACD,OAAOI,QAAQ;AACjB,CAAC;AAED,MAAME,eAAyB,GAAG,EAAE;AAEpC,SAASC,eAAeA,CACtBV,KAAsD,EACtD;EACA,MAAMW,OAAO,GAAGX,KAAK;EACrB,MAAMY,IAA4B,GAAG,EAAE;EACvC,IAAID,OAAO,CAACjB,MAAM,EAAE;IAClB,KAAK,MAAMmB,KAAK,IAAIF,OAAO,CAACjB,MAAM,EAAE;MAClCkB,IAAI,CAACE,IAAI,CAACD,KAAK,CAACvB,GAAG,CAAC;MACpB,IAAIuB,KAAK,CAACb,KAAK,EAAE;QACfY,IAAI,CAACE,IAAI,CAAC,GAAGJ,eAAe,CAACG,KAAK,CAACb,KAAK,CAAC,CAAC;MAC5C;IACF;EACF;EACA,OAAOY,IAAI;AACb;AAEA,SAASG,mBAAmBA,CAACC,KAAqB,EAAEC,QAAyB,EAAE;EAC7E,MAAMC,YAAY,GAAGR,eAAe,CAACO,QAAQ,CAAC;EAC9C,KAAK,IAAIE,CAAC,GAAGH,KAAK,CAACvB,MAAM,GAAG,CAAC,EAAE0B,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC1C,MAAMC,cAAc,GAAGpC,mBAAmB,CAACgC,KAAK,CAACG,CAAC,CAAC,CAACnB,KAAK,CAAC;IAC1D,IAAIkB,YAAY,CAACG,QAAQ,CAACD,cAAc,CAAC,EAAE;MACzC,OAAOJ,KAAK,CAACvB,MAAM,GAAG0B,CAAC,GAAG,CAAC;IAC7B;EACF;EACA,OAAO,CAAC,CAAC;AACX;AAEA,SAASG,qBAAqBA,CAC5BC,YAAwC,EACxCC,oBAAgD,EAChD;EACA,MAAMC,gBAAgB,GAAGF,YAAY,CAAC7B,MAAM,CAACgC,GAAG,CAAEC,CAAe,IAAKA,CAAC,CAACrC,GAAG,CAAC;EAC5E,MAAMsC,wBAAwB,GAAGJ,oBAAoB,CAAC9B,MAAM,CAACgC,GAAG,CAC7DC,CAAe,IAAKA,CAAC,CAACrC,GACzB,CAAC;EACD,MAAMuC,SAAS,GAAGC,IAAI,CAACC,GAAG,CACxBN,gBAAgB,CAAChC,MAAM,EACvBmC,wBAAwB,CAACnC,MAC3B,CAAC;EACD,IAAIuC,YAAY,GAAG,CAAC;EACpB,KAAK,IAAIb,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,SAAS,EAAEV,CAAC,EAAE,EAAE;IAClC,IAAIM,gBAAgB,CAACN,CAAC,CAAC,KAAKS,wBAAwB,CAACT,CAAC,CAAC,EAAE;MACvDa,YAAY,EAAE;IAChB,CAAC,MAAM;MACL;IACF;EACF;EACA,OAAO,EAAEJ,wBAAwB,CAACnC,MAAM,GAAGuC,YAAY,CAAC;AAC1D;AAIA,OAAO,SAASC,UAAUA,CACxBC,GAAkE,EAClE;EACEC,OAAO,GAAG,IAAI;EACdC,MAAM;EACN1D,gBAAgB,GAAGC,uBAAuB;EAC1CH,gBAAgB,GAAGC,uBAAuB;EAC1CH,kBAAkB,GAAGC;AACd,CAAC,EACV8D,kBAAqE,EACrE;EACA,MAAMC,WAAW,GAAG1D,4BAA4B,CAAC,CAAC;EAElDE,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,OAAOrD,SAAS;IAClB;IAEA,IAAIiD,WAAW,EAAE;MACf,OAAOjD,SAAS;IAClB;IAEA,IAAI8C,OAAO,KAAK,KAAK,IAAI1B,eAAe,CAAChB,MAAM,EAAE;MAC/CkD,OAAO,CAACC,KAAK,CACX,CACE,6KAA6K,EAC7K,uFAAuF,EACvF,4DAA4D,CAC7D,CACEC,IAAI,CAAC,IAAI,CAAC,CACVC,IAAI,CAAC,CACV,CAAC;IACH;IAEA,MAAMC,OAAO,GAAGC,MAAM,CAAC,CAAC;IAExB,IAAIb,OAAO,KAAK,KAAK,EAAE;MACrB1B,eAAe,CAACK,IAAI,CAACiC,OAAO,CAAC;IAC/B;IAEA,OAAO,MAAM;MACX,MAAMlD,KAAK,GAAGY,eAAe,CAACwC,OAAO,CAACF,OAAO,CAAC;MAE9C,IAAIlD,KAAK,GAAG,CAAC,CAAC,EAAE;QACdY,eAAe,CAACyC,MAAM,CAACrD,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,CAACsC,OAAO,EAAEG,WAAW,CAAC,CAAC;EAE1B,MAAM,CAAC9C,OAAO,CAAC,GAAGV,KAAK,CAACqE,QAAQ,CAACpE,mBAAmB,CAAC;;EAErD;EACA;EACA;EACA,MAAMqE,UAAU,GAAGtE,KAAK,CAACuE,MAAM,CAAClB,OAAO,CAAC;EACxC,MAAMmB,SAAS,GAAGxE,KAAK,CAACuE,MAAM,CAACjB,MAAM,CAAC;EACtC,MAAMmB,mBAAmB,GAAGzE,KAAK,CAACuE,MAAM,CAAC3E,gBAAgB,CAAC;EAC1D,MAAM8E,mBAAmB,GAAG1E,KAAK,CAACuE,MAAM,CAAC7E,gBAAgB,CAAC;EAC1D,MAAMiF,qBAAqB,GAAG3E,KAAK,CAACuE,MAAM,CAAC/E,kBAAkB,CAAC;EAE9DQ,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpBa,UAAU,CAACzC,OAAO,GAAGwB,OAAO;IAC5BmB,SAAS,CAAC3C,OAAO,GAAGyB,MAAM;IAC1BmB,mBAAmB,CAAC5C,OAAO,GAAGjC,gBAAgB;IAC9C8E,mBAAmB,CAAC7C,OAAO,GAAGnC,gBAAgB;IAC9CiF,qBAAqB,CAAC9C,OAAO,GAAGrC,kBAAkB;EACpD,CAAC,CAAC;EAEF,MAAMoF,iCAAiC,GAAG5E,KAAK,CAAC6E,WAAW,CACxD3D,KAAkB,IAAK;IACtB,MAAM4D,UAAU,GAAG1B,GAAG,CAACvB,OAAO;IAC9B,MAAMkD,SAAS,GAAGD,UAAU,EAAEE,YAAY,CAAC,CAAC;IAC5C;IACA;IACA,OAAO9D,KAAK,EAAEN,MAAM,CAACqE,IAAI,CAAEpC,CAAC,IAAK,CAACkC,SAAS,EAAEG,UAAU,CAAC3C,QAAQ,CAACM,CAAC,CAACsC,IAAI,CAAC,CAAC;EAC3E,CAAC,EACD,CAAC/B,GAAG,CACN,CAAC;EAED,MAAMgC,MAAM,GAAGpF,KAAK,CAACqF,UAAU,CAAClF,aAAa,CAAC;EAE9C,MAAMmF,eAAe,GAAGtF,KAAK,CAAC6E,WAAW,CAAC,MAAM;IAC9C,IAAIU,KAA8B;IAElC,IAAIjB,UAAU,CAACzC,OAAO,EAAE;MACtB,MAAM2D,QAAQ,GACZJ,MAAM,EAAEI,QAAQ,KACf,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACD,QAAQ,GAAGjF,SAAS,CAAC;MAE/D,MAAMmF,IAAI,GAAGF,QAAQ,GAAGA,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGrF,SAAS;MAEvE,IAAImF,IAAI,EAAE;QACRH,KAAK,GAAGd,mBAAmB,CAAC5C,OAAO,CAAC6D,IAAI,EAAElB,SAAS,CAAC3C,OAAO,CAAC;MAC9D;;MAEA;MACA0B,kBAAkB,CAACmC,IAAI,CAAC;IAC1B;IAEA,MAAMG,QAAQ,GAAG;MACfnE,IAAIA,CAACoE,WAAsD,EAAE;QAC3D,OAAOvE,OAAO,CAACC,OAAO,CAACsE,WAAW,GAAGA,WAAW,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC;MAClE,CAAC;MACDQ,KAAKA,CAAA,EAAG;QACN,OAAOF,QAAQ;MACjB;IACF,CAAC;IAED,OAAOA,QAAQ;IACf;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,gBAAgB,GAAGhG,KAAK,CAACuE,MAAM,CAAqBhE,SAAS,CAAC;EACpE,MAAM0F,gBAAgB,GAAGjG,KAAK,CAACuE,MAAM,CAA8BhE,SAAS,CAAC;EAC7E,MAAM2F,sBAAsB,GAAGlG,KAAK,CAACuE,MAAM,CAAqBhE,SAAS,CAAC;EAE1EP,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpBuC,gBAAgB,CAACnE,OAAO,GAAGnB,OAAO,CAACK,KAAK;IAExC,OAAOL,OAAO,CAACyF,MAAM,CAAC,MAAM;MAC1B,MAAMrB,UAAU,GAAG1B,GAAG,CAACvB,OAAO;MAE9B,IAAI,CAACiD,UAAU,IAAI,CAACzB,OAAO,EAAE;QAC3B;MACF;MAEA,MAAM;QAAEmC;MAAS,CAAC,GAAGC,MAAM;MAE3B,MAAMC,IAAI,GAAGF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM;MAChD,MAAM7E,KAAK,GAAGL,OAAO,CAACK,KAAK;MAE3B,MAAMqF,aAAa,GAAGJ,gBAAgB,CAACnE,OAAO,IAAI,CAAC;MAEnDmE,gBAAgB,CAACnE,OAAO,GAAGd,KAAK;MAChCmF,sBAAsB,CAACrE,OAAO,GAAG6D,IAAI;;MAErC;MACA;MACA;MACA,MAAMW,MAAM,GAAG3F,OAAO,CAAC4F,GAAG,CAACvF,KAAK,CAAC;MAEjC,IAAIsF,MAAM,EAAEX,IAAI,KAAKA,IAAI,IAAIW,MAAM,EAAEnF,KAAK,EAAE;QAC1C4D,UAAU,CAACyB,SAAS,CAACF,MAAM,CAACnF,KAAK,CAAC;QAClC;MACF;MAEA,MAAMA,KAAK,GAAGuD,mBAAmB,CAAC5C,OAAO,CAAC6D,IAAI,EAAElB,SAAS,CAAC3C,OAAO,CAAC;;MAElE;MACA;MACA,IAAIX,KAAK,EAAE;QACT;QACAqC,kBAAkB,CAACmC,IAAI,CAAC;QACxB;QACA;QACA,IAAId,iCAAiC,CAAC1D,KAAK,CAAC,EAAE;UAC5C;QACF;QAEA,IAAIH,KAAK,GAAGqF,aAAa,EAAE;UACzB,MAAMI,MAAM,GAAG7B,qBAAqB,CAAC9C,OAAO,CAC1CX,KAAK,EACLsD,SAAS,CAAC3C,OACZ,CAAC;UAED,IAAI2E,MAAM,KAAKjG,SAAS,EAAE;YACxB,IAAI;cACFuE,UAAU,CAAC2B,QAAQ,CAACD,MAAM,CAAC;YAC7B,CAAC,CAAC,OAAOE,CAAC,EAAE;cACV;cACA;cACA7C,OAAO,CAAC8C,IAAI,CACV,qDAAqDjB,IAAI,MACvD,OAAOgB,CAAC,KAAK,QAAQ,IAAIA,CAAC,IAAI,IAAI,IAAI,SAAS,IAAIA,CAAC,GAChDA,CAAC,CAACE,OAAO,GACTF,CAAC,EAET,CAAC;YACH;UACF,CAAC,MAAM;YACL5B,UAAU,CAACyB,SAAS,CAACrF,KAAK,CAAC;UAC7B;QACF,CAAC,MAAM;UACL4D,UAAU,CAACyB,SAAS,CAACrF,KAAK,CAAC;QAC7B;MACF,CAAC,MAAM;QACL;QACA4D,UAAU,CAACyB,SAAS,CAACrF,KAAK,CAAC;MAC7B;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CACDmC,OAAO,EACP3C,OAAO,EACP6C,kBAAkB,EAClBH,GAAG,EACHwB,iCAAiC,CAClC,CAAC;EAEF5E,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpB,IAAI,CAACJ,OAAO,EAAE;MACZ;IACF;IAEA,MAAMwD,eAAe,GAAGA,CACtB9E,KAA0C,EAC1Cb,KAAsB,KACX;MACX,IAAIwE,IAAI;;MAER;MACA;MACA,IAAI3D,KAAK,EAAE2D,IAAI,EAAE;QACf,MAAMoB,YAAY,GAAGrC,mBAAmB,CAAC5C,OAAO,CAC9CE,KAAK,CAAC2D,IAAI,EACVlB,SAAS,CAAC3C,OACZ,CAAC;QAED,IAAIiF,YAAY,EAAE;UAChB,MAAMC,YAAY,GAAGxH,gBAAgB,CAACuH,YAAY,CAAC;UAEnD,IACEC,YAAY,IACZA,YAAY,CAAC5B,IAAI,KAAKpD,KAAK,CAACoD,IAAI,IAChCpF,OAAO,CAACgH,YAAY,CAACC,MAAM,EAAEjF,KAAK,CAACiF,MAAM,CAAC,EAC1C;YACAtB,IAAI,GAAG3D,KAAK,CAAC2D,IAAI;UACnB;QACF;MACF;MAEA,IAAIA,IAAI,IAAI,IAAI,EAAE;QAChBA,IAAI,GAAGhB,mBAAmB,CAAC7C,OAAO,CAACX,KAAK,EAAEsD,SAAS,CAAC3C,OAAO,CAAC;MAC9D;MAEA,MAAMoF,aAAa,GAAGhB,gBAAgB,CAACpE,OAAO,GAC1CtC,gBAAgB,CAAC0G,gBAAgB,CAACpE,OAAO,CAAC,GAC1CtB,SAAS;;MAEb;MACA,IACE0G,aAAa,IACblF,KAAK,IACL,KAAK,IAAIkF,aAAa,IACtB,KAAK,IAAIlF,KAAK,IACdkF,aAAa,CAACzG,GAAG,KAAKuB,KAAK,CAACvB,GAAG,EAC/B;QACAkF,IAAI,GAAGA,IAAI,GAAGF,QAAQ,CAAC0B,IAAI;MAC7B;MAEA,OAAOxB,IAAI;IACb,CAAC;IAED,IAAItC,GAAG,CAACvB,OAAO,EAAE;MACf;MACA;MACA,MAAMX,KAAK,GAAGkC,GAAG,CAACvB,OAAO,CAACmD,YAAY,CAAC,CAAC;MAExC,IAAI9D,KAAK,EAAE;QACT,MAAMa,KAAK,GAAGxC,gBAAgB,CAAC2B,KAAK,CAAC;QACrC,MAAMwE,IAAI,GAAGmB,eAAe,CAAC9E,KAAK,EAAEb,KAAK,CAAC;QAE1C,IAAI+E,gBAAgB,CAACpE,OAAO,KAAKtB,SAAS,EAAE;UAC1C0F,gBAAgB,CAACpE,OAAO,GAAGX,KAAK;QAClC;QAEAR,OAAO,CAACyG,OAAO,CAAC;UAAEzB,IAAI;UAAExE;QAAM,CAAC,CAAC;MAClC;IACF;IAEA,MAAMkG,aAAa,GAAG,MAAAA,CAAA,KAAY;MAChC,MAAMtC,UAAU,GAAG1B,GAAG,CAACvB,OAAO;MAE9B,IAAI,CAACiD,UAAU,IAAI,CAACzB,OAAO,EAAE;QAC3B;MACF;MAEA,MAAMgE,aAAa,GAAGpB,gBAAgB,CAACpE,OAAO;MAC9C,MAAMX,KAAK,GAAG4D,UAAU,CAACE,YAAY,CAAC,CAAC;;MAEvC;MACA,IAAI,CAAC9D,KAAK,EAAE;QACV;MACF;MAEA,MAAMoG,WAAW,GAAGpB,sBAAsB,CAACrE,OAAO;MAClD,MAAME,KAAK,GAAGxC,gBAAgB,CAAC2B,KAAK,CAAC;MACrC,MAAMwE,IAAI,GAAGmB,eAAe,CAAC9E,KAAK,EAAEb,KAAK,CAAC;MAE1C+E,gBAAgB,CAACpE,OAAO,GAAGX,KAAK;MAChCgF,sBAAsB,CAACrE,OAAO,GAAGtB,SAAS;;MAE1C;MACA;MACA;MACA;MACA,MAAM,CAACmC,oBAAoB,EAAED,YAAY,CAAC,GAAGrC,iBAAiB,CAC5DiH,aAAa,EACbnG,KACF,CAAC;MAED,IACEwB,oBAAoB,IACpBD,YAAY;MACZ;MACA;MACAiD,IAAI,KAAK4B,WAAW,EACpB;QACA,MAAMC,YAAY,GAChB,CAAC9E,YAAY,CAAC/B,OAAO,GACjB+B,YAAY,CAAC/B,OAAO,CAACC,MAAM,GAC3B8B,YAAY,CAAC7B,MAAM,CAACD,MAAM,KAC7B+B,oBAAoB,CAAChC,OAAO,GACzBgC,oBAAoB,CAAChC,OAAO,CAACC,MAAM,GACnC+B,oBAAoB,CAAC9B,MAAM,CAACD,MAAM,CAAC;;QAEzC;QACA,MAAM6G,kBAAkB,GAAGhF,qBAAqB,CAC9CC,YAAY,EACZC,oBACF,CAAC;QAED,IAAI6E,YAAY,GAAG,CAAC,EAAE;UACpB;UACA;UACA7G,OAAO,CAACsB,IAAI,CAAC;YAAE0D,IAAI;YAAExE;UAAM,CAAC,CAAC;QAC/B,CAAC,MAAM,IAAIqG,YAAY,GAAG,CAAC,EAAE;UAC3B;;UAEA,MAAME,SAAS,GAAG/G,OAAO,CAACgH,SAAS,CAAC;YAAEhC,IAAI;YAAExE;UAAM,CAAC,CAAC;UACpD,MAAMyG,YAAY,GAAGjH,OAAO,CAACK,KAAK;UAElC,IAAI;YACF,IACE0G,SAAS,KAAK,CAAC,CAAC,IAChBA,SAAS,GAAGE,YAAY;YACxB;YACAjH,OAAO,CAAC4F,GAAG,CAACmB,SAAS,CAAC,EACtB;cACA;cACA,MAAM/G,OAAO,CAACkH,EAAE,CAACH,SAAS,GAAGE,YAAY,CAAC;cAC1CjH,OAAO,CAACyG,OAAO,CAAC;gBAAEzB,IAAI;gBAAExE;cAAM,CAAC,CAAC;YAClC,CAAC,MAAM;cACL;cACA;cACA;cACA,MAAMR,OAAO,CAACkH,EAAE,CAACJ,kBAAkB,CAAC;cACpC,IAAIA,kBAAkB,GAAG,CAAC,KAAKD,YAAY,EAAE;gBAC3C7G,OAAO,CAACsB,IAAI,CAAC;kBAAE0D,IAAI;kBAAExE;gBAAM,CAAC,CAAC;cAC/B,CAAC,MAAM;gBACLR,OAAO,CAACyG,OAAO,CAAC;kBAAEzB,IAAI;kBAAExE;gBAAM,CAAC,CAAC;cAClC;YACF;;YAEA;YACAR,OAAO,CAACyG,OAAO,CAAC;cAAEzB,IAAI;cAAExE;YAAM,CAAC,CAAC;UAClC,CAAC,CAAC,OAAOwF,CAAC,EAAE;YACV;UAAA;QAEJ,CAAC,MAAM;UACL;UACA;UACA;;UAEA,MAAMmB,gBAAgB,GAAG5F,mBAAmB,CAC1CvB,OAAO,CAACwB,KAAK,CAAC4F,KAAK,CAAC,CAAC,EAAEpH,OAAO,CAACK,KAAK,GAAG,CAAC,CAAC,EACzCG,KACF,CAAC;UACD,IAAI2G,gBAAgB,IAAI,CAAC,EAAE;YACzBnH,OAAO,CAACyG,OAAO,CAAC;cAAEzB,IAAI;cAAExE;YAAM,CAAC,CAAC;UAClC,CAAC,MAAM;YACL,MAAMR,OAAO,CAACkH,EAAE,CAAC,CAACC,gBAAgB,CAAC;YACnCnH,OAAO,CAACsB,IAAI,CAAC;cAAE0D,IAAI;cAAExE;YAAM,CAAC,CAAC;UAC/B;QACF;MACF,CAAC,MAAM;QACL;QACA;QACAR,OAAO,CAACyG,OAAO,CAAC;UAAEzB,IAAI;UAAExE;QAAM,CAAC,CAAC;MAClC;IACF,CAAC;;IAED;IACA;IACA;IACA,OAAOkC,GAAG,CAACvB,OAAO,EAAEkG,WAAW,CAAC,OAAO,EAAE3G,MAAM,CAACgG,aAAa,CAAC,CAAC;EACjE,CAAC,EAAE,CAAC/D,OAAO,EAAE3C,OAAO,EAAE0C,GAAG,CAAC,CAAC;EAE3B,OAAO;IACLkC;EACF,CAAC;AACH","ignoreList":[]} +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts +new file mode 100644 +index 0000000..2a699ed +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=Link.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts.map +new file mode 100644 +index 0000000..19c8be9 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"Link.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/Link.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts +new file mode 100644 +index 0000000..ffc70df +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=NavigationContainer.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts.map +new file mode 100644 +index 0000000..9e5a8d5 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"NavigationContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/NavigationContainer.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts +new file mode 100644 +index 0000000..e142b8b +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=ServerContainer.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts.map +new file mode 100644 +index 0000000..39163ac +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"ServerContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/ServerContainer.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts +new file mode 100644 +index 0000000..7896890 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=createMemoryHistory.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts.map +new file mode 100644 +index 0000000..58f591b +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"createMemoryHistory.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createMemoryHistory.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts +new file mode 100644 +index 0000000..14eb2c4 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=createStaticNavigation.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts.map +new file mode 100644 +index 0000000..ca06c90 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"createStaticNavigation.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createStaticNavigation.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts +new file mode 100644 +index 0000000..be5d649 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=extractPathFromURL.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts.map +new file mode 100644 +index 0000000..630ee12 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"extractPathFromURL.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/extractPathFromURL.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts +new file mode 100644 +index 0000000..cca7e72 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useLinkBuilder.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts.map +new file mode 100644 +index 0000000..b803a80 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useLinkBuilder.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useLinkBuilder.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts +new file mode 100644 +index 0000000..d0ed2fa +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useLinking.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts.map +new file mode 100644 +index 0000000..0e47c4b +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useLinking.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useLinking.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts +new file mode 100644 +index 0000000..73a251a +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useRoutePath.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts.map +new file mode 100644 +index 0000000..c22af00 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useRoutePath.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoutePath.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts +index 0036e1b..513791b 100644 +--- a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts ++++ b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts +@@ -5,10 +5,12 @@ type HistoryRecord = { + path: string; + }; + export declare function createMemoryHistory(): { ++ readonly items: HistoryRecord[]; + readonly index: number; + get(index: number): HistoryRecord; +- backIndex({ path }: { ++ backIndex({ path, state }: { + path: string; ++ state: NavigationState; + }): number; + push({ path, state }: { + path: string; +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map +index d581252..506eaca 100644 +--- a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map ++++ b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"createMemoryHistory.d.ts","sourceRoot":"","sources":["../../../src/createMemoryHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,KAAK,aAAa,GAAG;IAEnB,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,eAAe,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,mBAAmB;oBAmBlB,MAAM;eAcR,MAAM;wBAIG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;0BAad;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;6BAmBrC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;UAoC3D,MAAM;qBA0FK,MAAM,IAAI;EAqB9B"} +\ No newline at end of file ++{"version":3,"file":"createMemoryHistory.d.ts","sourceRoot":"","sources":["../../../src/createMemoryHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,KAAK,aAAa,GAAG;IAEnB,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,eAAe,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,mBAAmB;oBAmBlB,aAAa,EAAE;oBAIf,MAAM;eAcR,MAAM;+BAIU;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;0BAgB7C;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;6BAmBrC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;UAoC3D,MAAM;qBA0FK,MAAM,IAAI;EAmB9B"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts +new file mode 100644 +index 0000000..e9329dc +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts +@@ -0,0 +1,3 @@ ++import type { InitialState } from '@react-navigation/routers'; ++export declare function findFocusedRouteKey(state: InitialState): string | undefined; ++//# sourceMappingURL=findFocusedRouteKey.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts.map +new file mode 100644 +index 0000000..db5f503 +--- /dev/null ++++ b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"findFocusedRouteKey.d.ts","sourceRoot":"","sources":["../../../src/findFocusedRouteKey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,sBAGtD"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map +index c440d53..9ec8243 100644 +--- a/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map ++++ b/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA0C9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO,EACV,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI;2BAmGhD,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EAkQ1D"} +\ No newline at end of file ++{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA0C9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAsDF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO,EACV,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI;2BAmGhD,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EA0R1D"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native/src/__tests__/Link.test.tsx b/node_modules/@react-navigation/native/src/__tests__/Link.test.tsx +new file mode 100644 +index 0000000..613c292 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/Link.test.tsx +@@ -0,0 +1,197 @@ ++import { expect, jest, test } from '@jest/globals'; ++import { fireEvent, render } from '@testing-library/react-native'; ++import { Platform } from 'react-native'; ++ ++import { createStackNavigator } from '../__stubs__/createStackNavigator'; ++import { Link } from '../Link'; ++import { NavigationContainer } from '../NavigationContainer'; ++ ++type RootParamList = { Foo: undefined; Bar: { id: string } }; ++ ++jest.replaceProperty(Platform, 'OS', 'web'); ++ ++test('renders link with href on web', () => { ++ const config = { ++ prefixes: ['https://example.com'], ++ config: { ++ screens: { ++ Foo: 'foo', ++ Bar: 'bar/:id', ++ }, ++ }, ++ getInitialURL() { ++ return null; ++ }, ++ }; ++ ++ const Stack = createStackNavigator(); ++ ++ const FooScreen = () => { ++ return ( ++ screen="Bar" params={{ id: '42' }}> ++ Go to Bar ++ ++ ); ++ }; ++ ++ const BarScreen = () => { ++ return screen="Foo">Go to Foo; ++ }; ++ ++ const { getByText, toJSON } = render( ++ ++ ++ ++ ++ ++ ++ ); ++ ++ expect(toJSON()).toMatchInlineSnapshot(` ++ ++ Go to Bar ++ ++`); ++ ++ const event = { ++ defaultPrevented: false, ++ preventDefault() { ++ event.defaultPrevented = true; ++ }, ++ }; ++ ++ fireEvent.press(getByText('Go to Bar'), event); ++ ++ expect(toJSON()).toMatchInlineSnapshot(` ++ ++ Go to Foo ++ ++`); ++}); ++ ++test("doesn't navigate if default was prevented", () => { ++ const config = { ++ prefixes: ['https://example.com'], ++ config: { ++ screens: { ++ Foo: 'foo', ++ Bar: 'bar/:id', ++ }, ++ }, ++ getInitialURL() { ++ return null; ++ }, ++ }; ++ ++ const Stack = createStackNavigator(); ++ ++ const FooScreen = () => { ++ return ( ++ ++ screen="Bar" ++ params={{ id: '42' }} ++ onPress={(e) => e.preventDefault()} ++ > ++ Go to Bar ++ ++ ); ++ }; ++ ++ const BarScreen = () => { ++ return screen="Foo">Go to Foo; ++ }; ++ ++ const { getByText, toJSON } = render( ++ ++ ++ ++ ++ ++ ++ ); ++ ++ expect(toJSON()).toMatchInlineSnapshot(` ++ ++ Go to Bar ++ ++`); ++ ++ const event = { ++ defaultPrevented: false, ++ preventDefault() { ++ event.defaultPrevented = true; ++ }, ++ }; ++ ++ fireEvent.press(getByText('Go to Bar'), event); ++ ++ expect(toJSON()).toMatchInlineSnapshot(` ++ ++ Go to Bar ++ ++`); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/NavigationContainer.test.tsx b/node_modules/@react-navigation/native/src/__tests__/NavigationContainer.test.tsx +new file mode 100644 +index 0000000..48d4f59 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/NavigationContainer.test.tsx +@@ -0,0 +1,145 @@ ++import { expect, jest, test } from '@jest/globals'; ++import { ++ createNavigationContainerRef, ++ createNavigatorFactory, ++ type ParamListBase, ++ StackRouter, ++ TabRouter, ++ useNavigationBuilder, ++} from '@react-navigation/core'; ++import { act, render, waitFor } from '@testing-library/react-native'; ++ ++import { window } from '../__stubs__/window'; ++import { NavigationContainer } from '../NavigationContainer'; ++ ++Object.assign(global, window); ++ ++// We want to use the web version of useLinking ++// eslint-disable-next-line import-x/extensions ++jest.mock('../useLinking', () => require('../useLinking.tsx')); ++ ++test('integrates with the history API', async () => { ++ const createStackNavigator = createNavigatorFactory((props: any) => { ++ const { state, descriptors, NavigationContent } = useNavigationBuilder( ++ StackRouter, ++ props ++ ); ++ ++ return ( ++ ++ {state.routes.map((route, i) => ( ++
++ {descriptors[route.key].render()} ++
++ ))} ++
++ ); ++ }); ++ ++ const createTabNavigator = createNavigatorFactory((props: any) => { ++ const { state, descriptors, NavigationContent } = useNavigationBuilder( ++ TabRouter, ++ props ++ ); ++ ++ return ( ++ ++ {state.routes.map((route, i) => ( ++
++ {descriptors[route.key].render()} ++
++ ))} ++
++ ); ++ }); ++ ++ const Stack = createStackNavigator(); ++ const Tab = createTabNavigator(); ++ ++ const TestScreen = ({ route }: any): any => ++ `${route.name} ${JSON.stringify(route.params)}`; ++ ++ const linking = { ++ prefixes: [], ++ config: { ++ screens: { ++ Home: { ++ path: '', ++ initialRouteName: 'Feed', ++ screens: { ++ Profile: ':user', ++ Settings: 'edit', ++ Updates: 'updates', ++ Feed: 'feed', ++ }, ++ }, ++ Chat: 'chat', ++ }, ++ }, ++ }; ++ ++ const navigation = createNavigationContainerRef(); ++ ++ render( ++ ++ ++ ++ {() => ( ++ ++ ++ ++ ++ ++ ++ )} ++ ++ ++ ++ ++ ); ++ ++ expect(window.location.pathname).toBe('/feed'); ++ ++ act(() => navigation.current?.navigate('Profile', { user: 'jane' })); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/jane')); ++ ++ act(() => navigation.current?.navigate('Updates')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/updates')); ++ ++ act(() => navigation.current?.goBack()); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/jane')); ++ ++ act(() => { ++ window.history.back(); ++ }); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/feed')); ++ ++ act(() => { ++ window.history.forward(); ++ }); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/jane')); ++ ++ act(() => navigation.current?.navigate('Settings')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/edit')); ++ ++ act(() => { ++ window.history.go(-2); ++ }); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/feed')); ++ ++ act(() => navigation.current?.navigate('Settings')); ++ act(() => navigation.current?.navigate('Chat')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/chat')); ++ ++ act(() => navigation.current?.navigate('Home')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/edit')); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/ServerContainer.test.tsx b/node_modules/@react-navigation/native/src/__tests__/ServerContainer.test.tsx +new file mode 100644 +index 0000000..79908c3 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/ServerContainer.test.tsx +@@ -0,0 +1,244 @@ ++import { expect, jest, test } from '@jest/globals'; ++import { ++ createNavigatorFactory, ++ type DefaultNavigatorOptions, ++ type NavigationListBase, ++ type NavigatorScreenParams, ++ type ParamListBase, ++ type StackNavigationState, ++ StackRouter, ++ TabRouter, ++ type TypedNavigator, ++ useNavigationBuilder, ++} from '@react-navigation/core'; ++import * as React from 'react'; ++import { renderToString } from 'react-dom/server'; ++ ++import { NavigationContainer } from '../NavigationContainer'; ++import { ServerContainer } from '../ServerContainer'; ++import type { ServerContainerRef } from '../types'; ++ ++// @ts-expect-error: practically window is same as global, so we can ignore the error ++global.window = global; ++ ++window.addEventListener = () => {}; ++window.removeEventListener = () => {}; ++ ++// We want to use the web version of useLinking ++// eslint-disable-next-line import-x/extensions ++jest.mock('../useLinking', () => require('../useLinking.tsx')); ++ ++// Since Jest is configured for React Native, the *.native.js file is imported ++// Causing the wrong useIsomorphicLayoutEffect to be imported ++// It causes "Warning: useLayoutEffect does nothing on the server" ++// So we explicitly silence it here ++// This warning is being removed in React: https://github.com/facebook/react/pull/26395 ++const error = console.error; ++ ++jest.spyOn(console, 'error').mockImplementation((...args) => { ++ if (/Warning: useLayoutEffect does nothing on the server/m.test(args[0])) { ++ return; ++ } ++ ++ error(...args); ++}); ++ ++test('renders correct state with location', () => { ++ const StackNavigator = ( ++ props: DefaultNavigatorOptions< ++ ParamListBase, ++ string | undefined, ++ StackNavigationState, ++ {}, ++ {}, ++ unknown ++ > ++ ) => { ++ const { state, descriptors, NavigationContent } = useNavigationBuilder( ++ StackRouter, ++ props ++ ); ++ ++ return ( ++ ++ {state.routes.map((route) => ( ++
{descriptors[route.key].render()}
++ ))} ++
++ ); ++ }; ++ ++ function createStackNavigator(): TypedNavigator<{ ++ ParamList: ParamList; ++ NavigatorID: string | undefined; ++ State: StackNavigationState; ++ ScreenOptions: {}; ++ EventMap: {}; ++ NavigationList: NavigationListBase; ++ Navigator: typeof StackNavigator; ++ }> { ++ return createNavigatorFactory(StackNavigator)(); ++ } ++ ++ type StackAParamList = { ++ Home: NavigatorScreenParams; ++ Chat: undefined; ++ }; ++ ++ type StackBParamList = { ++ Profile: undefined; ++ Settings: undefined; ++ Feed: undefined; ++ Updates: undefined; ++ }; ++ ++ const StackA = createStackNavigator(); ++ const StackB = createStackNavigator(); ++ ++ const TestScreen = ({ route }: any): any => ++ `${route.name} ${JSON.stringify(route.params)}`; ++ ++ const NestedStack = () => { ++ return ( ++ ++ ++ ++ ++ ++ ++ ); ++ }; ++ ++ const element = ( ++ ++ linking={{ ++ prefixes: [], ++ config: { ++ screens: { ++ Home: { ++ initialRouteName: 'Profile', ++ screens: { ++ Settings: { ++ path: ':user/edit', ++ }, ++ Updates: { ++ path: ':user/updates', ++ }, ++ }, ++ }, ++ }, ++ }, ++ }} ++ > ++ ++ ++ ++ ++ ++ ); ++ ++ // @ts-expect-error: we don't care about adding all properties on location for the test ++ window.location = { pathname: '/jane/edit', search: '' }; ++ ++ const client = renderToString(element); ++ ++ expect(client).toMatchInlineSnapshot( ++ `"
Profile undefined
Settings {"user":"jane"}
"` ++ ); ++ ++ const server = renderToString( ++ ++ {element} ++ ++ ); ++ ++ expect(server).toMatchInlineSnapshot( ++ `"
Profile undefined
Updates {"user":"john"}
"` ++ ); ++}); ++ ++test('gets the current options', () => { ++ const createTabNavigator = createNavigatorFactory((props: any) => { ++ const { state, descriptors, NavigationContent } = useNavigationBuilder( ++ TabRouter, ++ props ++ ); ++ ++ return ( ++ ++ {state.routes.map((route) => ( ++
{descriptors[route.key].render()}
++ ))} ++
++ ); ++ }); ++ ++ const Tab = createTabNavigator(); ++ ++ const TestScreen = ({ route }: any): any => ++ `${route.name} ${JSON.stringify(route.params)}`; ++ ++ const NestedStack = () => { ++ return ( ++ ++ ++ ++ ++ ++ ++ ); ++ }; ++ ++ const ref = React.createRef(); ++ ++ renderToString( ++ ++ ++ ++ ++ ++ ++ ++ ++ ); ++ ++ expect(ref.current?.getCurrentOptions()).toEqual({ ++ title: 'Updates from cloud', ++ description: 'Woah', ++ }); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/createMemoryHistory.test.tsx b/node_modules/@react-navigation/native/src/__tests__/createMemoryHistory.test.tsx +new file mode 100644 +index 0000000..0a8590f +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/createMemoryHistory.test.tsx +@@ -0,0 +1,160 @@ ++import { expect, jest, test } from '@jest/globals'; ++import type { NavigationState } from '@react-navigation/core'; ++ ++import { window } from '../__stubs__/window'; ++import { createMemoryHistory } from '../createMemoryHistory'; ++ ++Object.assign(global, window); ++ ++// eslint-disable-next-line import-x/extensions ++jest.mock('../useLinking', () => require('../useLinking.tsx')); ++ ++test('will not attempt to navigate beyond whatever browser history it is possible to know about', () => { ++ jest.useFakeTimers(); ++ const windowGoSpy = jest.spyOn(window.history, 'go'); ++ ++ // Create a new memory history ++ const history = createMemoryHistory(); ++ ++ const mockStateOne: NavigationState = { ++ key: 'stack-123', ++ index: 0, ++ routeNames: ['One', 'Two', 'Three'], ++ routes: [ ++ { ++ name: 'One', ++ path: '/route-one', ++ key: 'One-23', ++ params: undefined, ++ }, ++ ], ++ type: 'stack', ++ stale: false, ++ }; ++ ++ // When we add a path and state value then our index value will be zero ++ history.replace({ path: '/route-one', state: mockStateOne }); ++ expect(history.index).toBe(0); ++ ++ // When we try to call history.go() with a negative value and there is nowhere to navigate to ++ // Then window.history.go() should not be called at all ++ history.go(-1); ++ jest.runAllTimers(); ++ expect(windowGoSpy).not.toHaveBeenCalled(); ++ expect(history.index).toBe(0); ++ ++ // When we push another item then window history should stay synced with memory history and our index should advance ++ const mockStateTwo: NavigationState = { ++ key: 'stack-123', ++ index: 1, ++ routeNames: ['One', 'Two', 'Three'], ++ routes: [ ++ { ++ name: 'One', ++ path: '/route-one', ++ key: 'One-23', ++ params: undefined, ++ }, ++ { ++ name: 'Two', ++ path: '/route-two', ++ key: 'Two-34', ++ params: {}, ++ }, ++ ], ++ type: 'stack', ++ stale: false, ++ }; ++ history.push({ path: '/route-two', state: mockStateTwo }); ++ expect(history.index).toBe(1); ++ ++ // When we navigate back our index should be updated ++ history.go(-1); ++ jest.runAllTimers(); ++ expect(windowGoSpy).toHaveBeenCalledTimes(1); ++ expect(history.index).toBe(0); ++ ++ // When we navigate forward once then we should see our index change ++ history.go(1); ++ jest.runAllTimers(); ++ expect(windowGoSpy).toHaveBeenCalledTimes(2); ++ expect(history.index).toBe(1); ++ ++ // If we try to go very far outside of the current bounds of memory history then we ++ // will find ourselves in the same place. ++ history.go(10); ++ jest.runAllTimers(); ++ expect(windowGoSpy).toHaveBeenCalledTimes(2); ++ expect(history.index).toBe(1); ++ ++ // Navigate back to the first index ++ history.go(-1); ++ jest.runAllTimers(); ++ expect(history.index).toBe(0); ++ expect(windowGoSpy).toHaveBeenCalledTimes(3); ++ ++ const item = history.get(0); ++ expect(window.history.state).toEqual({ id: item.id }); ++ ++ // Next replace the state and verify the item we are replacing ++ // has the same id but the path has changed ++ const mockStateThree: NavigationState = { ++ key: 'stack-123', ++ index: 0, ++ routeNames: ['One', 'Two', 'Three'], ++ routes: [ ++ { ++ name: 'Three', ++ path: '/route-three', ++ key: 'Three-23', ++ params: undefined, ++ }, ++ { ++ name: 'Two', ++ path: '/route-two', ++ key: 'Two-23', ++ params: undefined, ++ }, ++ ], ++ type: 'stack', ++ stale: false, ++ }; ++ history.replace({ path: '/route-three', state: mockStateThree }); ++ expect(history.index).toBe(0); ++ ++ const replacedItem = history.get(0); ++ expect(item.path).toBe('/route-one'); ++ expect(replacedItem.path).toBe('/route-three'); ++ expect(item.id).toEqual(replacedItem.id); ++ expect(window.history.state).toEqual({ id: replacedItem.id }); ++ ++ // Push another item ++ const mockStateFour: NavigationState = { ++ key: 'stack-123', ++ index: 1, ++ routeNames: ['One', 'Two', 'Three'], ++ routes: [ ++ { ++ name: 'Three', ++ path: '/route-three', ++ key: 'Three-23', ++ params: undefined, ++ }, ++ { ++ name: 'One', ++ path: '/route-one', ++ key: 'One-23', ++ params: undefined, ++ }, ++ ], ++ type: 'stack', ++ stale: false, ++ }; ++ ++ // Pushing a new route will remove any items after the new index ++ history.push({ path: '/route-one', state: mockStateFour }); ++ expect(history.index).toBe(1); ++ expect(history.get(0).path).toBe('/route-three'); ++ const newItem = history.get(1); ++ expect(window.history.state).toEqual({ id: newItem.id }); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/createStaticNavigation.test.tsx b/node_modules/@react-navigation/native/src/__tests__/createStaticNavigation.test.tsx +new file mode 100644 +index 0000000..169f063 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/createStaticNavigation.test.tsx +@@ -0,0 +1,199 @@ ++import { expect, jest, test } from '@jest/globals'; ++import { ++ createNavigationContainerRef, ++ createNavigatorFactory, ++ type ParamListBase, ++ StackRouter, ++ TabRouter, ++ useNavigationBuilder, ++} from '@react-navigation/core'; ++import { act, render, waitFor } from '@testing-library/react-native'; ++ ++import { window } from '../__stubs__/window'; ++import { createStaticNavigation } from '../createStaticNavigation'; ++ ++Object.assign(global, window); ++ ++// We want to use the web version of useLinking ++// eslint-disable-next-line import-x/extensions ++jest.mock('../useLinking', () => require('../useLinking.tsx')); ++ ++test('integrates with the history API', async () => { ++ const createStackNavigator = createNavigatorFactory((props: any) => { ++ const { state, descriptors, NavigationContent } = useNavigationBuilder( ++ StackRouter, ++ props ++ ); ++ ++ return ( ++ ++ {state.routes.map((route, i) => ( ++
++ {descriptors[route.key].render()} ++
++ ))} ++
++ ); ++ }); ++ ++ const createTabNavigator = createNavigatorFactory((props: any) => { ++ const { state, descriptors, NavigationContent } = useNavigationBuilder( ++ TabRouter, ++ props ++ ); ++ ++ return ( ++ ++ {state.routes.map((route, i) => ( ++
++ {descriptors[route.key].render()} ++
++ ))} ++
++ ); ++ }); ++ ++ const TestScreen = ({ route }: any): any => ++ `${route.name} ${JSON.stringify(route.params)}`; ++ ++ const Stack = createStackNavigator({ ++ initialRouteName: 'Feed', ++ screens: { ++ Profile: { ++ screen: TestScreen, ++ linking: ':user', ++ }, ++ Settings: { ++ screen: TestScreen, ++ linking: 'edit', ++ }, ++ Updates: { ++ screen: TestScreen, ++ linking: 'updates', ++ }, ++ Feed: { ++ screen: TestScreen, ++ linking: 'feed', ++ }, ++ }, ++ }); ++ ++ const Tab = createTabNavigator({ ++ screens: { ++ Home: Stack, ++ Chat: { ++ screen: TestScreen, ++ linking: 'chat', ++ }, ++ }, ++ }); ++ ++ const Navigation = createStaticNavigation(Tab); ++ ++ const navigation = createNavigationContainerRef(); ++ ++ render( ++ ++ ); ++ ++ expect(window.location.pathname).toBe('/feed'); ++ ++ act(() => navigation.current?.navigate('Profile', { user: 'jane' })); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/jane')); ++ ++ act(() => navigation.current?.navigate('Updates')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/updates')); ++ ++ act(() => navigation.current?.goBack()); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/jane')); ++ ++ act(() => { ++ window.history.back(); ++ }); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/feed')); ++ ++ act(() => { ++ window.history.forward(); ++ }); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/jane')); ++ ++ act(() => navigation.current?.navigate('Settings')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/edit')); ++ ++ act(() => { ++ window.history.go(-2); ++ }); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/feed')); ++ ++ act(() => navigation.current?.navigate('Settings')); ++ act(() => navigation.current?.navigate('Chat')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/chat')); ++ ++ act(() => navigation.current?.navigate('Home')); ++ ++ await waitFor(() => expect(window.location.pathname).toBe('/edit')); ++}); ++ ++test("throws if linking is enabled but there's no linking configuration", () => { ++ const createTestNavigator = createNavigatorFactory(() => null); ++ ++ const TestScreen = () => null; ++ ++ const Stack = createTestNavigator({ ++ initialRouteName: 'Feed', ++ screens: { ++ Profile: { ++ screen: TestScreen, ++ }, ++ Settings: { ++ screen: TestScreen, ++ }, ++ Updates: { ++ screen: TestScreen, ++ }, ++ Feed: { ++ screen: TestScreen, ++ }, ++ }, ++ }); ++ ++ const Tab = createTestNavigator({ ++ screens: { ++ Home: Stack, ++ Chat: { ++ screen: TestScreen, ++ }, ++ }, ++ }); ++ ++ const Navigation = createStaticNavigation(Tab); ++ ++ expect(() => { ++ render(); ++ }).toThrow( ++ 'Linking is enabled but no linking configuration was found for the screens.' ++ ); ++ ++ expect(() => { ++ render(); ++ }).not.toThrow(); ++ ++ expect(() => { ++ render( ++ ++ ); ++ }).not.toThrow(); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/extractPathFromURL.test.tsx b/node_modules/@react-navigation/native/src/__tests__/extractPathFromURL.test.tsx +new file mode 100644 +index 0000000..3738dd7 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/extractPathFromURL.test.tsx +@@ -0,0 +1,344 @@ ++import { expect, test } from '@jest/globals'; ++ ++import { extractPathFromURL } from '../extractPathFromURL'; ++ ++test('extracts path from URL with protocol', () => { ++ expect(extractPathFromURL(['scheme://'], 'scheme://some/path')).toBe( ++ 'some/path' ++ ); ++ ++ expect(extractPathFromURL(['scheme://'], 'scheme:some/path')).toBe( ++ 'some/path' ++ ); ++ ++ expect(extractPathFromURL(['scheme://'], 'scheme:///some/path')).toBe( ++ 'some/path' ++ ); ++ ++ expect(extractPathFromURL(['scheme:///'], 'scheme:some/path')).toBe( ++ 'some/path' ++ ); ++ ++ expect(extractPathFromURL(['scheme:'], 'scheme:some/path')).toBe('some/path'); ++ ++ expect(extractPathFromURL(['scheme:'], 'scheme://some/path')).toBe( ++ 'some/path' ++ ); ++ ++ expect(extractPathFromURL(['scheme:'], 'scheme:///some/path')).toBe( ++ 'some/path' ++ ); ++}); ++ ++test('extracts path from URL with protocol and host', () => { ++ expect( ++ extractPathFromURL( ++ ['scheme://example.com'], ++ 'scheme://example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme:example.com/some/path') ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme://example.com'], ++ 'scheme:///example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:///example.com'], ++ 'scheme:example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL(['scheme:example.com'], 'scheme:example.com/some/path') ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL(['scheme:example.com'], 'scheme://example.com/some/path') ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com'], ++ 'scheme:///example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme://example.com/') ++ ).toBe('/'); ++ ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme://example.com') ++ ).toBe(''); ++}); ++ ++test('extracts path from URL with protocol and host with wildcard', () => { ++ expect( ++ extractPathFromURL( ++ ['scheme://*.example.com'], ++ 'scheme://test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme://*.example.com'], ++ 'scheme:test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme://*.example.com'], ++ 'scheme:///test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:///*.example.com'], ++ 'scheme:test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:*.example.com'], ++ 'scheme:test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:*.example.com'], ++ 'scheme://test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:*.example.com'], ++ 'scheme:///test.example.com/some/path' ++ ) ++ ).toBe('/some/path'); ++}); ++ ++test('extracts path from URL with protocol, host and path', () => { ++ expect( ++ extractPathFromURL( ++ ['scheme://example.com/test'], ++ 'scheme://example.com/test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme:example.com/some/path') ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme://example.com/test'], ++ 'scheme:///example.com/test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:///example.com/test'], ++ 'scheme:example.com/test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com/test'], ++ 'scheme:example.com/test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com/test'], ++ 'scheme://example.com/test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com/test'], ++ 'scheme:///example.com/test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com/test'], ++ 'scheme:///example.com//test/some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com/test'], ++ 'scheme:///example.com/test//some/path' ++ ) ++ ).toBe('/some/path'); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:example.com/test'], ++ 'scheme:///example.com/test/some//path' ++ ) ++ ).toBe('/some/path'); ++}); ++ ++test('returns undefined for non-matching protocol', () => { ++ expect(extractPathFromURL(['scheme://'], 'foo://some/path')).toBeUndefined(); ++ ++ expect(extractPathFromURL(['scheme://'], 'foo:some/path')).toBeUndefined(); ++ ++ expect(extractPathFromURL(['scheme://'], 'foo:///some/path')).toBeUndefined(); ++ ++ expect(extractPathFromURL(['scheme:///'], 'foo:some/path')).toBeUndefined(); ++ ++ expect(extractPathFromURL(['scheme:'], 'foo:some/path')).toBeUndefined(); ++ ++ expect(extractPathFromURL(['scheme:'], 'foo://some/path')).toBeUndefined(); ++ ++ expect(extractPathFromURL(['scheme:'], 'foo:///some/path')).toBeUndefined(); ++}); ++ ++test('returns undefined for non-matching path', () => { ++ expect( ++ extractPathFromURL(['scheme://foo'], 'scheme://some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme://foo'], 'scheme:some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme://foo'], 'scheme:///some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:///foo'], 'scheme:some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:foo'], 'scheme:some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:foo'], 'scheme://some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:foo'], 'scheme:///some/path') ++ ).toBeUndefined(); ++}); ++ ++test('returns undefined for non-matching host', () => { ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme://foo.com/some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme:foo.com/some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme://example.com'], 'scheme:///foo.com/some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:///example.com'], 'scheme:foo.com/some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:example.com'], 'scheme:foo.com/some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:example.com'], 'scheme://foo.com/some/path') ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL(['scheme:example.com'], 'scheme:///foo.com/some/path') ++ ).toBeUndefined(); ++}); ++ ++test('returns undefined for non-matching host with wildcard', () => { ++ expect( ++ extractPathFromURL( ++ ['scheme://*.example.com'], ++ 'scheme://test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme://*.example.com'], ++ 'scheme:test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme://*.example.com'], ++ 'scheme:///test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:///*.example.com'], ++ 'scheme:test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:*.example.com'], ++ 'scheme:test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:*.example.com'], ++ 'scheme://test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++ ++ expect( ++ extractPathFromURL( ++ ['scheme:*.example.com'], ++ 'scheme:///test.foo.com/some/path' ++ ) ++ ).toBeUndefined(); ++}); ++ ++test('returns a valid search query when it has a url as param', () => { ++ expect( ++ extractPathFromURL( ++ ['https://mysite.com'], ++ 'https://mysite.com/readPolicy?url=https://test.com' ++ ) ++ ).toBe('/readPolicy?url=https://test.com'); ++ ++ expect( ++ extractPathFromURL( ++ ['https://mysite.com'], ++ 'https://mysite.com/readPolicy?url=https://test.com?param=1' ++ ) ++ ).toBe('/readPolicy?url=https://test.com?param=1'); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/useLinkBuilder.test.tsx b/node_modules/@react-navigation/native/src/__tests__/useLinkBuilder.test.tsx +new file mode 100644 +index 0000000..fcf578d --- /dev/null -+++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js -@@ -0,0 +1,6 @@ -+import { findFocusedRoute } from '@react-navigation/core'; -+export const findFocusedRouteKey = state => { -+ var _findFocusedRoute; -+ // @ts-ignore -+ return (_findFocusedRoute = findFocusedRoute(state)) === null || _findFocusedRoute === void 0 ? void 0 : _findFocusedRoute.key; ++++ b/node_modules/@react-navigation/native/src/__tests__/useLinkBuilder.test.tsx +@@ -0,0 +1,330 @@ ++import { expect, test } from '@jest/globals'; ++import { NavigationRouteContext } from '@react-navigation/core'; ++import { render } from '@testing-library/react-native'; ++ ++import { createStackNavigator } from '../__stubs__/createStackNavigator'; ++import { NavigationContainer } from '../NavigationContainer'; ++import { useLinkBuilder } from '../useLinkBuilder'; ++ ++const config = { ++ prefixes: ['https://example.com'], ++ config: { ++ screens: { ++ Foo: { ++ path: 'foo', ++ screens: { ++ Bar: 'bar/:id', ++ }, ++ }, ++ }, ++ }, ++ getInitialURL() { ++ return null; ++ }, +}; -diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js -index d30009f..42da1ab 100644 ---- a/node_modules/@react-navigation/native/lib/module/useLinking.js -+++ b/node_modules/@react-navigation/native/lib/module/useLinking.js -@@ -4,6 +4,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP ++ ++test('builds href outside of a navigator', () => { ++ expect.assertions(1); ++ ++ const Root = () => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Foo'); ++ ++ expect(href).toBe('/foo'); ++ ++ return null; ++ }; ++ ++ render( ++ ++ ++ ++ ); ++}); ++ ++test('builds href in navigator layout', () => { ++ expect.assertions(1); ++ ++ const Test = ({ children }: { children: React.ReactNode }) => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Foo'); ++ ++ expect(href).toBe('/foo'); ++ ++ return children; ++ }; ++ ++ const Stack = createStackNavigator<{ Foo: undefined }>(); ++ ++ render( ++ ++ {children}}> ++ {() => null} ++ ++ ++ ); ++}); ++ ++test('builds href in route context', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Foo'); ++ ++ expect(href).toBe('/foo'); ++ ++ return null; ++ }; ++ ++ const Stack = createStackNavigator<{ Foo: undefined }>(); ++ ++ render( ++ ++ ( ++ r.name === 'Foo')} ++ > ++ ++ ++ )} ++ > ++ {() => null} ++ ++ ++ ); ++}); ++ ++test('builds href in stack navigator screen', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Foo'); ++ ++ expect(href).toBe('/foo'); ++ ++ return null; ++ }; ++ ++ const StackA = createStackNavigator<{ Foo: undefined }>(); ++ ++ render( ++ ++ ++ ++ ++ ++ ); ++}); ++ ++test('builds href in nested navigator layout', () => { ++ expect.assertions(1); ++ ++ const Test = ({ children }: { children: React.ReactNode }) => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Bar', { id: '42' }); ++ ++ expect(href).toBe('/foo/bar/42'); ++ ++ return children; ++ }; ++ ++ const StackA = createStackNavigator<{ Foo: undefined }>(); ++ const StackB = createStackNavigator<{ Bar: { id: string } }>(); ++ ++ render( ++ ++ ++ ++ {() => ( ++ {children}} ++ > ++ {() => null} ++ ++ )} ++ ++ ++ ++ ); ++}); ++ ++test('builds href in nested route context', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Bar', { id: '42' }); ++ ++ expect(href).toBe('/foo/bar/42'); ++ ++ return null; ++ }; ++ ++ const StackA = createStackNavigator<{ Foo: undefined }>(); ++ const StackB = createStackNavigator<{ Bar: { id: string } }>(); ++ ++ render( ++ ++ ++ ++ {() => ( ++ ( ++ r.name === 'Bar')} ++ > ++ ++ ++ )} ++ > ++ {() => null} ++ ++ )} ++ ++ ++ ++ ); ++}); ++ ++test('builds href in nested navigator screen', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildHref } = useLinkBuilder(); ++ ++ const href = buildHref('Bar', { id: '42' }); ++ ++ expect(href).toBe('/foo/bar/42'); ++ ++ return null; ++ }; ++ ++ const StackA = createStackNavigator<{ Foo: undefined }>(); ++ const StackB = createStackNavigator<{ Bar: { id: string } }>(); ++ ++ render( ++ ++ ++ ++ {() => ( ++ ++ ++ ++ )} ++ ++ ++ ++ ); ++}); ++ ++test('builds action from href outside of a navigator', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildAction } = useLinkBuilder(); ++ ++ const action = buildAction('/foo'); ++ ++ expect(action).toEqual({ ++ type: 'NAVIGATE', ++ payload: { ++ name: 'Foo', ++ path: '/foo', ++ params: {}, ++ pop: true, ++ }, ++ }); ++ ++ return null; ++ }; ++ ++ render( ++ ++ ++ ++ ); ++}); ++ ++test('builds action from href in navigator screen', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildAction } = useLinkBuilder(); ++ ++ const action = buildAction('/foo'); ++ ++ expect(action).toEqual({ ++ type: 'NAVIGATE', ++ payload: { ++ name: 'Foo', ++ path: '/foo', ++ params: {}, ++ pop: true, ++ }, ++ }); ++ ++ return null; ++ }; ++ ++ const Stack = createStackNavigator<{ Foo: undefined }>(); ++ ++ render( ++ ++ ++ ++ ++ ++ ); ++}); ++ ++test('builds action from href in nested navigator', () => { ++ expect.assertions(1); ++ ++ const Test = () => { ++ const { buildAction } = useLinkBuilder(); ++ ++ const action = buildAction('/foo/bar/42'); ++ ++ expect(action).toEqual({ ++ type: 'NAVIGATE', ++ payload: { ++ name: 'Foo', ++ params: { ++ initial: true, ++ screen: 'Bar', ++ params: { id: '42' }, ++ path: '/foo/bar/42', ++ }, ++ pop: true, ++ }, ++ }); ++ ++ return null; ++ }; ++ ++ const StackA = createStackNavigator<{ Foo: undefined }>(); ++ const StackB = createStackNavigator<{ Bar: { id: string } }>(); ++ ++ render( ++ ++ ++ ++ {() => ( ++ ++ ++ ++ )} ++ ++ ++ ++ ); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/useLinking.test.tsx b/node_modules/@react-navigation/native/src/__tests__/useLinking.test.tsx +new file mode 100644 +index 0000000..6bbbf44 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/useLinking.test.tsx +@@ -0,0 +1,72 @@ ++import { expect, jest, test } from '@jest/globals'; ++import { ++ createNavigationContainerRef, ++ type ParamListBase, ++} from '@react-navigation/core'; ++import { render, type RenderAPI } from '@testing-library/react-native'; ++ ++import { useLinking } from '../useLinking'; ++ ++test('throws if multiple instances of useLinking are used', () => { ++ const ref = createNavigationContainerRef(); ++ ++ const options = { prefixes: [] }; ++ ++ function Sample() { ++ useLinking(ref, options, () => {}); ++ useLinking(ref, options, () => {}); ++ return null; ++ } ++ ++ const spy = jest.spyOn(console, 'error').mockImplementation(() => {}); ++ ++ let element: RenderAPI | undefined; ++ ++ element = render(); ++ ++ expect(spy).toHaveBeenCalledTimes(1); ++ expect(spy.mock.calls[0][0]).toMatch( ++ 'Looks like you have configured linking in multiple places.' ++ ); ++ ++ element?.unmount(); ++ ++ function A() { ++ useLinking(ref, options, () => {}); ++ return null; ++ } ++ ++ function B() { ++ useLinking(ref, options, () => {}); ++ return null; ++ } ++ ++ element = render( ++ <> ++ ++ ++ ++ ); ++ ++ expect(spy).toHaveBeenCalledTimes(2); ++ expect(spy.mock.calls[1][0]).toMatch( ++ 'Looks like you have configured linking in multiple places.' ++ ); ++ ++ element?.unmount(); ++ ++ function Sample2() { ++ useLinking(ref, options, () => {}); ++ return null; ++ } ++ ++ const wrapper2 = ; ++ ++ render(wrapper2).unmount(); ++ ++ render(wrapper2); ++ ++ expect(spy).toHaveBeenCalledTimes(2); ++ ++ element?.unmount(); ++}); +diff --git a/node_modules/@react-navigation/native/src/__tests__/useRoutePath.test.tsx b/node_modules/@react-navigation/native/src/__tests__/useRoutePath.test.tsx +new file mode 100644 +index 0000000..7553ff6 +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/__tests__/useRoutePath.test.tsx +@@ -0,0 +1,120 @@ ++import { expect, test } from '@jest/globals'; ++import { ++ createNavigationContainerRef, ++ NavigationRouteContext, ++ type NavigatorScreenParams, ++} from '@react-navigation/core'; ++import { act, render, screen } from '@testing-library/react-native'; ++import * as React from 'react'; ++ ++import { createStackNavigator } from '../__stubs__/createStackNavigator'; ++import { NavigationContainer } from '../NavigationContainer'; ++import { useRoutePath } from '../useRoutePath'; ++ ++const config = { ++ prefixes: ['https://example.com'], ++ config: { ++ screens: { ++ a: { ++ path: 'foo', ++ screens: { ++ b: 'bar/:id', ++ c: { ++ path: 'baz', ++ exact: true, ++ }, ++ }, ++ }, ++ b: 'qux', ++ }, ++ }, ++ getInitialURL() { ++ return null; ++ }, ++}; ++ ++const Test = () => { ++ const route = React.useContext(NavigationRouteContext); ++ const path = useRoutePath(); ++ ++ return `${route?.name}: ${path}`; ++}; ++ ++test('throws when not rendered inside a screen', () => { ++ expect(() => { ++ render( ++ ++ ++ ++ ); ++ }).toThrow( ++ "Couldn't find a state for the route object. Is your component inside a screen in a navigator?" ++ ); ++}); ++ ++test('gets path for route in root navigator screen', () => { ++ type RootStackParamList = { ++ a: undefined; ++ b: { count: number }; ++ }; ++ ++ const Stack = createStackNavigator(); ++ ++ const navigation = createNavigationContainerRef(); ++ ++ render( ++ ++ ++ ++ ++ ++ ++ ); ++ ++ expect(screen).toMatchInlineSnapshot(`"a: /foo"`); ++ ++ act(() => navigation.navigate('b', { count: 42 })); ++ ++ expect(screen).toMatchInlineSnapshot(`"b: /qux?count=42"`); ++}); ++ ++test('gets path for route in nested navigator screen', () => { ++ type AStackParamList = { ++ a: NavigatorScreenParams; ++ }; ++ ++ type BStackParamList = { ++ b: { id: string }; ++ c: undefined; ++ }; ++ ++ const StackA = createStackNavigator(); ++ const StackB = createStackNavigator(); ++ ++ const navigation = createNavigationContainerRef(); ++ ++ render( ++ ++ ++ ++ {() => ( ++ ++ ++ ++ ++ )} ++ ++ ++ ++ ); ++ ++ expect(screen).toMatchInlineSnapshot(`"b: /foo/bar/apple"`); ++ ++ act(() => navigation.navigate('a', { screen: 'c' })); ++ ++ expect(screen).toMatchInlineSnapshot(`"c: /baz"`); ++}); +diff --git a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx +index 1568263..837baa7 100644 +--- a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx ++++ b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx +@@ -1,6 +1,8 @@ + import type { NavigationState } from '@react-navigation/core'; + import { nanoid } from 'nanoid/non-secure'; + ++import { findFocusedRouteKey } from './findFocusedRouteKey'; ++ + type HistoryRecord = { + // Unique identifier for this record to match it with window.history.state + id: string; +@@ -28,7 +30,11 @@ export function createMemoryHistory() { + }); + }; + +- const history = { ++ return { ++ get items(): HistoryRecord[] { ++ return items; ++ }, ++ + get index(): number { + // We store an id in the state instead of an index + // Index could get out of sync with in-memory values if page reloads +@@ -47,12 +53,15 @@ export function createMemoryHistory() { + return items[index]; + }, + +- backIndex({ path }: { path: string }) { ++ backIndex({ path, state }: { path: string; state: NavigationState }) { + // We need to find the index from the element before current to get closest path to go back to + for (let i = index - 1; i >= 0; i--) { + const item = items[i]; + +- if (item.path === path) { ++ if ( ++ item.path === path && ++ findFocusedRouteKey(item.state) === findFocusedRouteKey(state) ++ ) { + return i; + } + } +@@ -86,7 +95,7 @@ export function createMemoryHistory() { + + // Need to keep the hash part of the path if there was no previous history entry + // or the previous history entry had the same path +- let pathWithHash = path; ++ let pathWithHash = path.replace(/(\/{2,})/g, '/'); + const hash = pathWithHash.includes('#') ? '' : location.hash; + + if (!items.length || items.findIndex((item) => item.id === id) < 0) { +@@ -224,6 +233,4 @@ export function createMemoryHistory() { + return () => window.removeEventListener('popstate', onPopState); + }, + }; +- +- return history; + } +diff --git a/node_modules/@react-navigation/native/src/findFocusedRouteKey.ts b/node_modules/@react-navigation/native/src/findFocusedRouteKey.ts +new file mode 100644 +index 0000000..5eae62d +--- /dev/null ++++ b/node_modules/@react-navigation/native/src/findFocusedRouteKey.ts +@@ -0,0 +1,7 @@ ++import { findFocusedRoute } from '@react-navigation/core'; ++import type { InitialState } from '@react-navigation/routers'; ++ ++export function findFocusedRouteKey(state: InitialState) { ++ const focusedRoute = findFocusedRoute(state); ++ return focusedRoute?.key; ++} +diff --git a/node_modules/@react-navigation/native/src/useLinking.tsx b/node_modules/@react-navigation/native/src/useLinking.tsx +index a33b493..395803f 100644 +--- a/node_modules/@react-navigation/native/src/useLinking.tsx ++++ b/node_modules/@react-navigation/native/src/useLinking.tsx +@@ -6,12 +6,14 @@ import { + type NavigationContainerRef, + type NavigationState, + type ParamListBase, ++ type PartialState, + useNavigationIndependentTree, + } from '@react-navigation/core'; import isEqual from 'fast-deep-equal'; import * as React from 'react'; - import { createMemoryHistory } from "./createMemoryHistory.js"; + + import { createMemoryHistory } from './createMemoryHistory'; +import { findFocusedRouteKey } from './findFocusedRouteKey'; - import { ServerContext } from "./ServerContext.js"; - /** - * Find the matching navigation state that changed between 2 navigation states -@@ -45,6 +46,44 @@ export const series = cb => { - return callback; - }; - const linkingHandlers = []; -+const getAllStateKeys = state => { -+ let current = state; -+ const keys = []; + import { ServerContext } from './ServerContext'; + import type { LinkingOptions } from './types'; + +@@ -71,6 +73,56 @@ export const series = (cb: () => Promise) => { + + const linkingHandlers: symbol[] = []; + ++function getAllStateKeys( ++ state: NavigationState | PartialState ++) { ++ const current = state; ++ const keys: (string | undefined)[] = []; + if (current.routes) { -+ for (let route of current.routes) { ++ for (const route of current.routes) { + keys.push(route.key); + if (route.state) { -+ // @ts-ignore + keys.push(...getAllStateKeys(route.state)); -+ } + } + } ++ } + return keys; -+}; -+const getStaleHistoryDiff = (items, newState) => { ++} ++ ++function getStaleHistoryDiff(items: string | any[], newState: NavigationState) { + const newStateKeys = getAllStateKeys(newState); + for (let i = items.length - 1; i >= 0; i--) { + const itemFocusedKey = findFocusedRouteKey(items[i].state); + if (newStateKeys.includes(itemFocusedKey)) { + return items.length - i - 1; -+ } + } ++ } + return -1; -+}; -+const getHistoryDeltaByKeys = (focusedState, previousFocusedState) => { -+ const focusedStateKeys = focusedState.routes.map(r => r.key); -+ const previousFocusedStateKeys = previousFocusedState.routes.map(r => r.key); -+ const minLength = Math.min(focusedStateKeys.length, previousFocusedStateKeys.length); ++} ++ ++function getHistoryDeltaByKeys( ++ focusedState: { routes: { key: any }[] }, ++ previousFocusedState: { routes: { key: any }[] } ++) { ++ const focusedStateKeys = focusedState.routes.map((r: { key: any }) => r.key); ++ const previousFocusedStateKeys = previousFocusedState.routes.map( ++ (r: { key: any }) => r.key ++ ); ++ const minLength = Math.min( ++ focusedStateKeys.length, ++ previousFocusedStateKeys.length ++ ); + let matchingKeys = 0; + for (let i = 0; i < minLength; i++) { + if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { + matchingKeys++; -+ } else { ++ } else { + break; -+ } + } ++ } + return -(previousFocusedStateKeys.length - matchingKeys); -+}; - export function useLinking(ref, { - enabled = true, - config, -@@ -256,6 +295,9 @@ export function useLinking(ref, { - // Otherwise it's likely a change triggered by `popstate` - path !== pendingPath) { - const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); ++} + + type Options = LinkingOptions; + + export function useLinking( +@@ -388,6 +440,12 @@ export function useLinking( + ? previousFocusedState.history.length + : previousFocusedState.routes.length); + + // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state -+ const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); ++ const historyDeltaByKeys = getHistoryDeltaByKeys( ++ focusedState, ++ previousFocusedState ++ ); ++ if (historyDelta > 0) { // If history length is increased, we should pushState // Note that path might not actually change here, for example, drawer open should pushState -@@ -267,7 +309,8 @@ export function useLinking(ref, { +@@ -395,7 +453,7 @@ export function useLinking( + } else if (historyDelta < 0) { // If history length is decreased, i.e. entries were removed, we want to go back - - const nextIndex = history.backIndex({ -- path -+ path, -+ state - }); + +- const nextIndex = history.backIndex({ path }); ++ const nextIndex = history.backIndex({ path, state }); const currentIndex = history.index; + try { -@@ -276,27 +319,42 @@ export function useLinking(ref, { - history.get(nextIndex)) { +@@ -407,11 +465,17 @@ export function useLinking( + ) { // An existing entry for this path exists and it's less than current index, go back to that await history.go(nextIndex - currentIndex); -+ history.replace({ -+ path, -+ state -+ }); ++ history.replace({ path, state }); } else { // We couldn't find an existing entry to go back to, so we'll go back by the delta // This won't be correct if multiple routes were pushed in one go before @@ -102,109 +3610,60 @@ index d30009f..42da1ab 100644 - await history.go(historyDelta); + await history.go(historyDeltaByKeys); + if (historyDeltaByKeys + 1 === historyDelta) { -+ history.push({ -+ path, -+ state -+ }); -+ } else { -+ history.replace({ -+ path, -+ state -+ }); -+ } - } -- -- // Store the updated state as well as fix the path if incorrect -- history.replace({ -- path, -- state -- }); -- } catch (e) { -- // The navigation was interrupted -- } -- } else { -- // If history length is unchanged, we want to replaceState -- history.replace({ -- path, -- state -- }); -+ // and remove any entries from history which focued route no longer exists in state -+ // That may happen if we replace a whole navigator. -+ const staleHistoryDiff = getStaleHistoryDiff(history.items.slice(0, history.index + 1), state); -+ if (staleHistoryDiff <= 0) { -+ history.replace({ -+ path, -+ state -+ }); ++ history.push({ path, state }); + } else { -+ await history.go(-staleHistoryDiff); -+ history.push({ -+ path, -+ state -+ }); ++ history.replace({ path, state }); + } + } + + // Store the updated state as well as fix the path if incorrect +@@ -421,7 +485,19 @@ export function useLinking( + } + } else { + // If history length is unchanged, we want to replaceState +- history.replace({ path, state }); ++ // and remove any entries from history which focused route no longer exists in state ++ // That may happen if we replace a whole navigator. ++ ++ const staleHistoryDiff = getStaleHistoryDiff( ++ history.items.slice(0, history.index + 1), ++ state ++ ); ++ if (staleHistoryDiff <= 0) { ++ history.replace({ path, state }); ++ } else { ++ await history.go(-staleHistoryDiff); ++ history.push({ path, state }); ++ } } } else { // If no common navigation state was found, assume it's a replace -diff --git a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx -index 1568263..7d57c39 100644 ---- a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx -+++ b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx -@@ -13,7 +13,21 @@ type HistoryRecord = { - export function createMemoryHistory() { - let index = 0; - let items: HistoryRecord[] = []; -- -+ const log = () => { -+ console.log(JSON.stringify({ -+ index, -+ indexGetter: history.index, -+ items: items.map((item, i) => { -+ var _item$state; -+ return { -+ selected: history.index === i ? '<<<<<<<' : undefined, -+ path: item.path, -+ id: item.id, -+ state: ((_item$state = item.state) === null || _item$state === void 0 ? void 0 : _item$state.key) || null -+ }; -+ }) -+ }, null, 4)); -+ }; - // Pending callbacks for `history.go(n)` - // We might modify the callback stored if it was interrupted, so we have a ref to identify it - const pending: { ref: unknown; cb: (interrupted?: boolean) => void }[] = []; -@@ -29,6 +43,9 @@ export function createMemoryHistory() { - }; - - const history = { -+ get items() { -+ return items; -+ }, - get index(): number { - // We store an id in the state instead of an index - // Index could get out of sync with in-memory values if page reloads -@@ -77,6 +94,7 @@ export function createMemoryHistory() { - // - browsers have limits on how big it can be, and we don't control the size - // - while not recommended, there could be non-serializable data in state - window.history.pushState({ id }, '', path); -+ // log(); - }, - - replace({ path, state }: { path: string; state: NavigationState }) { -@@ -86,7 +104,7 @@ export function createMemoryHistory() { - - // Need to keep the hash part of the path if there was no previous history entry - // or the previous history entry had the same path -- let pathWithHash = path; -+ let pathWithHash = path.replace(/(\/{2,})/g, '/'); - const hash = pathWithHash.includes('#') ? '' : location.hash; - - if (!items.length || items.findIndex((item) => item.id === id) < 0) { -@@ -108,6 +126,7 @@ export function createMemoryHistory() { - } - - window.history.replaceState({ id }, '', pathWithHash); -+ // log(); - }, - - // `history.go(n)` is asynchronous, there are couple of things to keep in mind: +diff --git a/node_modules/@react-navigation/native/tsconfig.build.json b/node_modules/@react-navigation/native/tsconfig.build.json +new file mode 100644 +index 0000000..543a787 +--- /dev/null ++++ b/node_modules/@react-navigation/native/tsconfig.build.json +@@ -0,0 +1,6 @@ ++{ ++ "extends": "./tsconfig", ++ "compilerOptions": { ++ "paths": {} ++ } ++} +diff --git a/node_modules/@react-navigation/native/tsconfig.json b/node_modules/@react-navigation/native/tsconfig.json +new file mode 100644 +index 0000000..066034d +--- /dev/null ++++ b/node_modules/@react-navigation/native/tsconfig.json +@@ -0,0 +1,11 @@ ++{ ++ "extends": "../../tsconfig", ++ "references": [ ++ { "path": "../core" }, ++ { "path": "../routers" } ++ ], ++ "compilerOptions": { ++ "rootDir": ".", ++ "outDir": "./lib/typescript" ++ } ++} diff --git a/patches/@react-navigation+stack+7.3.3+001+initial.patch b/patches/@react-navigation+stack+7.3.3+001+initial.patch deleted file mode 100644 index 1c342644d1edf..0000000000000 --- a/patches/@react-navigation+stack+7.3.3+001+initial.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff --git a/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js -new file mode 100644 -index 0000000..b20528b ---- /dev/null -+++ b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js -@@ -0,0 +1,44 @@ -+let isInitialized = false; -+let justFinishedEdgeGestureFromLeft = false; -+let expectingTouchend = false; -+ -+/// This returns information if the user just performed edge gesture on iOS safari to navigate in the browser history. -+export const getIsEdgeDragGesture = () => { -+return expectingTouchend || justFinishedEdgeGestureFromLeft; -+}; -+ -+// We need to manualy reset this flag after deciding if there should be animation for navigation. -+export const resetExpectingTouchendWithDelay = () => { -+ setTimeout(() => { -+ expectingTouchend = false; -+ }, 100); -+}; -+ -+export const maybeInitializeEdgeDragGestureMonitor = () => { -+ if (isInitialized) { -+ return; -+ } -+ isInitialized = true; -+ let timer; -+ // Gestures that would trigger navigation forward are broken on iOS safari. -+ // They don't have touchend event fired so we can look at expectingTouchEnd flag to detect if we should run animation. -+ -+ const handleTouchStart = () => { -+ expectingTouchend = true; -+ }; -+ const handleTouchEnd = e => { -+ var _e$changedTouches$; -+ const pageX = (_e$changedTouches$ = e.changedTouches[0]) === null || _e$changedTouches$ === void 0 ? void 0 : _e$changedTouches$.pageX; -+ // PageX for gesture that would trigger navigation back is negative. -+ if (pageX < 0) { -+ if (timer) { -+ clearTimeout(timer); -+ } -+ justFinishedEdgeGestureFromLeft = true; -+ timer = setTimeout(() => justFinishedEdgeGestureFromLeft = false, 100); -+ } -+ expectingTouchend = false; -+ }; -+ document.addEventListener('touchstart', handleTouchStart); -+ document.addEventListener('touchend', handleTouchEnd); -+}; -diff --git a/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js -new file mode 100644 -index 0000000..668d198 ---- /dev/null -+++ b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js -@@ -0,0 +1,5 @@ -+// We don't need edgeDragGestureMonitor for native platforms. -+ -+export const getIsEdgeDragGesture = () => false; -+export const resetExpectingTouchendWithDelay = () => {}; -+export const maybeInitializeEdgeDragGestureMonitor = () => {}; -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -index e8e6e90..c253575 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -@@ -4,6 +4,7 @@ import Color from 'color'; - import * as React from 'react'; - import { Animated, InteractionManager, Platform, StyleSheet, View } from 'react-native'; - import { CardAnimationContext } from "../../utils/CardAnimationContext.js"; -+import { getIsEdgeDragGesture, resetExpectingTouchendWithDelay } from '../../utils/edgeDragGestureMonitor'; - import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; - import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js"; - import { getShadowStyle } from "../../utils/getShadowStyle.js"; -@@ -130,6 +131,8 @@ export class Card extends React.Component { - }); - animation(gesture, { - ...spec.config, -+ // Detecting if the user used swipe gesture on iOS safari to trigger navigation in the browser history. -+ toValue,duration: getIsEdgeDragGesture() ? 0 : spec.config.duration, - velocity, - toValue, - useNativeDriver, -@@ -139,6 +142,8 @@ export class Card extends React.Component { - }) => { - this.handleEndInteraction(); - clearTimeout(this.pendingGestureCallback); -+ // We need to reset edgeDragGestureMonitor manualy because of broken events on iOS safari. -+ resetExpectingTouchendWithDelay(); - if (finished) { - if (closing) { - onClose(); -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -index c2240e8..7511fb0 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -@@ -3,7 +3,7 @@ - import { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements'; - import { useLinkBuilder, useLocale, useTheme } from '@react-navigation/native'; - import * as React from 'react'; --import { StyleSheet, View } from 'react-native'; -+import { Platform, StyleSheet, View } from 'react-native'; - import { ModalPresentationContext } from "../../utils/ModalPresentationContext.js"; - import { useKeyboardManager } from "../../utils/useKeyboardManager.js"; - import { Card } from "./Card.js"; -@@ -229,7 +229,8 @@ function CardContainerInner({ - display: - // Hide unfocused screens when animation isn't enabled - // This is also necessary for a11y on web -- animation === 'none' && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex' -+ animation === 'none' && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex', -+ zIndex: Platform.OS === 'web' ? 'auto' : undefined - }, StyleSheet.absoluteFill], - children: /*#__PURE__*/_jsx(View, { - style: styles.container, -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 9885b25..df0d72a 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -@@ -5,6 +5,7 @@ import * as React from 'react'; - import { Animated, Platform, StyleSheet, View } from 'react-native'; - import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from "../../TransitionConfigs/CardStyleInterpolators.js"; - import { BottomSheetAndroid, DefaultTransition, FadeFromBottomAndroid, FadeFromRightAndroid, ModalFadeTransition, ModalSlideFromBottomIOS, ModalTransition, RevealFromBottomAndroid, ScaleFromCenterAndroid, SlideFromLeftIOS, SlideFromRightIOS } from "../../TransitionConfigs/TransitionPresets.js"; -+import { maybeInitializeEdgeDragGestureMonitor } from '../../utils/edgeDragGestureMonitor'; - import { findLastIndex } from "../../utils/findLastIndex.js"; - import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; - import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js"; -@@ -203,6 +204,8 @@ export class CardStack extends React.Component { - } - constructor(props) { - super(props); -+ // Gesture monitor is only needed on iOS safari to detect if the user performed edge swipe gesture to to navigate in the browser history. -+ maybeInitializeEdgeDragGestureMonitor(); - this.state = { - routes: [], - scenes: [], -@@ -396,6 +399,10 @@ export class CardStack extends React.Component { - extrapolate: 'clamp' - }) : STATE_TRANSITIONING_OR_BELOW_TOP; - } -+ -+ const shouldNotDetachScreen = route?.dontDetachScreen && isScreenActive !== STATE_ON_TOP; -+ -+ - const { - headerShown = true, - headerTransparent, -@@ -416,7 +423,7 @@ export class CardStack extends React.Component { - return /*#__PURE__*/_jsx(MaybeScreen, { - style: [StyleSheet.absoluteFill], - enabled: detachInactiveScreens, -- active: isScreenActive, -+ active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : isScreenActive, - freezeOnBlur: freezeOnBlur, - shouldFreeze: isScreenActive === STATE_INACTIVE && !isPreloaded, - homeIndicatorHidden: autoHideHomeIndicator, -@@ -451,7 +458,7 @@ export class CardStack extends React.Component { - onTransitionStart: onTransitionStart, - onTransitionEnd: onTransitionEnd, - isNextScreenTransparent: isNextScreenTransparent, -- detachCurrentScreen: detachCurrentScreen, -+ detachCurrentScreen: shouldNotDetachScreen ? false : detachCurrentScreen, - preloaded: isPreloaded - }) - }, route.key); From fa76e30819001fa64d09a81a5e00e944b997de5a Mon Sep 17 00:00:00 2001 From: staszekscp Date: Fri, 6 Jun 2025 08:34:20 +0200 Subject: [PATCH 22/61] Fix typing of useNavigationBuilder --- ...10.0+001+platform-navigation-stack-types.patch | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch index 52333fc1e312d..b1d85c959a5e0 100644 --- a/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch @@ -104,10 +104,10 @@ index aababc4..ebbae11 100644 -{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} +{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAUR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,MAAM,QAAQ,aAAU;AACjC,SAMEC,iBAAiB,QAEZ,YAAS;AAChB,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAAsCC,cAAc,QAAQ,qBAAkB;AAC9E,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,iBAAiB,QAAQ,wBAAqB;;AAEvD;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACAlB,iBAAiB;AAOjB,MAAMmB,QAAQ,GACZC,KAAkC,IAI9B;EACJ,OAAOA,KAAK,CAACC,IAAI,KAAKtB,MAAM;AAC9B,CAAC;AAED,MAAMuB,OAAO,GACXF,KAAkC,IAM9B;EACJ,OAAOA,KAAK,CAACC,IAAI,KAAKjC,KAAK,CAACmC,QAAQ,IAAIH,KAAK,CAACC,IAAI,KAAK7B,KAAK;AAC9D,CAAC;AAED,MAAMgC,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAGA,CAMlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAKY,EACZC,WAKW,KACR;EACH,MAAMC,OAAO,GAAG5C,KAAK,CAAC6C,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC,CAACO,MAAM,CAErD,CAACC,GAAG,EAAEhB,KAAK,KAAK;IAChB,iBAAIhC,KAAK,CAACiD,cAAc,CAACjB,KAAK,CAAC,EAAE;MAC/B,IAAID,QAAQ,CAACC,KAAK,CAAC,EAAE;QACnB;QACA;;QAEA,IAAI,OAAOA,KAAK,CAACkB,KAAK,KAAK,QAAQ,IAAIlB,KAAK,CAACkB,KAAK,KAAK,IAAI,EAAE;UAC3D,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;QACvD;QAEA,IAAI,OAAOnB,KAAK,CAACkB,KAAK,CAACE,IAAI,KAAK,QAAQ,IAAIpB,KAAK,CAACkB,KAAK,CAACE,IAAI,KAAK,EAAE,EAAE;UACnE,MAAM,IAAID,KAAK,CACb,wBAAwBE,IAAI,CAACC,SAAS,CACpCtB,KAAK,CAACkB,KAAK,CAACE,IACd,CAAC,kDACH,CAAC;QACH;QAEA,IACEpB,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAKjB,SAAS,KACtC,OAAON,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAK,QAAQ,IAC5CvB,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAK,EAAE,CAAC,EACnC;UACA,MAAM,IAAIJ,KAAK,CACb,wCAAwCE,IAAI,CAACC,SAAS,CACpDtB,KAAK,CAACkB,KAAK,CAACK,aACd,CAAC,qBACCvB,KAAK,CAACkB,KAAK,CAACE,IAAI,kDAEpB,CAAC;QACH;QAEAJ,GAAG,CAACQ,IAAI,CAAC;UACPC,IAAI,EAAE,CAAChB,QAAQ,EAAET,KAAK,CAACkB,KAAK,CAACK,aAAa,CAAC;UAC3CG,OAAO,EAAEhB,YAAY;UACrBiB,MAAM,EAAEhB,WAAW;UACnBO,KAAK,EAAElB,KAAK,CAACkB;QAQf,CAAC,CAAC;QAEF,OAAOF,GAAG;MACZ;MAEA,IAAId,OAAO,CAACF,KAAK,CAAC,EAAE;QAClB,IAAI,CAACI,UAAU,CAACJ,KAAK,CAACkB,KAAK,CAACK,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIJ,KAAK,CACb,wCAAwCE,IAAI,CAACC,SAAS,CACpDtB,KAAK,CAACkB,KAAK,CAACK,aACd,CAAC,gEACH,CAAC;QACH;;QAEA;QACA;QACAP,GAAG,CAACQ,IAAI,CACN,GAAGjB,2BAA2B,CAM5BP,KAAK,CAACkB,KAAK,CAACV,QAAQ,EACpBR,KAAK,CAACkB,KAAK,CAACK,aAAa;QACzB;QACA;QACAvB,KAAK,CAACC,IAAI,KAAK7B,KAAK,GAChBsC,YAAY,GACZA,YAAY,IAAI,IAAI,GAClB,CAAC,GAAGA,YAAY,EAAEV,KAAK,CAACkB,KAAK,CAACU,aAAa,CAAC,GAC5C,CAAC5B,KAAK,CAACkB,KAAK,CAACU,aAAa,CAAC,EACjC,OAAO5B,KAAK,CAACkB,KAAK,CAACW,YAAY,KAAK,UAAU,GAC1C7B,KAAK,CAACkB,KAAK,CAACW,YAAY,GACxBlB,WACN,CACF,CAAC;QAED,OAAOK,GAAG;MACZ;IACF;IAEA,MAAM,IAAIG,KAAK,CACb,oGACE,aAAAnD,KAAK,CAACiD,cAAc,CAACjB,KAAK,CAAC,GACvB,IACE,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAGD,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACC,IAAI,EAAEmB,IAAI,IAE9DpB,KAAK,CAACkB,KAAK,IAAI,IAAI,IACnB,OAAOlB,KAAK,CAACkB,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIlB,KAAK,CAACkB,KAAK,IACrBlB,KAAK,CAACkB,KAAK,EAAEE,IAAI,GACb,oBAAoBpB,KAAK,CAACkB,KAAK,CAACE,IAAI,GAAG,GACvC,EAAE,EACN,GACF,OAAOpB,KAAK,KAAK,QAAQ,GACvBqB,IAAI,CAACC,SAAS,CAACtB,KAAK,CAAC,GACrB,IAAI8B,MAAM,CAAC9B,KAAK,CAAC,GAAG,4FAE9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI+B,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCrB,OAAO,CAACsB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEf,IAAI;QAAEZ,QAAQ;QAAE4B,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAACjB,KAAK;MAEhE,IACEV,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIa,KAAK,CACb,6DAA6DC,IAAI,oCACnE,CAAC;QACH;QAEA,IAAIZ,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIa,KAAK,CACb,gEAAgEC,IAAI,oCACtE,CAAC;QACH;QAEA,IAAIgB,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIa,KAAK,CACb,iEAAiEC,IAAI,oCACvE,CAAC;QACH;QAEA,IAAIZ,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIW,KAAK,CACb,4DAA4DC,IAAI,qDAClE,CAAC;QACH;QAEA,IAAIgB,SAAS,KAAK9B,SAAS,IAAI,CAACrC,kBAAkB,CAACmE,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIjB,KAAK,CACb,6DAA6DC,IAAI,wCACnE,CAAC;QACH;QAEA,IAAIiB,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIlB,KAAK,CACb,gEAAgEC,IAAI,uDACtE,CAAC;QACH;QAEA,IAAI,OAAOgB,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAAChB,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAkB,OAAO,CAACC,IAAI,CACV,qFAAqFnB,IAAI,uRAC3F,CAAC;UACH,CAAC,MAAM,IAAI,QAAQ,CAACoB,IAAI,CAACJ,SAAS,CAAChB,IAAI,CAAC,EAAE;YACxCkB,OAAO,CAACC,IAAI,CACV,kCAAkCH,SAAS,CAAChB,IAAI,qBAAqBA,IAAI,yMAC3E,CAAC;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAID,KAAK,CACb,kFAAkFC,IAAI,qLACxF,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOR,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6B,oBAAoBA,CAQlCC,YAAmE,EACnEhB,OAQe,EACfiB,0BAGC,EACD;EACA,MAAMC,YAAY,GAAGjD,oBAAoB,CAAC,CAAC;EAE3C,MAAMkD,KAAK,GAAG7E,KAAK,CAAC8E,UAAU,CAACtE,sBAAsB,CAExC;EAEb,MAAM;IACJgC,QAAQ;IACRmB,MAAM;IACNC,aAAa;IACbC,YAAY;IACZkB,eAAe;IACfC,eAAe;IACf,GAAGC;EACL,CAAC,GAAGvB,OAAO;EAEX,MAAMwB,YAAY,GAAG3C,2BAA2B,CAK9CC,QAAQ,CAAC;EAEX,MAAM2C,MAAM,GAAG7D,YAAY,CAAqB,MAAM;IACpD,IACE2D,IAAI,CAACG,gBAAgB,IAAI,IAAI,IAC7BF,YAAY,CAACG,KAAK,CACflB,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACE,IAAI,KAAK6B,IAAI,CAACG,gBACzC,CAAC,EACD;MACA,MAAM,IAAIjC,KAAK,CACb,iCAAiC8B,IAAI,CAACG,gBAAgB,iCACxD,CAAC;IACH;IAEA,MAAME,QAAQ,GAAGZ,YAAY,CAACO,IAAgC,CAAC;IAE/D,IAAID,eAAe,IAAI,IAAI,EAAE;MAC3B,MAAMO,SAAS,GAAGP,eAAe,CAACM,QAAQ,CAAC;MAE3C,OAAO;QACL,GAAGA,QAAQ;QACX,GAAGC;MACL,CAAC;IACH;IAEA,OAAOD,QAAQ;EACjB,CAAC,CAAC;EAEF,MAAME,OAAO,GAAGN,YAAY,CAACnC,MAAM,CAUjC,CAACC,GAAG,EAAEmB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAACjB,KAAK,CAACE,IAAI,IAAIJ,GAAG,EAAE;MAC5B,MAAM,IAAIG,KAAK,CACb,6GAA6GgB,MAAM,CAACjB,KAAK,CAACE,IAAI,IAChI,CAAC;IACH;IAEAJ,GAAG,CAACmB,MAAM,CAACjB,KAAK,CAACE,IAAI,CAAC,GAAGe,MAAM;IAC/B,OAAOnB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMyC,UAAU,GAAGP,YAAY,CAACQ,GAAG,CAAEvB,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACE,IAAI,CAAC;EAClE,MAAMuC,YAAY,GAAGF,UAAU,CAAC1C,MAAM,CACpC,CAACC,GAAG,EAAE4C,IAAI,KAAK;IACb5C,GAAG,CAAC4C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACnC,IAAI,CAACiC,GAAG,CAAErD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACwD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO7C,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAM8C,cAAc,GAAGL,UAAU,CAAC1C,MAAM,CACtC,CAACC,GAAG,EAAE4C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;IAC7CF,GAAG,CAAC4C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAMgD,cAAc,GAAGP,UAAU,CAAC1C,MAAM,CAGtC,CAACC,GAAG,EAAE4C,IAAI,KACRK,MAAM,CAACC,MAAM,CAAClD,GAAG,EAAE;IACjB,CAAC4C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CACH,CAAC;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIjD,KAAK,CACb,4FACF,CAAC;EACH;EAEA,MAAMkD,YAAY,GAAGrG,KAAK,CAACsG,WAAW,CACnCC,KAAsD,IACrDA,KAAK,CAACtE,IAAI,KAAKK,SAAS,IAAIiE,KAAK,CAACtE,IAAI,KAAKkD,MAAM,CAAClD,IAAI,EACxD,CAACkD,MAAM,CAAClD,IAAI,CACd,CAAC;EAED,MAAMuE,kBAAkB,GAAGxG,KAAK,CAACsG,WAAW,CACzCC,KAAkE,IACjEA,KAAK,KAAKjE,SAAS,IAAIiE,KAAK,CAACE,KAAK,KAAK,KAAK,IAAIJ,YAAY,CAACE,KAAK,CAAC,EACrE,CAACF,YAAY,CACf,CAAC;EAED,MAAM;IACJE,KAAK,EAAEG,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAGjH,KAAK,CAAC8E,UAAU,CAACrE,sBAAsB,CAAC;EAE5C,MAAMyG,cAAc,GAAGlH,KAAK,CAACmH,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMN,QAAQ,GAAG3G,iBAAiB,CAC/BqG,KAAkE,IAAK;IACtE,IAAIW,cAAc,CAACE,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IAEAN,eAAe,CAACP,KAAK,CAAC;EACxB,CACF,CAAC;EAED,MAAM,CAACc,gBAAgB,EAAEC,0BAA0B,CAAC,GAAGtH,KAAK,CAACuH,OAAO,CAAC,MAAM;IACzE,MAAMC,qBAAqB,GAAG/B,UAAU,CAAC1C,MAAM,CAE7C,CAACC,GAAG,EAAE4C,IAAI,KAAK;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMuE,uBAAuB,GAC3B5C,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,IAC5B1B,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,IAChC9C,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAKhC,IAAI,GAC1Bf,KAAK,CAAC6C,MAAM,CAACA,MAAM,GACnBpF,SAAS;MAEfU,GAAG,CAAC4C,IAAI,CAAC,GACPG,aAAa,KAAKzD,SAAS,IAAImF,uBAAuB,KAAKnF,SAAS,GAChE;QACE,GAAGyD,aAAa;QAChB,GAAG0B;MACL,CAAC,GACDnF,SAAS;MAEf,OAAOU,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC0D,YAAY,KAAKpE,SAAS,IAAI,CAAC+D,YAAY,CAACK,YAAY,CAAC,KAC1D7B,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,IAC5B,EACE,OAAO1B,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAK,QAAQ,IACzC/C,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,CACjC,EACD;MACA,OAAO,CACLxC,MAAM,CAAC0C,eAAe,CAAC;QACrBpC,UAAU;QACVK,cAAc,EAAE0B,qBAAqB;QACrCxB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MACL,IAAI8B,eAAe;MAEnB,IAAIjD,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,EAAE;QAChCuB,eAAe,GAAGjD,KAAK,CAAC6C,MAAM,CAACnB,KAAK;MACtC,CAAC,MAAM,IACL,OAAO1B,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAK,QAAQ,IACzC/C,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,EAChC;QACAG,eAAe,GAAG;UAChBC,KAAK,EAAE,CAAC;UACRC,MAAM,EAAE,CACN;YACE5E,IAAI,EAAEyB,KAAK,CAAC6C,MAAM,CAACE,MAAM;YACzBF,MAAM,EAAE7C,KAAK,CAAC6C,MAAM,CAACA,MAAM;YAC3BO,IAAI,EAAEpD,KAAK,CAAC6C,MAAM,CAACO;UACrB,CAAC;QAEL,CAAC;MACH;MAEA,OAAO,CACL9C,MAAM,CAAC+C,kBAAkB,CACtBJ,eAAe,IAAIpB,YAAY,EAChC;QACEjB,UAAU;QACVK,cAAc,EAAE0B,qBAAqB;QACrCxB;MACF,CACF,CAAC,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACU,YAAY,EAAEvB,MAAM,EAAEkB,YAAY,CAAC,CAAC;EAExC,MAAM8B,uBAAuB,GAAGnI,KAAK,CAACmH,MAAM,CAACxB,YAAY,CAAC;EAE1D3F,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAACf,OAAO,GAAGzB,YAAY;EAChD,CAAC,CAAC;EAEF,MAAM0C,oBAAoB,GAAGF,uBAAuB,CAACf,OAAO;EAE5D,IAAIb,KAAK;EACP;EACA;EACA;EACAC,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZW,gBAA0B;EAEjC,IAAIiB,SAAgB,GAAG/B,KAAK;EAE5B,IACE,CAAClG,YAAY,CAACkG,KAAK,CAACd,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAACnF,aAAa,CAACqF,YAAY,EAAE0C,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAGnD,MAAM,CAACoD,2BAA2B,CAAChC,KAAK,EAAE;MACpDd,UAAU;MACVK,cAAc;MACdE,cAAc;MACdwC,eAAe,EAAEvC,MAAM,CAACxC,IAAI,CAACkC,YAAY,CAAC,CAAC8C,MAAM,CAC9CrF,IAAI,IACHA,IAAI,IAAIiF,oBAAoB,IAC5B1C,YAAY,CAACvC,IAAI,CAAC,KAAKiF,oBAAoB,CAACjF,IAAI,CACpD;IACF,CAAC,CAAC;EACJ;EAEA,MAAMsF,uBAAuB,GAAG1I,KAAK,CAACmH,MAAM,CAACtC,KAAK,EAAE6C,MAAM,CAAC;EAE3D1H,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpBM,uBAAuB,CAACtB,OAAO,GAAGvC,KAAK,EAAE6C,MAAM;EACjD,CAAC,EAAE,CAAC7C,KAAK,EAAE6C,MAAM,CAAC,CAAC;EAEnB,IAAI7C,KAAK,EAAE6C,MAAM,EAAE;IACjB,MAAMiB,cAAc,GAAGD,uBAAuB,CAACtB,OAAO;IAEtD,IAAIwB,MAAwC;IAE5C,IACE,OAAO/D,KAAK,CAAC6C,MAAM,CAACnB,KAAK,KAAK,QAAQ,IACtC1B,KAAK,CAAC6C,MAAM,CAACnB,KAAK,IAAI,IAAI,IAC1B1B,KAAK,CAAC6C,MAAM,KAAKiB,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG7I,aAAa,CAAC8I,KAAK,CAAChE,KAAK,CAAC6C,MAAM,CAACnB,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAO1B,KAAK,CAAC6C,MAAM,CAACE,MAAM,KAAK,QAAQ,KACrC/C,KAAK,CAAC6C,MAAM,CAACC,OAAO,KAAK,KAAK,IAAIL,0BAA0B,IAC5DzC,KAAK,CAAC6C,MAAM,KAAKiB,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG7I,aAAa,CAAC+I,QAAQ,CAAC;QAC9B1F,IAAI,EAAEyB,KAAK,CAAC6C,MAAM,CAACE,MAAM;QACzBF,MAAM,EAAE7C,KAAK,CAAC6C,MAAM,CAACA,MAAM;QAC3BO,IAAI,EAAEpD,KAAK,CAAC6C,MAAM,CAACO,IAAI;QACvBc,GAAG,EAAElE,KAAK,CAAC6C,MAAM,CAACqB;MACpB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBzD,MAAM,CAAC8D,iBAAiB,CAACX,SAAS,EAAEM,MAAM,EAAE;MAC1CnD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAERsC,SAAS,GACPU,YAAY,KAAK,IAAI,GACjB7D,MAAM,CAAC+C,kBAAkB,CAACc,YAAY,EAAE;MACtCvD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACFsC,SAAS;EACjB;EAEA,MAAMY,YAAY,GAAG3C,KAAK,KAAK+B,SAAS;EAExC1G,iBAAiB,CAAC,MAAM;IACtB,IAAIsH,YAAY,EAAE;MAChB;MACArC,QAAQ,CAACyB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA/B,KAAK,GAAG+B,SAAS;EAEjBtI,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpB;IACA;IACAlB,cAAc,CAACE,OAAO,GAAG,KAAK;IAE9BL,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,CAAC,CAAC,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACyB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA,IAAI1B,eAAe,CAAC,CAAC,KAAKtE,SAAS,IAAI0E,MAAM,CAAC,CAAC,KAAKpC,YAAY,EAAE;QAChEkC,eAAe,CAACxE,SAAS,CAAC;QAC1B4E,cAAc,CAACE,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA;EACA;EACA,MAAM+B,QAAQ,GAAGnJ,KAAK,CAACmH,MAAM,CAAeZ,KAAK,CAAC;EAElD4C,QAAQ,CAAC/B,OAAO,GAAGb,KAAK;EAExBnF,yBAAyB,CAAC,MAAM;IAC9B+H,QAAQ,CAAC/B,OAAO,GAAG,IAAI;EACzB,CAAC,CAAC;EAEF,MAAMT,QAAQ,GAAGzG,iBAAiB,CAAC,MAAa;IAC9C,MAAMwG,YAAY,GAAGE,eAAe,CAAC,CAAC;IAEtC,OAAOzG,UAAU,CACdqG,kBAAkB,CAACE,YAAY,CAAC,GAC7BA,YAAY,GACZW,gBACN,CAAC;EACH,CAAC,CAAC;EAEF,MAAM+B,OAAO,GAAGnI,eAAe,CAAuBoI,CAAC,IAAK;IAC1D,MAAM5D,UAAU,GAAG,EAAE;IAErB,IAAIZ,KAAgC;IAEpC,IAAIwE,CAAC,CAACC,MAAM,EAAE;MACZzE,KAAK,GAAG0B,KAAK,CAACyB,MAAM,CAACuB,IAAI,CAAE1E,KAAK,IAAKA,KAAK,CAACxC,GAAG,KAAKgH,CAAC,CAACC,MAAM,CAAC;MAE5D,IAAIzE,KAAK,EAAEzB,IAAI,EAAE;QACfqC,UAAU,CAACjC,IAAI,CAACqB,KAAK,CAACzB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLyB,KAAK,GAAG0B,KAAK,CAACyB,MAAM,CAACzB,KAAK,CAACwB,KAAK,CAAC;MACjCtC,UAAU,CAACjC,IAAI,CACb,GAAGyC,MAAM,CAACxC,IAAI,CAAC+B,OAAO,CAAC,CAACiD,MAAM,CAAErF,IAAI,IAAKyB,KAAK,EAAEzB,IAAI,KAAKA,IAAI,CAC/D,CAAC;IACH;IAEA,IAAIyB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAM2E,UAAU,GAAGC,WAAW,CAAC5E,KAAK,CAACxC,GAAG,CAAC,CAACmH,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACD5E,eAAe,EACf,GAAGU,UAAU,CAACC,GAAG,CAAEtC,IAAI,IAAK;MAC1B,MAAM;QAAEsG;MAAU,CAAC,GAAGlE,OAAO,CAACpC,IAAI,CAAC,CAACF,KAAK;MACzC,OAAOwG,SAAS;IAClB,CAAC,CAAC,CACH,CAAChE,GAAG,CAAEgE,SAAS,IAAK;MACnB,MAAMhE,GAAG,GACP,OAAOgE,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE7E,KAAK,EAAEA,KAAY;QAAE2E;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAOhE,GAAG,GACNO,MAAM,CAACxC,IAAI,CAACiC,GAAG,CAAC,CACb+C,MAAM,CAAExG,IAAI,IAAKA,IAAI,KAAKoH,CAAC,CAACpH,IAAI,CAAC,CACjCyD,GAAG,CAAEzD,IAAI,IAAKyD,GAAG,GAAGzD,IAAI,CAAC,CAAC,GAC7BK,SAAS;IACf,CAAC,CACH;IACA;IACA;IAAA,CACCmG,MAAM,CAAC,CAACmB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACxF,OAAO,CAAE8F,QAAQ,IAAKA,QAAQ,GAAGX,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFlI,cAAc,CAAC;IAAEoF,KAAK;IAAE6C;EAAQ,CAAC,CAAC;EAElCpJ,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpBgB,OAAO,CAACa,IAAI,CAAC;MAAEhI,IAAI,EAAE,OAAO;MAAEiI,IAAI,EAAE;QAAE3D;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC6C,OAAO,EAAE7C,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEmD,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAGvJ,iBAAiB,CAAC,CAAC;EAEtE,MAAM;IAAEwJ,cAAc;IAAEC;EAAiB,CAAC,GAAGjJ,sBAAsB,CAAC,CAAC;EAErE,MAAMkJ,QAAQ,GAAG/I,WAAW,CAAC;IAC3B2D,MAAM;IACNwB,QAAQ;IACRE,QAAQ;IACRxE,GAAG,EAAEwC,KAAK,EAAExC,GAAG;IACfmI,eAAe,EAAEL,cAAc,CAACvB,MAAM;IACtC6B,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnBlF,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACDoD;EACF,CAAC,CAAC;EAEF,MAAMwB,YAAY,GAAGlJ,eAAe,CAAC;IACnCyD,MAAM;IACN9C,GAAG,EAAEwC,KAAK,EAAExC,GAAG;IACfsE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAM2C,UAAU,GAAGjI,oBAAoB,CAKrC;IACAsJ,EAAE,EAAEnH,OAAO,CAACmH,EAAE;IACdN,QAAQ;IACR5D,QAAQ;IACRyC,OAAO;IACPjE,MAAM;IACNgE;EACF,CAAC,CAAC;EAEFjI,kCAAkC,CAAC;IACjCsI,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEFtJ,aAAa,CAAC;IACZkF,QAAQ;IACRqE,iBAAiB,EAAEX,cAAc,CAAC1D;EACpC,CAAC,CAAC;EAEF,MAAM;IAAEsE,QAAQ;IAAExB;EAAY,CAAC,GAAGzI,cAAc,CAO9C;IACEuF,KAAK;IACLf,OAAO;IACPgE,UAAU;IACV5F,aAAa;IACbC,YAAY;IACZ0G,QAAQ;IACR5D,QAAQ;IACRE,QAAQ;IACR+D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBnF,MAAM;IACN;IACAiE;EACF,CAAC,EACDzE,0BACF,CAAC;EAED5D,gBAAgB,CAAC;IACfwF,KAAK;IACLiD,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAGpK,YAAY,CAAE0B,QAAyB,IAAK;IACpE,MAAM2I,OAAO,GACXxH,MAAM,IAAI,IAAI,GACVA,MAAM,CAAC;MACL4C,KAAK;MACLkD,WAAW;MACXD,UAAU;MACVhH;IACF,CAAC,CAAC,GACFA,QAAQ;IAEd,oBACEV,IAAA,CAACvB,wBAAwB,CAAC6K,QAAQ;MAACC,KAAK,EAAE7B,UAAW;MAAAhH,QAAA,eACnDV,IAAA,CAACpB,qBAAqB;QAAA8B,QAAA,EAAE2I;MAAO,CAAwB;IAAC,CACvB,CAAC;EAExC,CAAC,CAAC;EAEF,OAAO;IACL5E,KAAK;IACLiD,UAAU;IACVyB,QAAQ;IACRxB,WAAW;IACXyB;EACF,CAAC;AACH","ignoreList":[]} diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index dca9f5e..89f84d9 100644 +index dca9f5e..24e477f 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -9,7 +9,16 @@ declare global { +@@ -9,7 +9,17 @@ declare global { } } type Keyof = Extract; @@ -121,11 +121,12 @@ index dca9f5e..89f84d9 100644 + navigation: any; + theme: ReactNavigation.Theme; +}) => ScreenOptions); ++export type DefaultNavigatorOptions = DefaultRouterOptions> +export type DefaultNavigatorOptions = DefaultRouterOptions> & { /** * Children React Elements to extract the route configuration from. * Only `Screen`, `Group` and `React.Fragment` are supported as children. -@@ -28,18 +37,11 @@ export type DefaultNavigatorOptions; @@ -154,7 +155,7 @@ index dca9f5e..89f84d9 100644 export type EventMapCore = { focus: { data: undefined; -@@ -481,7 +484,7 @@ export type RouteConfigProps; }; @@ -237,7 +238,7 @@ index 921d8a7..1041892 100644 +{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 67e91c0..77098ff 100644 +index 67e91c0..6eb1388 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts @@ -1,14 +1,16 @@ @@ -255,7 +256,7 @@ index 67e91c0..77098ff 100644 * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions): { -+export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { ++export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { state: State; navigation: { dispatch(action: Readonly<{ From b4407d7b7b0aeafb23fcc16605ceae9c4892abd8 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 6 Jun 2025 08:44:53 +0200 Subject: [PATCH 23/61] add findFocusedRouteKey --- ...navigation+native+7.1.10+001+initial.patch | 3673 +---------------- 1 file changed, 9 insertions(+), 3664 deletions(-) diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation+native+7.1.10+001+initial.patch index e7f18f45f7484..40c0d1700a52d 100644 --- a/patches/@react-navigation+native+7.1.10+001+initial.patch +++ b/patches/@react-navigation+native+7.1.10+001+initial.patch @@ -1,3669 +1,14 @@ -diff --git a/node_modules/@react-navigation/native/CHANGELOG.md b/node_modules/@react-navigation/native/CHANGELOG.md -new file mode 100644 -index 0000000..08a3601 ---- /dev/null -+++ b/node_modules/@react-navigation/native/CHANGELOG.md -@@ -0,0 +1,1127 @@ -+# Change Log -+ -+All notable changes to this project will be documented in this file. -+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -+ -+## [7.1.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.9...@react-navigation/native@7.1.10) (2025-05-30) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.1.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.8...@react-navigation/native@7.1.9) (2025-05-11) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.1.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.7...@react-navigation/native@7.1.8) (2025-05-04) -+ -+### Bug Fixes -+ -+* fix peer dep versions. closes [#12580](https://github.com/react-navigation/react-navigation/issues/12580) ([6fc3dd6](https://github.com/react-navigation/react-navigation/commit/6fc3dd677aecdcf8696fe723e17b9c028de7ad85)) - by @satya164 -+ -+## [7.1.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.6...@react-navigation/native@7.1.7) (2025-05-02) -+ -+### Bug Fixes -+ -+* fix issues with browser history ([#12553](https://github.com/react-navigation/react-navigation/issues/12553)) ([7d01b03](https://github.com/react-navigation/react-navigation/commit/7d01b032af05290492869cb15632857d8cb92cc6)) - by @adamgrzybowski -+* use aria props instead of accessibilityX ([#11848](https://github.com/react-navigation/react-navigation/issues/11848)) ([347ca97](https://github.com/react-navigation/react-navigation/commit/347ca975406e84a5e7452679b1dde7b9ecca1a22)) - by @satya164 -+ -+## [7.1.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.5...@react-navigation/native@7.1.6) (2025-04-08) -+ -+### Bug Fixes -+ -+* add types field back to support legacy moduleResolution ([6c021d4](https://github.com/react-navigation/react-navigation/commit/6c021d442ede3a231e32486b2c391c2e850bf76e)), closes [#12534](https://github.com/react-navigation/react-navigation/issues/12534) - by @ -+ -+## [7.1.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.4...@react-navigation/native@7.1.5) (2025-04-04) -+ -+### Bug Fixes -+ -+* drop commonjs module to avoid dual package hazard ([f0fbcc5](https://github.com/react-navigation/react-navigation/commit/f0fbcc5515e73b454f607bd95bba40a48e852d0f)) - by @satya164 -+ -+## [7.1.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.3...@react-navigation/native@7.1.4) (2025-04-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.1.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.2...@react-navigation/native@7.1.3) (2025-04-02) -+ -+### Bug Fixes -+ -+* make buildHref work inside route context ([a52efa1](https://github.com/react-navigation/react-navigation/commit/a52efa1334b8f1f2efe89def964f432895dadc6d)) - by @ -+ -+## [7.1.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.1...@react-navigation/native@7.1.2) (2025-04-02) -+ -+### Bug Fixes -+ -+* make buildHref work inside screens of a navigator ([18387b8](https://github.com/react-navigation/react-navigation/commit/18387b87a1aeea67945e0387ac068a2e0cabe592)) - by @ -+* revert always create link regardless of linking enabled ([400f0d8](https://github.com/react-navigation/react-navigation/commit/400f0d816fcc93b578e2dad6e0d9e7a1952d8045)) - by @ -+ -+## [7.1.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.1.0...@react-navigation/native@7.1.1) (2025-04-02) -+ -+### Bug Fixes -+ -+* fix buildHref returning incorrect path ([60b0d75](https://github.com/react-navigation/react-navigation/commit/60b0d75f6a6ebb67d7fdbe6bfb295285fb1b7b3d)) - by @ -+ -+# [7.1.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.19...@react-navigation/native@7.1.0) (2025-04-01) -+ -+### Bug Fixes -+ -+* always create link regardless of linking enabled status ([d242d73](https://github.com/react-navigation/react-navigation/commit/d242d731bfcc1f3951d920f1dc30502409a62e4c)) - by @ -+* handle undefined event in useLinkProps ([2ede378](https://github.com/react-navigation/react-navigation/commit/2ede378bff1bba947202697cbe0f796fbf76e0e6)), closes [#12526](https://github.com/react-navigation/react-navigation/issues/12526) - by @satya164 -+ -+### Features -+ -+* add a useRoutePath hook ([61e3561](https://github.com/react-navigation/react-navigation/commit/61e356100678f43874fb11e64de11c0da22c4695)) - by @ -+* add an API to get a minimal state to build a path ([1320931](https://github.com/react-navigation/react-navigation/commit/1320931d3cd02c8bfe2a9493b4ec18c870be4f22)) - by @ -+ -+## [7.0.19](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.18...@react-navigation/native@7.0.19) (2025-03-25) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.17...@react-navigation/native@7.0.18) (2025-03-22) -+ -+### Bug Fixes -+ -+* fix JSX and useScrollToTop types for React 19 compatibility ([#12501](https://github.com/react-navigation/react-navigation/issues/12501)) ([4a7dfe1](https://github.com/react-navigation/react-navigation/commit/4a7dfe1f9b6dac66ea0651bf69dc9f5835dcd838)), closes [#12468](https://github.com/react-navigation/react-navigation/issues/12468) - by @teaualune -+ -+## [7.0.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.16...@react-navigation/native@7.0.17) (2025-03-19) -+ -+### Bug Fixes -+ -+* revert types for screen & params pair ([154b90c](https://github.com/react-navigation/react-navigation/commit/154b90cd86d4231b6f1d68738f22541c18d5f9df)), closes [/github.com/react-navigation/react-navigation/commit/a528b9b407dbaeaac0caae8edcb5b3c6840144fa#diff-9c2709d8522a6b9ec9697dd54c966da28deee393cc5effe69b47fdf93a2dbc5](https://github.com//github.com/react-navigation/react-navigation/commit/a528b9b407dbaeaac0caae8edcb5b3c6840144fa/issues/diff-9c2709d8522a6b9ec9697dd54c966da28deee393cc5effe69b47fdf93a2dbc5) [#12372](https://github.com/react-navigation/react-navigation/issues/12372) - by @satya164 -+ -+## [7.0.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.15...@react-navigation/native@7.0.16) (2025-03-19) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.14...@react-navigation/native@7.0.15) (2025-03-02) -+ -+### Bug Fixes -+ -+* make locale available in container fallback ([bddcc44](https://github.com/react-navigation/react-navigation/commit/bddcc44ab0e0ad5630f7ee0feb69496412a00217)) - by @satya164 -+* pop for deep links to screens containing navigators ([05d2d97](https://github.com/react-navigation/react-navigation/commit/05d2d97157ac1abf17957ee402634aa651b053ba)) - by @satya164 -+ -+## [7.0.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.13...@react-navigation/native@7.0.14) (2024-12-12) -+ -+### Bug Fixes -+ -+* correctly extract path from url with multiple `?` characters ([#12334](https://github.com/react-navigation/react-navigation/issues/12334)) ([234d07d](https://github.com/react-navigation/react-navigation/commit/234d07d37066d831be0f356c8766b03ec094a90f)) - by @andrejpavlovic -+* nanoid vulberable version ([#12328](https://github.com/react-navigation/react-navigation/issues/12328)) ([2a745c8](https://github.com/react-navigation/react-navigation/commit/2a745c8c598f95fcec5bbf5442045478d4046663)) - by @khushilms -+ -+## [7.0.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.12...@react-navigation/native@7.0.13) (2024-12-02) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.11...@react-navigation/native@7.0.12) (2024-12-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.10...@react-navigation/native@7.0.11) (2024-12-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.9...@react-navigation/native@7.0.10) (2024-12-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.8...@react-navigation/native@7.0.9) (2024-11-28) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.7...@react-navigation/native@7.0.8) (2024-11-27) -+ -+### Bug Fixes -+ -+* fix linking.enable: auto not working with only groups ([1129071](https://github.com/react-navigation/react-navigation/commit/1129071c6f406d89138dff6154335f18bac8b6d7)) - by @satya164 -+ -+## [7.0.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.6...@react-navigation/native@7.0.7) (2024-11-26) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.5...@react-navigation/native@7.0.6) (2024-11-25) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.4...@react-navigation/native@7.0.5) (2024-11-25) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.3...@react-navigation/native@7.0.4) (2024-11-22) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.2...@react-navigation/native@7.0.3) (2024-11-15) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.1...@react-navigation/native@7.0.2) (2024-11-14) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [7.0.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0...@react-navigation/native@7.0.1) (2024-11-13) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.21...@react-navigation/native@7.0.0) (2024-11-06) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.21](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.20...@react-navigation/native@7.0.0-rc.21) (2024-10-24) -+ -+### Bug Fixes -+ -+* use * for react-native peer dep to support pre-release versions ([07267e5](https://github.com/react-navigation/react-navigation/commit/07267e54be752f600f808ec2898e5d76a1bc1d43)) - by @satya164 -+ -+# [7.0.0-rc.20](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.19...@react-navigation/native@7.0.0-rc.20) (2024-10-11) -+ -+### Bug Fixes -+ -+* fix type error when using useScrollToTop with FlatList ([#12140](https://github.com/react-navigation/react-navigation/issues/12140)) ([a1f947a](https://github.com/react-navigation/react-navigation/commit/a1f947a44f16a8d846c31d76efb0485780bd8de3)), closes [#12139](https://github.com/react-navigation/react-navigation/issues/12139) - by @itsramiel -+ -+### Features -+ -+* export LocaleDirContext and UNSTABLE_UnhandledLinkingContext ([#12145](https://github.com/react-navigation/react-navigation/issues/12145)) ([4caf3cb](https://github.com/react-navigation/react-navigation/commit/4caf3cb849a8708a36d0dbf22dac432d2ca780be)) - by @marklawlor -+ -+# [7.0.0-rc.19](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.18...@react-navigation/native@7.0.0-rc.19) (2024-09-08) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.17...@react-navigation/native@7.0.0-rc.18) (2024-08-07) -+ -+### Bug Fixes -+ -+* improve how navigate and other methods are typed ([#12093](https://github.com/react-navigation/react-navigation/issues/12093)) ([a528b9b](https://github.com/react-navigation/react-navigation/commit/a528b9b407dbaeaac0caae8edcb5b3c6840144fa)) - by @satya164 -+ -+# [7.0.0-rc.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.16...@react-navigation/native@7.0.0-rc.17) (2024-08-05) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.15...@react-navigation/native@7.0.0-rc.16) (2024-08-02) -+ -+### Bug Fixes -+ -+* add missing useLinkTo export ([#12081](https://github.com/react-navigation/react-navigation/issues/12081)) ([17e2777](https://github.com/react-navigation/react-navigation/commit/17e277794c8364eb3c262a824156a9753a4a6457)) - by @export-mike -+ -+# [7.0.0-rc.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.14...@react-navigation/native@7.0.0-rc.15) (2024-08-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.13...@react-navigation/native@7.0.0-rc.14) (2024-07-19) -+ -+### Bug Fixes -+ -+* support theming in NavigationContainer fallback ([71e02f5](https://github.com/react-navigation/react-navigation/commit/71e02f52a7945c8ac6b77da67352e227367663d4)) - by @satya164 -+ -+# [7.0.0-rc.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.12...@react-navigation/native@7.0.0-rc.13) (2024-07-12) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.11...@react-navigation/native@7.0.0-rc.12) (2024-07-11) -+ -+### Bug Fixes -+ -+* upgrade react-native-builder-bob ([1575287](https://github.com/react-navigation/react-navigation/commit/1575287d40fadb97f33eb19c2914d8be3066b47a)) - by @ -+ -+# [7.0.0-rc.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.10...@react-navigation/native@7.0.0-rc.11) (2024-07-11) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.9...@react-navigation/native@7.0.0-rc.10) (2024-07-10) -+ -+### Bug Fixes -+ -+* bump use-latest-callback to fix require ([40ddae9](https://github.com/react-navigation/react-navigation/commit/40ddae95fbbf84ff47f3447eef50ed9ddb66cab8)) - by @satya164 -+ -+# [7.0.0-rc.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.8...@react-navigation/native@7.0.0-rc.9) (2024-07-08) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.7...@react-navigation/native@7.0.0-rc.8) (2024-07-07) -+ -+### Bug Fixes -+ -+* upgrade use-latest-callback for esm compat ([187d41b](https://github.com/react-navigation/react-navigation/commit/187d41b3a139fe2a075a7809c0c4088cbd2fafdb)) - by @satya164 -+ -+# [7.0.0-rc.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.6...@react-navigation/native@7.0.0-rc.7) (2024-07-04) -+ -+### Bug Fixes -+ -+* fix published files ([829caa0](https://github.com/react-navigation/react-navigation/commit/829caa019e125811eea5213fd380e8e1bdbe7030)) - by @ -+ -+# [7.0.0-rc.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.5...@react-navigation/native@7.0.0-rc.6) (2024-07-04) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.4...@react-navigation/native@7.0.0-rc.5) (2024-07-04) -+ -+### Features -+ -+* add package.json exports field ([1435cfe](https://github.com/react-navigation/react-navigation/commit/1435cfe3300767c221ebd4613479ad662d61efee)) - by @ -+ -+# [7.0.0-rc.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.3...@react-navigation/native@7.0.0-rc.4) (2024-07-01) -+ -+### Bug Fixes -+ -+* stop using react-native field in package.json ([efc33cb](https://github.com/react-navigation/react-navigation/commit/efc33cb0c4830a84ceae034dc1278c54f1faf32d)) - by @ -+ -+# [7.0.0-rc.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.2...@react-navigation/native@7.0.0-rc.3) (2024-06-29) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.1...@react-navigation/native@7.0.0-rc.2) (2024-06-28) -+ -+### Bug Fixes -+ -+* fix types for Link & Button components ([bc9d628](https://github.com/react-navigation/react-navigation/commit/bc9d628efab9ab9986dc38a0ba2868d0fbe64b49)) - by @ -+ -+# [7.0.0-rc.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-rc.0...@react-navigation/native@7.0.0-rc.1) (2024-06-28) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-rc.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.18...@react-navigation/native@7.0.0-rc.0) (2024-06-27) -+ -+### Bug Fixes -+ -+* remove global in favor of globalThis for better compatibility ([#11976](https://github.com/react-navigation/react-navigation/issues/11976)) ([f497491](https://github.com/react-navigation/react-navigation/commit/f4974919242e7531ddd16da7b6bbf5e9ecfddc4c)) - by @natew -+ -+# [7.0.0-alpha.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.17...@react-navigation/native@7.0.0-alpha.18) (2024-03-22) -+ -+### Bug Fixes -+ -+* accept partial linking.config for static navigation ([3825046](https://github.com/react-navigation/react-navigation/commit/3825046a2320b721b7458dcc5441807bf57ea091)) - by @satya164 -+ -+### Features -+ -+* add automatic home screen detection for auto linking ([b0bec6f](https://github.com/react-navigation/react-navigation/commit/b0bec6fb3eda83f145d123f02fb2096fa2300658)) - by @satya164 -+ -+# [7.0.0-alpha.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.16...@react-navigation/native@7.0.0-alpha.17) (2024-03-22) -+ -+### Features -+ -+* add a way to automatically generate linking config ([d090836](https://github.com/react-navigation/react-navigation/commit/d090836f34bee659f4ea08176d6840703ef7247f)) - by @satya164 -+* automatically enable linking if any config is specified ([c91d247](https://github.com/react-navigation/react-navigation/commit/c91d247e62d8b30d8f55abff784df81616e70580)) - by @satya164 -+ -+# [7.0.0-alpha.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.15...@react-navigation/native@7.0.0-alpha.16) (2024-03-20) -+ -+### Features -+ -+* add getStateForRouteNamesChange to all navigators and mark it as unstable ([4edbb07](https://github.com/react-navigation/react-navigation/commit/4edbb071163742b60499178271fd3e3e92fb4002)) - by @satya164 -+ -+# [7.0.0-alpha.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.14...@react-navigation/native@7.0.0-alpha.15) (2024-03-14) -+ -+### Features -+ -+* automatically infer types for navigation in options, listeners etc. ([#11883](https://github.com/react-navigation/react-navigation/issues/11883)) ([c54baf1](https://github.com/react-navigation/react-navigation/commit/c54baf14640e567be10cb8a5f68e5cbf0b35f120)) - by @satya164 -+ -+# [7.0.0-alpha.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.13...@react-navigation/native@7.0.0-alpha.14) (2024-03-10) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-alpha.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.12...@react-navigation/native@7.0.0-alpha.13) (2024-03-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-alpha.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.11...@react-navigation/native@7.0.0-alpha.12) (2024-03-08) -+ -+### Bug Fixes -+ -+* preserve # in the URL if the screen hasn't changed ([#11876](https://github.com/react-navigation/react-navigation/issues/11876)) ([66cc899](https://github.com/react-navigation/react-navigation/commit/66cc899e2d9264903ed8800980711c619bb3b499)) - by @groot007 -+ -+# [7.0.0-alpha.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.10...@react-navigation/native@7.0.0-alpha.11) (2024-03-04) -+ -+### Bug Fixes -+ -+* fix forwarding ref for static navigation ([83921e9](https://github.com/react-navigation/react-navigation/commit/83921e9edfc03d034567456b98fe856f0148f4f4)) - by @satya164 -+ -+# [7.0.0-alpha.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.9...@react-navigation/native@7.0.0-alpha.10) (2024-02-24) -+ -+### Bug Fixes -+ -+* fix peer dependency versions ([4b93b63](https://github.com/react-navigation/react-navigation/commit/4b93b6335ce180fe879f9fbe8f2400426b5484fb)) - by @ -+ -+# [7.0.0-alpha.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.8...@react-navigation/native@7.0.0-alpha.9) (2024-02-23) -+ -+### Bug Fixes -+ -+* browser navigating out after using back feature and going home ([#11833](https://github.com/react-navigation/react-navigation/issues/11833)) ([8745ea5](https://github.com/react-navigation/react-navigation/commit/8745ea55dc687a88f741d7f51ea911b891cfd083)), closes [#11832](https://github.com/react-navigation/react-navigation/issues/11832) - by @SlickDomique -+* type errors when getState used outside of a screen ([#11827](https://github.com/react-navigation/react-navigation/issues/11827)) ([b3512a5](https://github.com/react-navigation/react-navigation/commit/b3512a5aa7fdcdac0ea3f23acda33b0cbce270e1)), closes [#11701](https://github.com/react-navigation/react-navigation/issues/11701) - by @MrRefactor -+ -+# [7.0.0-alpha.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.7...@react-navigation/native@7.0.0-alpha.8) (2024-02-23) -+ -+### Bug Fixes -+ -+* forward ref for static navigation ([f6b99b1](https://github.com/react-navigation/react-navigation/commit/f6b99b168dc6bdff86455b7fd98aa6b19aa1af6a)) - by @satya164 -+ -+# [7.0.0-alpha.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.6...@react-navigation/native@7.0.0-alpha.7) (2024-01-17) -+ -+### Bug Fixes -+ -+* fix import for LinkingOptions ([9986736](https://github.com/react-navigation/react-navigation/commit/99867368c36f187a760c00dddb6382e047bf0eed)) - by @satya164 -+ -+### Features -+ -+* move theming to core and pass theme to options ([#11707](https://github.com/react-navigation/react-navigation/issues/11707)) ([8e7ac4f](https://github.com/react-navigation/react-navigation/commit/8e7ac4f18545887b905f921df469dbf69d7951c7)) - by @satya164 -+ -+# [7.0.0-alpha.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.5...@react-navigation/native@7.0.0-alpha.6) (2023-11-17) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [7.0.0-alpha.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.4...@react-navigation/native@7.0.0-alpha.5) (2023-11-12) -+ -+### Bug Fixes -+ -+* cannot resolve use-latest-callback ([#11696](https://github.com/react-navigation/react-navigation/issues/11696)) ([361bc6a](https://github.com/react-navigation/react-navigation/commit/361bc6a3840b37ae082a70e4ff6315280814c7a1)) - by @jkaveri -+ -+### Features -+ -+* add `useUnhandledLinking` for handling deep links behind auth etc. ([#11602](https://github.com/react-navigation/react-navigation/issues/11602)) ([688c43a](https://github.com/react-navigation/react-navigation/commit/688c43af4b27c90d1a99876d6daebbbf69820f56)), closes [#10939](https://github.com/react-navigation/react-navigation/issues/10939) - by @osdnk -+* add a button element to elements package ([#11669](https://github.com/react-navigation/react-navigation/issues/11669)) ([25a85c9](https://github.com/react-navigation/react-navigation/commit/25a85c90384ddfb6db946e791c01d8e033e04aa6)) - by @satya164 -+* add API for unhandled linking ([#11672](https://github.com/react-navigation/react-navigation/issues/11672)) ([5758b26](https://github.com/react-navigation/react-navigation/commit/5758b2615e70ce4943b23ead0227507c63b11c7c)) - by @osdnk -+ -+# [7.0.0-alpha.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.3...@react-navigation/native@7.0.0-alpha.4) (2023-09-25) -+ -+### Bug Fixes -+ -+* don't use .web extensions ([8dfd9bc](https://github.com/react-navigation/react-navigation/commit/8dfd9bc8efb4e89c7e7bbe9727911cdf148ffa05)) - by @satya164 -+ -+# [7.0.0-alpha.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.2...@react-navigation/native@7.0.0-alpha.3) (2023-09-07) -+ -+### Bug Fixes -+ -+* Allow to use `PlatformColor` in the theme ([#11570](https://github.com/react-navigation/react-navigation/issues/11570)) ([64734e7](https://github.com/react-navigation/react-navigation/commit/64734e7bc0d7f203d8e5db6abcc9a88157a5f16c)) - by @retyui -+* incorrect url parsing (isssue: [#10924](https://github.com/react-navigation/react-navigation/issues/10924)) ([#11528](https://github.com/react-navigation/react-navigation/issues/11528)) ([fab2cc6](https://github.com/react-navigation/react-navigation/commit/fab2cc6fb03858020808bcb49ede86e0701679e1)) - by @retyui -+* prevent back handler usage on web ([#11458](https://github.com/react-navigation/react-navigation/issues/11458)) ([486ee81](https://github.com/react-navigation/react-navigation/commit/486ee81cac4606949199b91267f7b5a2663a31ec)) - by @EvanBacon -+* replace series function used to queue async callbacks ([#11485](https://github.com/react-navigation/react-navigation/issues/11485)) ([d8dc693](https://github.com/react-navigation/react-navigation/commit/d8dc6934e3aa2099b34b5bf2801c57780e48fc18)) - by @karlsander -+ -+* feat!: add a direction prop to NavigationContainer to specify rtl (#11393) ([8309636](https://github.com/react-navigation/react-navigation/commit/830963653fb5a489d02f1503222629373319b39e)), closes [#11393](https://github.com/react-navigation/react-navigation/issues/11393) - by @satya164 -+ -+### BREAKING CHANGES -+ -+* Previously the navigators tried to detect RTL automatically and adjust the UI. However this is problematic since we cannot detect RTL in all cases (e.g. on Web). -+ -+This adds an optional `direction` prop to `NavigationContainer` instead so that user can specify when React Navigation's UI needs to be adjusted for RTL. It defaults to the value from `I18nManager` on native platforms, however it needs to be explicitly passed for Web. -+ -+# [7.0.0-alpha.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.1...@react-navigation/native@7.0.0-alpha.2) (2023-06-22) -+ -+### Features -+ -+* support a top-level path configuration in linking config ([1d0297e](https://github.com/react-navigation/react-navigation/commit/1d0297ed17788c01d7b901ad04b63d3f37f47266)) - by @satya164 -+ -+# [7.0.0-alpha.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@7.0.0-alpha.0...@react-navigation/native@7.0.0-alpha.1) (2023-03-01) -+ -+### Bug Fixes -+ -+* fix paths in sourcemap files ([368e069](https://github.com/react-navigation/react-navigation/commit/368e0691b9fb07d4b1cbe71cfe4c2f40512f93ad)) - by @satya164 -+ -+### Features -+ -+* add ability to customize the fonts with the theme ([#11243](https://github.com/react-navigation/react-navigation/issues/11243)) ([1cd6836](https://github.com/react-navigation/react-navigation/commit/1cd6836f1d10bcdf7f96d9e4b9f7de0ddea9391f)) - by @satya164 -+ -+# [7.0.0-alpha.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.14...@react-navigation/native@7.0.0-alpha.0) (2023-02-17) -+ -+### Bug Fixes -+ -+* add `ScrollView` type to 'getScrollResponder' ([#11112](https://github.com/react-navigation/react-navigation/issues/11112)) ([f4324cd](https://github.com/react-navigation/react-navigation/commit/f4324cdbb50218bed30abf673f5070e20e2d7db8)) - by @ken0nek -+* don't modify browser history on re-render ([ab66777](https://github.com/react-navigation/react-navigation/commit/ab66777c092fae3d28c9c8381aeb5b92945ca256)) - by @satya164 -+* keep hash/fragment section un URLs on web ([#11078](https://github.com/react-navigation/react-navigation/issues/11078)) ([a30daa0](https://github.com/react-navigation/react-navigation/commit/a30daa07fb667389420d78590757914487e32c19)) - by @nikgraf -+ -+* refactor!: improve the API for Link component ([7f35837](https://github.com/react-navigation/react-navigation/commit/7f3583793ad17475531e155f1f433ffa16547015)) - by @satya164 -+* fix!: align onReady callback and navigationRef.isReady ([1959baa](https://github.com/react-navigation/react-navigation/commit/1959baa97c101712db84905827f13a8a78a42ca7)) - by @satya164 -+ -+### Features -+ -+* make useScrollToTop work when nesting multiple tab navigators ([#11063](https://github.com/react-navigation/react-navigation/issues/11063)) ([dce463a](https://github.com/react-navigation/react-navigation/commit/dce463a0e39b21509670b5c1d0cab933aa9e4962)), closes [/github.com/react-navigation/react-navigation/pull/9434#issuecomment-1328345015](https://github.com//github.com/react-navigation/react-navigation/pull/9434/issues/issuecomment-1328345015) - by @anthonyguay -+* support statically confguring navigation tree ([#11144](https://github.com/react-navigation/react-navigation/issues/11144)) ([4cc322e](https://github.com/react-navigation/react-navigation/commit/4cc322e08b3d6fe089710c9c6869bbdc183c2bd6)) - by @satya164 -+ -+### BREAKING CHANGES -+ -+* Initially the `Link` component was designed to work with path strings via the `to` prop. But it has few issues: -+ -+- The path strings are not type-safe, making it easy to cause typos and bugs after -+refactor -+- The API made navigating via screen name more incovenient, even if that's the preferred approach -+ -+This revamps the API of the `Link` component to make it easier to use. Instead of `to` prop, it now accepts `screen` and `params` props, as well as an optional `href` prop to -+use instead of the generated path. -+ -+e.g.: -+ -+```js -+Go to Details -+``` -+ -+This also drops the `useLinkTo` hook and consolidates into the `useLinkTools` hook - which lets us build a `href` for a screen or action for a path. -+* Previously, the `onReady` prop and `navigationRef.isReady()` work slightly -+differently. The -+`onReady` callback fired when `NavigationContainer` finishes mounting and deep links is resolved. -+The `navigationRef.isReady()` method additionally checks if there are any navigators rendered - which may not be `true` if the user is rendering their navigators conditionally inside a -+`NavigationContainer`. -+ -+This changes `onReady` to work similar to `navigationRef.isReady()`. The `onReady` callback will now fire only when there are navigators rendered - reflecting the value of -+`navigationRef.isReady()`. -+ -+## [6.0.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.13...@react-navigation/native@6.0.14) (2022-11-21) -+ -+### Bug Fixes -+ -+* add accessibility props to NativeStack screens ([#11022](https://github.com/react-navigation/react-navigation/issues/11022)) ([3ab05af](https://github.com/react-navigation/react-navigation/commit/3ab05afeb6412b8e5566270442ac14a463136620)) -+ -+## [6.0.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.11...@react-navigation/native@6.0.13) (2022-09-16) -+ -+### Bug Fixes -+ -+* handle path with empty string properly for linking ([#10708](https://github.com/react-navigation/react-navigation/issues/10708)) ([e8c374e](https://github.com/react-navigation/react-navigation/commit/e8c374e0643a1521566c654e0052b53f2fd0667a)) -+ -+## [6.0.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.11...@react-navigation/native@6.0.12) (2022-08-24) -+ -+### Bug Fixes -+ -+* handle path with empty string properly for linking ([#10708](https://github.com/react-navigation/react-navigation/issues/10708)) ([e8c374e](https://github.com/react-navigation/react-navigation/commit/e8c374e0643a1521566c654e0052b53f2fd0667a)) -+ -+## [6.0.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.10...@react-navigation/native@6.0.11) (2022-07-05) -+ -+### Bug Fixes -+ -+* ensure same @types/react version in repo ([#10663](https://github.com/react-navigation/react-navigation/issues/10663)) ([e662465](https://github.com/react-navigation/react-navigation/commit/e6624653fbbd931158dbebd17142abf9637205b6)), closes [#10655](https://github.com/react-navigation/react-navigation/issues/10655) -+* expose `LinkingContext` ([#10604](https://github.com/react-navigation/react-navigation/issues/10604)) ([ac24e61](https://github.com/react-navigation/react-navigation/commit/ac24e617af10c48b161d1aaa7dfc8c1c1218a3cd)) -+* prevent `history.go()` navigation outside bounds ([#10601](https://github.com/react-navigation/react-navigation/issues/10601)) ([ff8d8a3](https://github.com/react-navigation/react-navigation/commit/ff8d8a31d83f76129be5a8ee0a95ef2919eb1240)), closes [#10481](https://github.com/react-navigation/react-navigation/issues/10481) -+ -+## [6.0.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.9...@react-navigation/native@6.0.10) (2022-04-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [6.0.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.8...@react-navigation/native@6.0.9) (2022-04-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [6.0.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.7...@react-navigation/native@6.0.8) (2022-02-02) -+ -+### Bug Fixes -+ -+* broken history items index when items reset ([#10312](https://github.com/react-navigation/react-navigation/issues/10312)) ([16f3462](https://github.com/react-navigation/react-navigation/commit/16f3462fb258e7e1264d3eb3f4f6c3a93381e01e)) -+ -+## [6.0.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.6...@react-navigation/native@6.0.7) (2022-01-29) -+ -+### Bug Fixes -+ -+* fix crash in useLinking on Web ([#10262](https://github.com/react-navigation/react-navigation/issues/10262)) ([e612a4c](https://github.com/react-navigation/react-navigation/commit/e612a4c837f73dc5830b0ff9e7e24e1e06d2451c)), closes [/github.com/react-navigation/react-navigation/pull/9970/files#r784475821](https://github.com//github.com/react-navigation/react-navigation/pull/9970/files/issues/r784475821) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L84](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L84) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L86](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L86) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L108](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L108) [/github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx#L110](https://github.com//github.com/react-navigation/react-navigation/blob/fb84805c889bbb7059e7e95592c004aea2a510d6/packages/native/src/useLinking.tsx/issues/L110) -+* update URL on web when params change. fixes [#10046](https://github.com/react-navigation/react-navigation/issues/10046) ([4468b96](https://github.com/react-navigation/react-navigation/commit/4468b96db5065be8342483392d939742d21b20bc)) -+* **web:** avoid passing undefined root state in web ([#10186](https://github.com/react-navigation/react-navigation/issues/10186)) ([9087439](https://github.com/react-navigation/react-navigation/commit/90874397e653a6db642822bff18014a3e5980fed)), closes [#10185](https://github.com/react-navigation/react-navigation/issues/10185) -+ -+## [6.0.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.5...@react-navigation/native@6.0.6) (2021-10-12) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [6.0.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.4...@react-navigation/native@6.0.5) (2021-10-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [6.0.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.3...@react-navigation/native@6.0.4) (2021-09-26) -+ -+### Bug Fixes -+ -+* fix building link with useLinkProps ([bcdc559](https://github.com/react-navigation/react-navigation/commit/bcdc55975d64b8a5267f0b0dc47efb395a409762)) -+ -+## [6.0.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.2...@react-navigation/native@6.0.3) (2021-09-26) -+ -+### Bug Fixes -+ -+* fix href with useLinkProps. fixes [#9930](https://github.com/react-navigation/react-navigation/issues/9930) ([4ae53e1](https://github.com/react-navigation/react-navigation/commit/4ae53e1705e39aee75041928c07a56ec110bfd05)) -+* fix navigation when going back and forth in history on web ([#9970](https://github.com/react-navigation/react-navigation/issues/9970)) ([fb84805](https://github.com/react-navigation/react-navigation/commit/fb84805c889bbb7059e7e95592c004aea2a510d6)), closes [#9408](https://github.com/react-navigation/react-navigation/issues/9408) [#9128](https://github.com/react-navigation/react-navigation/issues/9128) -+* make useScrollToTop work with react-native-largelist ([#9960](https://github.com/react-navigation/react-navigation/issues/9960)) ([073fd57](https://github.com/react-navigation/react-navigation/commit/073fd57537466a054dc902e915430f69bbe363e1)) -+* use console.error for linking conflicts instead of throwing ([4b36bcf](https://github.com/react-navigation/react-navigation/commit/4b36bcf346a6196bbc8d5792e8eb4614709161a2)) -+ -+## [6.0.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.1...@react-navigation/native@6.0.2) (2021-08-07) -+ -+### Bug Fixes -+ -+* fix crash in useLinkTo when passing an object ([#9800](https://github.com/react-navigation/react-navigation/issues/9800)) ([dfd0cc7](https://github.com/react-navigation/react-navigation/commit/dfd0cc78fe4531ba7c957f826bc556829e231735)) -+ -+## [6.0.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0...@react-navigation/native@6.0.1) (2021-08-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.17...@react-navigation/native@6.0.0) (2021-08-01) -+ -+### Features -+ -+* add a way to filter out deep links from being handled ([c322b05](https://github.com/react-navigation/react-navigation/commit/c322b0501c6a9941a033471aed9e5b486b3ace7e)) -+ -+# [6.0.0-next.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.16...@react-navigation/native@6.0.0-next.17) (2021-07-16) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.15...@react-navigation/native@6.0.0-next.16) (2021-07-16) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.13...@react-navigation/native@6.0.0-next.15) (2021-07-01) -+ -+### Bug Fixes -+ -+* disable duplicate linking check for independent containers ([20b8ebd](https://github.com/react-navigation/react-navigation/commit/20b8ebd40547d93ccf626fcd9dad327fe1807b52)) -+ -+# [6.0.0-next.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.13...@react-navigation/native@6.0.0-next.14) (2021-06-10) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.12...@react-navigation/native@6.0.0-next.13) (2021-05-29) -+ -+### Bug Fixes -+ -+* validate property names in linking config ([324ea71](https://github.com/react-navigation/react-navigation/commit/324ea7181db6b743f512854be267cc9d65975b6f)) -+ -+# [6.0.0-next.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.11...@react-navigation/native@6.0.0-next.12) (2021-05-29) -+ -+### Bug Fixes -+ -+* try to fix [#9631](https://github.com/react-navigation/react-navigation/issues/9631) ([b4d7b0e](https://github.com/react-navigation/react-navigation/commit/b4d7b0ee86c09419a18357867a0a25bb90d960c0)) -+ -+# [6.0.0-next.11](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.10...@react-navigation/native@6.0.0-next.11) (2021-05-27) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.10](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.9...@react-navigation/native@6.0.0-next.10) (2021-05-26) -+ -+### Features -+ -+* expose container ref in useNavigation ([1d40279](https://github.com/react-navigation/react-navigation/commit/1d40279db18ab2aed12517ed3ca6af6d509477d2)) -+ -+# [6.0.0-next.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.8...@react-navigation/native@6.0.0-next.9) (2021-05-23) -+ -+### Features -+ -+* initial implementation of a flipper plugin ([d6f6f5f](https://github.com/react-navigation/react-navigation/commit/d6f6f5f94db85bd9166a5a97889c37690846d519)) -+ -+# [6.0.0-next.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.7...@react-navigation/native@6.0.0-next.8) (2021-05-16) -+ -+### Bug Fixes -+ -+* add ability to pass generic params to Link ([9c30c42](https://github.com/react-navigation/react-navigation/commit/9c30c42c0bddbc90c58b79a8be6d57e57a131e77)) -+ -+# [6.0.0-next.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.6...@react-navigation/native@6.0.0-next.7) (2021-05-10) -+ -+### Features -+ -+* return a NavigationContent component from useNavigationBuilder ([1179d56](https://github.com/react-navigation/react-navigation/commit/1179d56c5008270753feef41acdc1dbd2191efcf)) -+ -+# [6.0.0-next.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.5...@react-navigation/native@6.0.0-next.6) (2021-05-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.4...@react-navigation/native@6.0.0-next.5) (2021-05-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.3...@react-navigation/native@6.0.0-next.4) (2021-05-09) -+ -+### Features -+ -+* add ability to specify root param list ([b28bfdd](https://github.com/react-navigation/react-navigation/commit/b28bfddc17cbf3996fac04a34b2a7085ecf88be5)) -+* support navigate-like object in Link ([1478659](https://github.com/react-navigation/react-navigation/commit/14786594c004d8176570f1a4ab013b57b3180665)) -+ -+# [6.0.0-next.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.2...@react-navigation/native@6.0.0-next.3) (2021-05-01) -+ -+### Features -+ -+* add helper and hook for container ref ([0ecd112](https://github.com/react-navigation/react-navigation/commit/0ecd112ec9786a26261ada3d33ef44dc1ec84da0)) -+ -+# [6.0.0-next.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.1...@react-navigation/native@6.0.0-next.2) (2021-04-08) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0...@react-navigation/native@6.0.0-next.1) (2021-03-10) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [6.0.0-next.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.9...@react-navigation/native@6.0.0-next.0) (2021-03-09) -+ -+### Bug Fixes -+ -+* address breaking change in react-native for Linking ([61c6bb0](https://github.com/react-navigation/react-navigation/commit/61c6bb01b9e3aacaf93ecc7398b6c45834a2216d)) -+* default to backBehavior: firstRoute for TabRouter ([8bdc6c6](https://github.com/react-navigation/react-navigation/commit/8bdc6c6b9bc957a00a01eec2fcf6f971998c9380)) -+* drop dangerously prefix from getState and getParent ([227f133](https://github.com/react-navigation/react-navigation/commit/227f133536af85dc5ff85eeb269b76ed80cd3f05)) -+* normalize prefix when parsing. fixes [#9081](https://github.com/react-navigation/react-navigation/issues/9081) ([fd034fe](https://github.com/react-navigation/react-navigation/commit/fd034fea35cd0ae23dac979d90d8fc8598dadcc3)) -+* support sync getInitialURL in native useLinking ([52dd4e7](https://github.com/react-navigation/react-navigation/commit/52dd4e7ac92e3e176ac9f106e646ff6e300f3412)) -+ -+### Features -+ -+* associate path with the route it opens when deep linking ([#9384](https://github.com/react-navigation/react-navigation/issues/9384)) ([86e64fd](https://github.com/react-navigation/react-navigation/commit/86e64fdcd81a57cf3f3bdab4c9035b52984e7009)), closes [#9102](https://github.com/react-navigation/react-navigation/issues/9102) -+* stop exporting useLinking hook ([5a9a1ed](https://github.com/react-navigation/react-navigation/commit/5a9a1edae7366d26af3494de341d9503a011974a)) -+ -+### BREAKING CHANGES -+ -+* Returning to first route after pressing back seems more common in apps. This commit changes the default for tab and drawer navigators to follow this common practice. To preserve previous behavior, you can pass backBehavior=history to tab and drawer navigators. -+* we have added linking prop for the same use case which is easier to use. so no need to export useLinking anymore. -+ -+## [5.8.9](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.8...@react-navigation/native@5.8.9) (2020-11-10) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.8.8](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.7...@react-navigation/native@5.8.8) (2020-11-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.8.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.6...@react-navigation/native@5.8.7) (2020-11-08) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.8.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.5...@react-navigation/native@5.8.6) (2020-11-04) -+ -+### Bug Fixes -+ -+* ignore any errors from deep linking ([4c2379c](https://github.com/react-navigation/react-navigation/commit/4c2379cec1e661aa132002fd1c50909ea64cb983)) -+ -+## [5.8.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.4...@react-navigation/native@5.8.5) (2020-11-04) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.8.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.3...@react-navigation/native@5.8.4) (2020-11-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.8.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.2...@react-navigation/native@5.8.3) (2020-11-03) -+ -+### Bug Fixes -+ -+* make sure that invalid linking config doesn't work if app is open ([52451d1](https://github.com/react-navigation/react-navigation/commit/52451d11094b8551e3c6950b3e005d68225c7da9)) -+ -+## [5.8.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.1...@react-navigation/native@5.8.2) (2020-10-30) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.8.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.8.0...@react-navigation/native@5.8.1) (2020-10-28) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.8.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.6...@react-navigation/native@5.8.0) (2020-10-24) -+ -+### Features -+ -+* add `getInitialURL` and `subscribe` options to linking config ([748e92f](https://github.com/react-navigation/react-navigation/commit/748e92f120b9ff73c6b1e14515f60c76701081db)) -+* allow deep linking to reset state ([#8973](https://github.com/react-navigation/react-navigation/issues/8973)) ([7f3b27a](https://github.com/react-navigation/react-navigation/commit/7f3b27a9ec8edd9604ac19774baa1f60963ccdc9)), closes [#8952](https://github.com/react-navigation/react-navigation/issues/8952) -+* support wildcard string prefixes ([#8942](https://github.com/react-navigation/react-navigation/issues/8942)) ([23ab350](https://github.com/react-navigation/react-navigation/commit/23ab3504921b7e741a48d66c6a953905206df4b7)), closes [#8941](https://github.com/react-navigation/react-navigation/issues/8941) -+ -+## [5.7.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.5...@react-navigation/native@5.7.6) (2020-10-07) -+ -+### Bug Fixes -+ -+* add missing check for initial state on web ([9e36508](https://github.com/react-navigation/react-navigation/commit/9e3650831c22b47130d2b388390f7eb7910fe91d)) -+ -+## [5.7.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.4...@react-navigation/native@5.7.5) (2020-09-28) -+ -+### Bug Fixes -+ -+* check for correct resolved value in useThenable. fixes [#8798](https://github.com/react-navigation/react-navigation/issues/8798) ([cc8f1f4](https://github.com/react-navigation/react-navigation/commit/cc8f1f4205373f605fc457b40666305b3e117772)) -+ -+## [5.7.4](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.3...@react-navigation/native@5.7.4) (2020-09-22) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.7.3](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.2...@react-navigation/native@5.7.3) (2020-08-04) -+ -+### Bug Fixes -+ -+* make sure we don't exit the page when going back ([2a48b91](https://github.com/react-navigation/react-navigation/commit/2a48b917ecaf5b9adcfb5e31fb5bc787d114af23)) -+* wait longer for history.go and handle interruptions ([b1f1377](https://github.com/react-navigation/react-navigation/commit/b1f13774295465942aafa1b0ff611b9eebccbd77)) -+ -+## [5.7.2](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.1...@react-navigation/native@5.7.2) (2020-07-28) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.7.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.7.0...@react-navigation/native@5.7.1) (2020-07-19) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.7.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.6.1...@react-navigation/native@5.7.0) (2020-07-10) -+ -+### Bug Fixes -+ -+* ensure correct document title after going back on Chrome ([8f5286e](https://github.com/react-navigation/react-navigation/commit/8f5286ef501d2e88cffbe4f7d8cdeb23a4af6cf1)) -+* tweak border color to match iOS default ([c665c02](https://github.com/react-navigation/react-navigation/commit/c665c027a6531cf841690940a7e2cb4ea498ba03)) -+ -+### Features -+ -+* add a hook to update document title ([13c9d1e](https://github.com/react-navigation/react-navigation/commit/13c9d1e281b4626199671bce11ba62d83767564f)) -+* add support for badges to bottom tab bar ([96c7b68](https://github.com/react-navigation/react-navigation/commit/96c7b688ce773b3dd1f1cf7775367cd7080c94a2)) -+ -+## [5.6.1](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.6.0...@react-navigation/native@5.6.1) (2020-06-25) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.6.0](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@5.5.1...@react-navigation/native@5.6.0) (2020-06-24) -+ -+### Bug Fixes -+ -+* fix forward with history API. closes [#8409](https://github.com/react-navigation/react-navigation/issues/8409) ([d85d27c](https://github.com/react-navigation/react-navigation/commit/d85d27c43252630ea5c093fa6ad0d5a8c502b7c9)) -+ -+### Features -+ -+* add an onReady callback to the container ([#8491](https://github.com/react-navigation/react-navigation/issues/8491)) ([8177c45](https://github.com/react-navigation/react-navigation/commit/8177c45d14ca6d1552574ad9ac740723f9cc8f5b)) -+* rework linking configuration to be more strict ([#8502](https://github.com/react-navigation/react-navigation/issues/8502)) ([a021cfb](https://github.com/react-navigation/react-navigation/commit/a021cfb8af4afd50f785f6ee9b51d361e25704ca)) -+ -+## [5.5.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.5.0...@react-navigation/native@5.5.1) (2020-06-06) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.5.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.3...@react-navigation/native@5.5.0) (2020-05-27) -+ -+### Bug Fixes -+ -+* export types from /native ([af1722d](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/af1722d1e915f3ec234df202f74c4b4c631472c7)) -+ -+### Features -+ -+* add a `ServerContainer` component for SSR ([#8297](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8297)) ([68e750d](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/68e750d5a6d198a2f5bdb86ba631de0a27732943)) -+* add ref to get current options in `ServerContainer` ([#8333](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8333)) ([0b1a718](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/0b1a718756e208d84b20e45ca56004332308ad54)) -+ -+## [5.4.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.2...@react-navigation/native@5.4.3) (2020-05-23) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.4.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.1...@react-navigation/native@5.4.2) (2020-05-20) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.4.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.4.0...@react-navigation/native@5.4.1) (2020-05-20) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.4.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.3.2...@react-navigation/native@5.4.0) (2020-05-16) -+ -+### Bug Fixes -+ -+* fix types for linking options ([d14f38b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/d14f38b80ad569d5828c1919cea426c659173924)) -+ -+### Features -+ -+* add a PathConfig type ([60cb3c9](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/60cb3c9ba76d7ef166c9fe8b55f23728975b5b6e)) -+ -+## [5.3.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.3.1...@react-navigation/native@5.3.2) (2020-05-14) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.3.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.3.0...@react-navigation/native@5.3.1) (2020-05-14) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.3.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.6...@react-navigation/native@5.3.0) (2020-05-10) -+ -+### Features -+ -+* initialState should take priority over deep link ([039017b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/039017bc2af69120d2d10e8f2c8a62919c37eb65)) -+ -+## [5.2.6](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.5...@react-navigation/native@5.2.6) (2020-05-08) -+ -+### Bug Fixes -+ -+* fix building typescript definitions. closes [#8216](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8216) ([47a1229](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/47a12298378747edd2d22e54dc1c8677f98c49b4)) -+ -+## [5.2.5](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.4...@react-navigation/native@5.2.5) (2020-05-08) -+ -+### Bug Fixes -+ -+* return a promise-like from getInitialState ([#8210](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8210)) ([85ae378](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/85ae378d8cb1073895b281e13ebccee881d4c062)) -+ -+## [5.2.4](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.3...@react-navigation/native@5.2.4) (2020-05-05) -+ -+### Bug Fixes -+ -+* return undefined for buildLink if linking is not enabled ([9fd2635](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/9fd2635756362c8da79656b4d9b101bebaaf7003)) -+ -+## [5.2.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.2...@react-navigation/native@5.2.3) (2020-05-01) -+ -+### Bug Fixes -+ -+* default linking enabled to true ([c7b8e2e](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/c7b8e2e9666733143eef156b27f3e4995c36b856)) -+ -+## [5.2.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.1...@react-navigation/native@5.2.2) (2020-05-01) -+ -+### Bug Fixes -+ -+* don't throw when using 'useLinking'. fixes [#8171](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8171) ([10eca8b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/10eca8b92edbce6dbef8abaf189e4b59a29b3748)) -+ -+## [5.2.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.2.0...@react-navigation/native@5.2.1) (2020-04-30) -+ -+### Bug Fixes -+ -+* render fallback only if linking is enabled. closes [#8161](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/8161) ([1c075ff](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/1c075ffb169d233ed0515efea264a5a69b4de52e)) -+ -+# [5.2.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.7...@react-navigation/native@5.2.0) (2020-04-30) -+ -+### Bug Fixes -+ -+* add catch to thenable returned by getInitialState ([d6fa279](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/d6fa279d9371c7a6403d10d209a2a64147891c63)) -+* return onPress instead of onClick for useLinkProps ([ae5442e](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/ae5442ebe812b91fa1f12164f27d1aeed918ab0e)) -+ -+### Features -+ -+* add `useLinkBuilder` hook to build links ([2792f43](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/2792f438fe45428fe193e3708fee7ad61966cbf4)) -+* add a useLinkProps hook ([f2291d1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/f2291d110faa2aa8e10c9133c1c0c28d54af7917)) -+* add action prop to Link ([942d2be](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/942d2be2c72720469475ce12ec8df23825994dbf)) -+* add Link component as useLinkTo hook for navigating to links ([2573b5b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/2573b5beaac1240434e52f3f57bb29da2f541c88)) -+ -+## [5.1.7](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.6...@react-navigation/native@5.1.7) (2020-04-27) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.1.6](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.5...@react-navigation/native@5.1.6) (2020-04-17) -+ -+### Bug Fixes -+ -+* handle in-page go back when there's no history ([6bdf6ae](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/6bdf6ae4ed0f83ac1deb3172d9075a6a2adbbe11)), closes [#7852](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/7852) -+ -+## [5.1.5](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.4...@react-navigation/native@5.1.5) (2020-04-08) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.1.4](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.3...@react-navigation/native@5.1.4) (2020-03-30) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.1.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.2...@react-navigation/native@5.1.3) (2020-03-23) -+ -+### Bug Fixes -+ -+* add info about android launchMode in useLinking error ([d94e43c](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/d94e43c3c8625b209a5c883b8cb560496d07fda7)) -+ -+## [5.1.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.1...@react-navigation/native@5.1.2) (2020-03-22) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.1.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.1.0...@react-navigation/native@5.1.1) (2020-03-19) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.1.0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.10...@react-navigation/native@5.1.0) (2020-03-17) -+ -+### Features -+ -+* add permanent drawer type ([#7818](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/7818)) ([6a5d0a0](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/6a5d0a035afae60d91aef78401ec8826295746fe)) -+ -+## [5.0.10](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.9...@react-navigation/native@5.0.10) (2020-03-16) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.9](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.8...@react-navigation/native@5.0.9) (2020-03-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.8](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.7...@react-navigation/native@5.0.8) (2020-02-26) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.7](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.6...@react-navigation/native@5.0.7) (2020-02-21) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.6](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.5...@react-navigation/native@5.0.6) (2020-02-19) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.5](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.4...@react-navigation/native@5.0.5) (2020-02-14) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.4](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.3...@react-navigation/native@5.0.4) (2020-02-14) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.3](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.2...@react-navigation/native@5.0.3) (2020-02-12) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+## [5.0.2](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.1...@react-navigation/native@5.0.2) (2020-02-11) -+ -+### Bug Fixes -+ -+* make getInitialState async on web ([6c6102b](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/6c6102b4597b5f0e3eada9e802bc5c171ee988d0)) -+ -+## [5.0.1](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.35...@react-navigation/native@5.0.1) (2020-02-10) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.35](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.34...@react-navigation/native@5.0.0-alpha.35) (2020-02-04) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.34](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.33...@react-navigation/native@5.0.0-alpha.34) (2020-02-04) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.33](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.32...@react-navigation/native@5.0.0-alpha.33) (2020-02-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.32](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.29...@react-navigation/native@5.0.0-alpha.32) (2020-02-02) -+ -+### Bug Fixes -+ -+* add licenses ([0c159db](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/0c159db4c9bc85e83b5cfe6819ab2562669a4d8f)) -+ -+### Features -+ -+* add error if multiple instances of useLinking are used ([#310](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/310)) ([4bc0c8f](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/4bc0c8f66f98c0f8ce4e766648125640d01780c4)) -+* integrate with history API on web ([5a3f835](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/5a3f8356b05bff7ed20893a5db6804612da3e568)) -+ -+# [5.0.0-alpha.30](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.29...@react-navigation/native@5.0.0-alpha.30) (2020-02-02) -+ -+### Bug Fixes -+ -+* add licenses ([0c159db](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/0c159db4c9bc85e83b5cfe6819ab2562669a4d8f)) -+ -+### Features -+ -+* add error if multiple instances of useLinking are used ([#310](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/310)) ([4bc0c8f](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/4bc0c8f66f98c0f8ce4e766648125640d01780c4)) -+* integrate with history API on web ([5a3f835](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/5a3f8356b05bff7ed20893a5db6804612da3e568)) -+ -+# [5.0.0-alpha.29](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.28...@react-navigation/native@5.0.0-alpha.29) (2020-01-24) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.28](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.27...@react-navigation/native@5.0.0-alpha.28) (2020-01-23) -+ -+### Features -+ -+* let the navigator specify if default can be prevented ([da67e13](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/da67e134d2157201360427d3c10da24f24cae7aa)) -+ -+# [5.0.0-alpha.27](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.26...@react-navigation/native@5.0.0-alpha.27) (2020-01-14) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.26](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.25...@react-navigation/native@5.0.0-alpha.26) (2020-01-13) -+ -+### Bug Fixes -+ -+* make sure paths aren't aliased when building definitions ([65a5dac](https://github.com/react-navigation/react-navigation/tree/main/packages/native/commit/65a5dac2bf887f4ba081ab15bd4c9870bb15697f)), closes [#265](https://github.com/react-navigation/react-navigation/tree/main/packages/native/issues/265) -+ -+# [5.0.0-alpha.25](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.24...@react-navigation/native@5.0.0-alpha.25) (2020-01-13) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.24](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.22...@react-navigation/native@5.0.0-alpha.24) (2020-01-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.23](https://github.com/react-navigation/react-navigation/tree/main/packages/native/compare/@react-navigation/native@5.0.0-alpha.22...@react-navigation/native@5.0.0-alpha.23) (2020-01-09) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.22](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.21...@react-navigation/native@5.0.0-alpha.22) (2020-01-01) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.21](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.20...@react-navigation/native@5.0.0-alpha.21) (2019-12-19) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.20](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.19...@react-navigation/native@5.0.0-alpha.20) (2019-12-16) -+ -+### Features -+ -+* add nested config in deep linking ([#210](https://github.com/react-navigation/navigation-ex/issues/210)) ([8002d51](https://github.com/react-navigation/navigation-ex/commit/8002d5179524a7211c37760a4ed45e8c12af4358)), closes [#154](https://github.com/react-navigation/navigation-ex/issues/154) -+ -+# [5.0.0-alpha.19](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.18...@react-navigation/native@5.0.0-alpha.19) (2019-12-14) -+ -+### Features -+ -+* add custom theme support ([#211](https://github.com/react-navigation/navigation-ex/issues/211)) ([00fc616](https://github.com/react-navigation/navigation-ex/commit/00fc616de0572bade8aa85052cdc8290360b1d7f)) -+ -+# [5.0.0-alpha.18](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.17...@react-navigation/native@5.0.0-alpha.18) (2019-12-11) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.17](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.16...@react-navigation/native@5.0.0-alpha.17) (2019-12-10) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.16](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.15...@react-navigation/native@5.0.0-alpha.16) (2019-11-17) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.15](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.14...@react-navigation/native@5.0.0-alpha.15) (2019-11-08) -+ -+### Bug Fixes -+ -+* don't call getNode if ref is already scrollable ([#162](https://github.com/react-navigation/navigation-ex/issues/162)) ([66551f2](https://github.com/react-navigation/navigation-ex/commit/66551f2)) -+ -+# [5.0.0-alpha.14](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.13...@react-navigation/native@5.0.0-alpha.14) (2019-10-30) -+ -+### Bug Fixes -+ -+* support scroll to top in navigators nested in tab ([50dea65](https://github.com/react-navigation/navigation-ex/commit/50dea65)) -+ -+# [5.0.0-alpha.13](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.12...@react-navigation/native@5.0.0-alpha.13) (2019-10-22) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.12](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.11...@react-navigation/native@5.0.0-alpha.12) (2019-10-15) -+ -+### Features -+ -+* initial version of native stack ([#102](https://github.com/react-navigation/navigation-ex/issues/102)) ([ba3f718](https://github.com/react-navigation/navigation-ex/commit/ba3f718)) -+ -+# [5.0.0-alpha.11](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.10...@react-navigation/native@5.0.0-alpha.11) (2019-10-06) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.10](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.9...@react-navigation/native@5.0.0-alpha.10) (2019-10-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.9](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.8...@react-navigation/native@5.0.0-alpha.9) (2019-10-03) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.8](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.7...@react-navigation/native@5.0.0-alpha.8) (2019-09-16) -+ -+### Features -+ -+* make deep link handling more flexible ([849d952](https://github.com/react-navigation/navigation-ex/commit/849d952)) -+* make example run as bare react-native project as well ([#85](https://github.com/react-navigation/navigation-ex/issues/85)) ([d16c20c](https://github.com/react-navigation/navigation-ex/commit/d16c20c)) -+ -+# [5.0.0-alpha.7](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.5...@react-navigation/native@5.0.0-alpha.7) (2019-08-31) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.6](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.5...@react-navigation/native@5.0.0-alpha.6) (2019-08-31) -+ -+**Note:** Version bump only for package @react-navigation/native -+ -+# [5.0.0-alpha.5](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.4...@react-navigation/native@5.0.0-alpha.5) (2019-08-29) -+ -+### Bug Fixes -+ -+* handle both null and undefined in useScrollToTop ([c951027](https://github.com/react-navigation/navigation-ex/commit/c951027)) -+ -+### Features -+ -+* handle animated component wrappers in `useScrollToTop` ([#81](https://github.com/react-navigation/navigation-ex/issues/81)) ([cdbf1e9](https://github.com/react-navigation/navigation-ex/commit/cdbf1e9)) -+* handle more methods in useScrollToTop ([f9e8c7e](https://github.com/react-navigation/navigation-ex/commit/f9e8c7e)) -+ -+# [5.0.0-alpha.4](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.3...@react-navigation/native@5.0.0-alpha.4) (2019-08-28) -+ -+### Bug Fixes -+ -+* fix stack nested in tab always getting reset ([dead4e8](https://github.com/react-navigation/navigation-ex/commit/dead4e8)) -+ -+# [5.0.0-alpha.3](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.2...@react-navigation/native@5.0.0-alpha.3) (2019-08-27) -+ -+### Features -+ -+* add hook to scroll to top on tab press ([9e1104c](https://github.com/react-navigation/navigation-ex/commit/9e1104c)) -+* add native container ([d26b77f](https://github.com/react-navigation/navigation-ex/commit/d26b77f)) -+ -+# [5.0.0-alpha.2](https://github.com/react-navigation/navigation-ex/compare/@react-navigation/native@5.0.0-alpha.1...@react-navigation/native@5.0.0-alpha.2) (2019-08-22) -+ -+### Bug Fixes -+ -+* fix path to typescript definitions ([f182315](https://github.com/react-navigation/navigation-ex/commit/f182315)) -+ -+# 5.0.0-alpha.1 (2019-08-21) -+ -+### Bug Fixes -+ -+* fix peer deps and add git urls ([6b4fc74](https://github.com/react-navigation/navigation-ex/commit/6b4fc74)) -+ -+### Features -+ -+* add hook for deep link support ([35987ae](https://github.com/react-navigation/navigation-ex/commit/35987ae)) -+* add native container with back button integration ([#48](https://github.com/react-navigation/navigation-ex/issues/48)) ([b7735af](https://github.com/react-navigation/navigation-ex/commit/b7735af)) -diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -index 474db5e..b3167bc 100644 ---- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -+++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -@@ -1,6 +1,7 @@ - "use strict"; - - import { nanoid } from 'nanoid/non-secure'; -+import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; - export function createMemoryHistory() { - let index = 0; - let items = []; -@@ -17,7 +18,10 @@ export function createMemoryHistory() { - it.cb = () => cb(true); - }); - }; -- const history = { -+ return { -+ get items() { -+ return items; -+ }, - get index() { - // We store an id in the state instead of an index - // Index could get out of sync with in-memory values if page reloads -@@ -32,12 +36,13 @@ export function createMemoryHistory() { - return items[index]; - }, - backIndex({ -- path -+ path, -+ state - }) { - // We need to find the index from the element before current to get closest path to go back to - for (let i = index - 1; i >= 0; i--) { - const item = items[i]; -- if (item.path === path) { -+ if (item.path === path && findFocusedRouteKey(item.state) === findFocusedRouteKey(state)) { - return i; - } - } -@@ -77,7 +82,7 @@ export function createMemoryHistory() { - - // Need to keep the hash part of the path if there was no previous history entry - // or the previous history entry had the same path -- let pathWithHash = path; -+ let pathWithHash = path.replace(/(\/{2,})/g, '/'); - const hash = pathWithHash.includes('#') ? '' : location.hash; - if (!items.length || items.findIndex(item => item.id === id) < 0) { - // There are two scenarios for creating an array with only one history record: -@@ -211,6 +216,5 @@ export function createMemoryHistory() { - return () => window.removeEventListener('popstate', onPopState); - } - }; -- return history; - } - //# sourceMappingURL=createMemoryHistory.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map -index a726cd2..4aa3a82 100644 ---- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map -+++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js.map -@@ -1 +1 @@ --{"version":3,"names":["nanoid","createMemoryHistory","index","items","pending","interrupt","forEach","it","cb","history","id","window","state","findIndex","item","get","backIndex","path","i","push","slice","length","pushState","replace","pathWithHash","hash","includes","location","replaceState","go","n","nextIndex","lastItemIndex","Promise","resolve","reject","done","interrupted","clearTimeout","timer","Error","title","document","ref","setTimeout","foundIndex","splice","onPopState","last","pop","removeEventListener","addEventListener","listen","listener"],"sourceRoot":"../../src","sources":["createMemoryHistory.tsx"],"mappings":";;AACA,SAASA,MAAM,QAAQ,mBAAmB;AAW1C,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,KAAsB,GAAG,EAAE;;EAE/B;EACA;EACA,MAAMC,OAAgE,GAAG,EAAE;EAE3E,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB;IACA;IACA;IACAD,OAAO,CAACE,OAAO,CAAEC,EAAE,IAAK;MACtB,MAAMC,EAAE,GAAGD,EAAE,CAACC,EAAE;MAChBD,EAAE,CAACC,EAAE,GAAG,MAAMA,EAAE,CAAC,IAAI,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC;EAED,MAAMC,OAAO,GAAG;IACd,IAAIP,KAAKA,CAAA,EAAW;MAClB;MACA;MACA,MAAMQ,EAAE,GAAGC,MAAM,CAACF,OAAO,CAACG,KAAK,EAAEF,EAAE;MAEnC,IAAIA,EAAE,EAAE;QACN,MAAMR,KAAK,GAAGC,KAAK,CAACU,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACJ,EAAE,KAAKA,EAAE,CAAC;QAEvD,OAAOR,KAAK,GAAG,CAAC,CAAC,GAAGA,KAAK,GAAG,CAAC;MAC/B;MAEA,OAAO,CAAC;IACV,CAAC;IAEDa,GAAGA,CAACb,KAAa,EAAE;MACjB,OAAOC,KAAK,CAACD,KAAK,CAAC;IACrB,CAAC;IAEDc,SAASA,CAAC;MAAEC;IAAuB,CAAC,EAAE;MACpC;MACA,KAAK,IAAIC,CAAC,GAAGhB,KAAK,GAAG,CAAC,EAAEgB,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QACnC,MAAMJ,IAAI,GAAGX,KAAK,CAACe,CAAC,CAAC;QAErB,IAAIJ,IAAI,CAACG,IAAI,KAAKA,IAAI,EAAE;UACtB,OAAOC,CAAC;QACV;MACF;MAEA,OAAO,CAAC,CAAC;IACX,CAAC;IAEDC,IAAIA,CAAC;MAAEF,IAAI;MAAEL;IAAgD,CAAC,EAAE;MAC9DP,SAAS,CAAC,CAAC;MAEX,MAAMK,EAAE,GAAGV,MAAM,CAAC,CAAC;;MAEnB;MACA;MACAG,KAAK,GAAGA,KAAK,CAACiB,KAAK,CAAC,CAAC,EAAElB,KAAK,GAAG,CAAC,CAAC;MAEjCC,KAAK,CAACgB,IAAI,CAAC;QAAEF,IAAI;QAAEL,KAAK;QAAEF;MAAG,CAAC,CAAC;MAC/BR,KAAK,GAAGC,KAAK,CAACkB,MAAM,GAAG,CAAC;;MAExB;MACA;MACA;MACA;MACAV,MAAM,CAACF,OAAO,CAACa,SAAS,CAAC;QAAEZ;MAAG,CAAC,EAAE,EAAE,EAAEO,IAAI,CAAC;IAC5C,CAAC;IAEDM,OAAOA,CAAC;MAAEN,IAAI;MAAEL;IAAgD,CAAC,EAAE;MACjEP,SAAS,CAAC,CAAC;MAEX,MAAMK,EAAE,GAAGC,MAAM,CAACF,OAAO,CAACG,KAAK,EAAEF,EAAE,IAAIV,MAAM,CAAC,CAAC;;MAE/C;MACA;MACA,IAAIwB,YAAY,GAAGP,IAAI;MACvB,MAAMQ,IAAI,GAAGD,YAAY,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAGC,QAAQ,CAACF,IAAI;MAE5D,IAAI,CAACtB,KAAK,CAACkB,MAAM,IAAIlB,KAAK,CAACU,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACJ,EAAE,KAAKA,EAAE,CAAC,GAAG,CAAC,EAAE;QAClE;QACA;QACA;QACA;QACA;QACA;;QAEAc,YAAY,GAAGA,YAAY,GAAGC,IAAI;QAClCtB,KAAK,GAAG,CAAC;UAAEc,IAAI,EAAEO,YAAY;UAAEZ,KAAK;UAAEF;QAAG,CAAC,CAAC;QAC3CR,KAAK,GAAG,CAAC;MACX,CAAC,MAAM;QACL,IAAIC,KAAK,CAACD,KAAK,CAAC,CAACe,IAAI,KAAKA,IAAI,EAAE;UAC9BO,YAAY,GAAGA,YAAY,GAAGC,IAAI;QACpC;QACAtB,KAAK,CAACD,KAAK,CAAC,GAAG;UAAEe,IAAI;UAAEL,KAAK;UAAEF;QAAG,CAAC;MACpC;MAEAC,MAAM,CAACF,OAAO,CAACmB,YAAY,CAAC;QAAElB;MAAG,CAAC,EAAE,EAAE,EAAEc,YAAY,CAAC;IACvD,CAAC;IAED;IACA;IACA;IACA;IACA;IACAK,EAAEA,CAACC,CAAS,EAAE;MACZzB,SAAS,CAAC,CAAC;;MAEX;MACA;MACA,MAAM0B,SAAS,GAAG7B,KAAK,GAAG4B,CAAC;MAC3B,MAAME,aAAa,GAAG7B,KAAK,CAACkB,MAAM,GAAG,CAAC;MACtC,IAAIS,CAAC,GAAG,CAAC,IAAI,CAAC3B,KAAK,CAAC4B,SAAS,CAAC,EAAE;QAC9B;QACAD,CAAC,GAAG,CAAC5B,KAAK;QACVA,KAAK,GAAG,CAAC;MACX,CAAC,MAAM,IAAI4B,CAAC,GAAG,CAAC,IAAIC,SAAS,GAAGC,aAAa,EAAE;QAC7C;QACAF,CAAC,GAAGE,aAAa,GAAG9B,KAAK;QACzBA,KAAK,GAAG8B,aAAa;MACvB,CAAC,MAAM;QACL9B,KAAK,GAAG6B,SAAS;MACnB;MAEA,IAAID,CAAC,KAAK,CAAC,EAAE;QACX;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA,OAAO,IAAIG,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;QAC5C,MAAMC,IAAI,GAAIC,WAAqB,IAAK;UACtCC,YAAY,CAACC,KAAK,CAAC;UAEnB,IAAIF,WAAW,EAAE;YACfF,MAAM,CAAC,IAAIK,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC3D;UACF;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA,MAAM;YAAEC;UAAM,CAAC,GAAG9B,MAAM,CAAC+B,QAAQ;UAEjC/B,MAAM,CAAC+B,QAAQ,CAACD,KAAK,GAAG,EAAE;UAC1B9B,MAAM,CAAC+B,QAAQ,CAACD,KAAK,GAAGA,KAAK;UAE7BP,OAAO,CAAC,CAAC;QACX,CAAC;QAED9B,OAAO,CAACe,IAAI,CAAC;UAAEwB,GAAG,EAAEP,IAAI;UAAE5B,EAAE,EAAE4B;QAAK,CAAC,CAAC;;QAErC;QACA;QACA;QACA;QACA;QACA,MAAMG,KAAK,GAAGK,UAAU,CAAC,MAAM;UAC7B,MAAMC,UAAU,GAAGzC,OAAO,CAACS,SAAS,CAAEN,EAAE,IAAKA,EAAE,CAACoC,GAAG,KAAKP,IAAI,CAAC;UAE7D,IAAIS,UAAU,GAAG,CAAC,CAAC,EAAE;YACnBzC,OAAO,CAACyC,UAAU,CAAC,CAACrC,EAAE,CAAC,CAAC;YACxBJ,OAAO,CAAC0C,MAAM,CAACD,UAAU,EAAE,CAAC,CAAC;UAC/B;UAEA3C,KAAK,GAAG,IAAI,CAACA,KAAK;QACpB,CAAC,EAAE,GAAG,CAAC;QAEP,MAAM6C,UAAU,GAAGA,CAAA,KAAM;UACvB;UACA;UACA7C,KAAK,GAAG,IAAI,CAACA,KAAK;UAElB,MAAM8C,IAAI,GAAG5C,OAAO,CAAC6C,GAAG,CAAC,CAAC;UAE1BtC,MAAM,CAACuC,mBAAmB,CAAC,UAAU,EAAEH,UAAU,CAAC;UAClDC,IAAI,EAAExC,EAAE,CAAC,CAAC;QACZ,CAAC;QAEDG,MAAM,CAACwC,gBAAgB,CAAC,UAAU,EAAEJ,UAAU,CAAC;QAC/CpC,MAAM,CAACF,OAAO,CAACoB,EAAE,CAACC,CAAC,CAAC;MACtB,CAAC,CAAC;IACJ,CAAC;IAED;IACA;IACA;IACAsB,MAAMA,CAACC,QAAoB,EAAE;MAC3B,MAAMN,UAAU,GAAGA,CAAA,KAAM;QACvB;QACA;QACA7C,KAAK,GAAG,IAAI,CAACA,KAAK;QAElB,IAAIE,OAAO,CAACiB,MAAM,EAAE;UAClB;UACA;QACF;QAEAgC,QAAQ,CAAC,CAAC;MACZ,CAAC;MAED1C,MAAM,CAACwC,gBAAgB,CAAC,UAAU,EAAEJ,UAAU,CAAC;MAE/C,OAAO,MAAMpC,MAAM,CAACuC,mBAAmB,CAAC,UAAU,EAAEH,UAAU,CAAC;IACjE;EACF,CAAC;EAED,OAAOtC,OAAO;AAChB","ignoreList":[]} -+{"version":3,"names":["nanoid","findFocusedRouteKey","createMemoryHistory","index","items","pending","interrupt","forEach","it","cb","id","window","history","state","findIndex","item","get","backIndex","path","i","push","slice","length","pushState","replace","pathWithHash","hash","includes","location","replaceState","go","n","nextIndex","lastItemIndex","Promise","resolve","reject","done","interrupted","clearTimeout","timer","Error","title","document","ref","setTimeout","foundIndex","splice","onPopState","last","pop","removeEventListener","addEventListener","listen","listener"],"sourceRoot":"../../src","sources":["createMemoryHistory.tsx"],"mappings":";;AACA,SAASA,MAAM,QAAQ,mBAAmB;AAE1C,SAASC,mBAAmB,QAAQ,0BAAuB;AAW3D,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,KAAsB,GAAG,EAAE;;EAE/B;EACA;EACA,MAAMC,OAAgE,GAAG,EAAE;EAE3E,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB;IACA;IACA;IACAD,OAAO,CAACE,OAAO,CAAEC,EAAE,IAAK;MACtB,MAAMC,EAAE,GAAGD,EAAE,CAACC,EAAE;MAChBD,EAAE,CAACC,EAAE,GAAG,MAAMA,EAAE,CAAC,IAAI,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACL,IAAIL,KAAKA,CAAA,EAAoB;MAC3B,OAAOA,KAAK;IACd,CAAC;IAED,IAAID,KAAKA,CAAA,EAAW;MAClB;MACA;MACA,MAAMO,EAAE,GAAGC,MAAM,CAACC,OAAO,CAACC,KAAK,EAAEH,EAAE;MAEnC,IAAIA,EAAE,EAAE;QACN,MAAMP,KAAK,GAAGC,KAAK,CAACU,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACL,EAAE,KAAKA,EAAE,CAAC;QAEvD,OAAOP,KAAK,GAAG,CAAC,CAAC,GAAGA,KAAK,GAAG,CAAC;MAC/B;MAEA,OAAO,CAAC;IACV,CAAC;IAEDa,GAAGA,CAACb,KAAa,EAAE;MACjB,OAAOC,KAAK,CAACD,KAAK,CAAC;IACrB,CAAC;IAEDc,SAASA,CAAC;MAAEC,IAAI;MAAEL;IAAgD,CAAC,EAAE;MACnE;MACA,KAAK,IAAIM,CAAC,GAAGhB,KAAK,GAAG,CAAC,EAAEgB,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QACnC,MAAMJ,IAAI,GAAGX,KAAK,CAACe,CAAC,CAAC;QAErB,IACEJ,IAAI,CAACG,IAAI,KAAKA,IAAI,IAClBjB,mBAAmB,CAACc,IAAI,CAACF,KAAK,CAAC,KAAKZ,mBAAmB,CAACY,KAAK,CAAC,EAC9D;UACA,OAAOM,CAAC;QACV;MACF;MAEA,OAAO,CAAC,CAAC;IACX,CAAC;IAEDC,IAAIA,CAAC;MAAEF,IAAI;MAAEL;IAAgD,CAAC,EAAE;MAC9DP,SAAS,CAAC,CAAC;MAEX,MAAMI,EAAE,GAAGV,MAAM,CAAC,CAAC;;MAEnB;MACA;MACAI,KAAK,GAAGA,KAAK,CAACiB,KAAK,CAAC,CAAC,EAAElB,KAAK,GAAG,CAAC,CAAC;MAEjCC,KAAK,CAACgB,IAAI,CAAC;QAAEF,IAAI;QAAEL,KAAK;QAAEH;MAAG,CAAC,CAAC;MAC/BP,KAAK,GAAGC,KAAK,CAACkB,MAAM,GAAG,CAAC;;MAExB;MACA;MACA;MACA;MACAX,MAAM,CAACC,OAAO,CAACW,SAAS,CAAC;QAAEb;MAAG,CAAC,EAAE,EAAE,EAAEQ,IAAI,CAAC;IAC5C,CAAC;IAEDM,OAAOA,CAAC;MAAEN,IAAI;MAAEL;IAAgD,CAAC,EAAE;MACjEP,SAAS,CAAC,CAAC;MAEX,MAAMI,EAAE,GAAGC,MAAM,CAACC,OAAO,CAACC,KAAK,EAAEH,EAAE,IAAIV,MAAM,CAAC,CAAC;;MAE/C;MACA;MACA,IAAIyB,YAAY,GAAGP,IAAI,CAACM,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;MACjD,MAAME,IAAI,GAAGD,YAAY,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAGC,QAAQ,CAACF,IAAI;MAE5D,IAAI,CAACtB,KAAK,CAACkB,MAAM,IAAIlB,KAAK,CAACU,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACL,EAAE,KAAKA,EAAE,CAAC,GAAG,CAAC,EAAE;QAClE;QACA;QACA;QACA;QACA;QACA;;QAEAe,YAAY,GAAGA,YAAY,GAAGC,IAAI;QAClCtB,KAAK,GAAG,CAAC;UAAEc,IAAI,EAAEO,YAAY;UAAEZ,KAAK;UAAEH;QAAG,CAAC,CAAC;QAC3CP,KAAK,GAAG,CAAC;MACX,CAAC,MAAM;QACL,IAAIC,KAAK,CAACD,KAAK,CAAC,CAACe,IAAI,KAAKA,IAAI,EAAE;UAC9BO,YAAY,GAAGA,YAAY,GAAGC,IAAI;QACpC;QACAtB,KAAK,CAACD,KAAK,CAAC,GAAG;UAAEe,IAAI;UAAEL,KAAK;UAAEH;QAAG,CAAC;MACpC;MAEAC,MAAM,CAACC,OAAO,CAACiB,YAAY,CAAC;QAAEnB;MAAG,CAAC,EAAE,EAAE,EAAEe,YAAY,CAAC;IACvD,CAAC;IAED;IACA;IACA;IACA;IACA;IACAK,EAAEA,CAACC,CAAS,EAAE;MACZzB,SAAS,CAAC,CAAC;;MAEX;MACA;MACA,MAAM0B,SAAS,GAAG7B,KAAK,GAAG4B,CAAC;MAC3B,MAAME,aAAa,GAAG7B,KAAK,CAACkB,MAAM,GAAG,CAAC;MACtC,IAAIS,CAAC,GAAG,CAAC,IAAI,CAAC3B,KAAK,CAAC4B,SAAS,CAAC,EAAE;QAC9B;QACAD,CAAC,GAAG,CAAC5B,KAAK;QACVA,KAAK,GAAG,CAAC;MACX,CAAC,MAAM,IAAI4B,CAAC,GAAG,CAAC,IAAIC,SAAS,GAAGC,aAAa,EAAE;QAC7C;QACAF,CAAC,GAAGE,aAAa,GAAG9B,KAAK;QACzBA,KAAK,GAAG8B,aAAa;MACvB,CAAC,MAAM;QACL9B,KAAK,GAAG6B,SAAS;MACnB;MAEA,IAAID,CAAC,KAAK,CAAC,EAAE;QACX;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA,OAAO,IAAIG,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;QAC5C,MAAMC,IAAI,GAAIC,WAAqB,IAAK;UACtCC,YAAY,CAACC,KAAK,CAAC;UAEnB,IAAIF,WAAW,EAAE;YACfF,MAAM,CAAC,IAAIK,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC3D;UACF;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA,MAAM;YAAEC;UAAM,CAAC,GAAG/B,MAAM,CAACgC,QAAQ;UAEjChC,MAAM,CAACgC,QAAQ,CAACD,KAAK,GAAG,EAAE;UAC1B/B,MAAM,CAACgC,QAAQ,CAACD,KAAK,GAAGA,KAAK;UAE7BP,OAAO,CAAC,CAAC;QACX,CAAC;QAED9B,OAAO,CAACe,IAAI,CAAC;UAAEwB,GAAG,EAAEP,IAAI;UAAE5B,EAAE,EAAE4B;QAAK,CAAC,CAAC;;QAErC;QACA;QACA;QACA;QACA;QACA,MAAMG,KAAK,GAAGK,UAAU,CAAC,MAAM;UAC7B,MAAMC,UAAU,GAAGzC,OAAO,CAACS,SAAS,CAAEN,EAAE,IAAKA,EAAE,CAACoC,GAAG,KAAKP,IAAI,CAAC;UAE7D,IAAIS,UAAU,GAAG,CAAC,CAAC,EAAE;YACnBzC,OAAO,CAACyC,UAAU,CAAC,CAACrC,EAAE,CAAC,CAAC;YACxBJ,OAAO,CAAC0C,MAAM,CAACD,UAAU,EAAE,CAAC,CAAC;UAC/B;UAEA3C,KAAK,GAAG,IAAI,CAACA,KAAK;QACpB,CAAC,EAAE,GAAG,CAAC;QAEP,MAAM6C,UAAU,GAAGA,CAAA,KAAM;UACvB;UACA;UACA7C,KAAK,GAAG,IAAI,CAACA,KAAK;UAElB,MAAM8C,IAAI,GAAG5C,OAAO,CAAC6C,GAAG,CAAC,CAAC;UAE1BvC,MAAM,CAACwC,mBAAmB,CAAC,UAAU,EAAEH,UAAU,CAAC;UAClDC,IAAI,EAAExC,EAAE,CAAC,CAAC;QACZ,CAAC;QAEDE,MAAM,CAACyC,gBAAgB,CAAC,UAAU,EAAEJ,UAAU,CAAC;QAC/CrC,MAAM,CAACC,OAAO,CAACkB,EAAE,CAACC,CAAC,CAAC;MACtB,CAAC,CAAC;IACJ,CAAC;IAED;IACA;IACA;IACAsB,MAAMA,CAACC,QAAoB,EAAE;MAC3B,MAAMN,UAAU,GAAGA,CAAA,KAAM;QACvB;QACA;QACA7C,KAAK,GAAG,IAAI,CAACA,KAAK;QAElB,IAAIE,OAAO,CAACiB,MAAM,EAAE;UAClB;UACA;QACF;QAEAgC,QAAQ,CAAC,CAAC;MACZ,CAAC;MAED3C,MAAM,CAACyC,gBAAgB,CAAC,UAAU,EAAEJ,UAAU,CAAC;MAE/C,OAAO,MAAMrC,MAAM,CAACwC,mBAAmB,CAAC,UAAU,EAAEH,UAAU,CAAC;IACjE;EACF,CAAC;AACH","ignoreList":[]} -diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js -new file mode 100644 -index 0000000..3b676f8 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js -@@ -0,0 +1,8 @@ -+"use strict"; -+ -+import { findFocusedRoute } from '@react-navigation/core'; -+export function findFocusedRouteKey(state) { -+ const focusedRoute = findFocusedRoute(state); -+ return focusedRoute?.key; -+} -+//# sourceMappingURL=findFocusedRouteKey.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js.map b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js.map -new file mode 100644 -index 0000000..4a4b3ea ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js.map -@@ -0,0 +1 @@ -+{"version":3,"names":["findFocusedRoute","findFocusedRouteKey","state","focusedRoute","key"],"sourceRoot":"../../src","sources":["findFocusedRouteKey.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,wBAAwB;AAGzD,OAAO,SAASC,mBAAmBA,CAACC,KAAmB,EAAE;EACvD,MAAMC,YAAY,GAAGH,gBAAgB,CAACE,KAAK,CAAC;EAC5C,OAAOC,YAAY,EAAEC,GAAG;AAC1B","ignoreList":[]} -diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js -index d30009f..0dab822 100644 ---- a/node_modules/@react-navigation/native/lib/module/useLinking.js -+++ b/node_modules/@react-navigation/native/lib/module/useLinking.js -@@ -4,6 +4,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP - import isEqual from 'fast-deep-equal'; - import * as React from 'react'; - import { createMemoryHistory } from "./createMemoryHistory.js"; -+import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; - import { ServerContext } from "./ServerContext.js"; - /** - * Find the matching navigation state that changed between 2 navigation states -@@ -45,6 +46,43 @@ export const series = cb => { - return callback; - }; - const linkingHandlers = []; -+function getAllStateKeys(state) { -+ const current = state; -+ const keys = []; -+ if (current.routes) { -+ for (const route of current.routes) { -+ keys.push(route.key); -+ if (route.state) { -+ keys.push(...getAllStateKeys(route.state)); -+ } -+ } -+ } -+ return keys; -+} -+function getStaleHistoryDiff(items, newState) { -+ const newStateKeys = getAllStateKeys(newState); -+ for (let i = items.length - 1; i >= 0; i--) { -+ const itemFocusedKey = findFocusedRouteKey(items[i].state); -+ if (newStateKeys.includes(itemFocusedKey)) { -+ return items.length - i - 1; -+ } -+ } -+ return -1; -+} -+function getHistoryDeltaByKeys(focusedState, previousFocusedState) { -+ const focusedStateKeys = focusedState.routes.map(r => r.key); -+ const previousFocusedStateKeys = previousFocusedState.routes.map(r => r.key); -+ const minLength = Math.min(focusedStateKeys.length, previousFocusedStateKeys.length); -+ let matchingKeys = 0; -+ for (let i = 0; i < minLength; i++) { -+ if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { -+ matchingKeys++; -+ } else { -+ break; -+ } -+ } -+ return -(previousFocusedStateKeys.length - matchingKeys); -+} - export function useLinking(ref, { - enabled = true, - config, -@@ -256,6 +294,9 @@ export function useLinking(ref, { - // Otherwise it's likely a change triggered by `popstate` - path !== pendingPath) { - const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); -+ -+ // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state -+ const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); - if (historyDelta > 0) { - // If history length is increased, we should pushState - // Note that path might not actually change here, for example, drawer open should pushState -@@ -267,7 +308,8 @@ export function useLinking(ref, { - // If history length is decreased, i.e. entries were removed, we want to go back - - const nextIndex = history.backIndex({ -- path -+ path, -+ state - }); - const currentIndex = history.index; - try { -@@ -276,11 +318,26 @@ export function useLinking(ref, { - history.get(nextIndex)) { - // An existing entry for this path exists and it's less than current index, go back to that - await history.go(nextIndex - currentIndex); -+ history.replace({ -+ path, -+ state -+ }); - } else { - // We couldn't find an existing entry to go back to, so we'll go back by the delta - // This won't be correct if multiple routes were pushed in one go before - // Usually this shouldn't happen and this is a fallback for that -- await history.go(historyDelta); -+ await history.go(historyDeltaByKeys); -+ if (historyDeltaByKeys + 1 === historyDelta) { -+ history.push({ -+ path, -+ state -+ }); -+ } else { -+ history.replace({ -+ path, -+ state -+ }); -+ } - } - - // Store the updated state as well as fix the path if incorrect -@@ -293,10 +350,22 @@ export function useLinking(ref, { - } - } else { - // If history length is unchanged, we want to replaceState -- history.replace({ -- path, -- state -- }); -+ // and remove any entries from history which focused route no longer exists in state -+ // That may happen if we replace a whole navigator. -+ -+ const staleHistoryDiff = getStaleHistoryDiff(history.items.slice(0, history.index + 1), state); -+ if (staleHistoryDiff <= 0) { -+ history.replace({ -+ path, -+ state -+ }); -+ } else { -+ await history.go(-staleHistoryDiff); -+ history.push({ -+ path, -+ state -+ }); -+ } - } - } else { - // If no common navigation state was found, assume it's a replace -diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js.map b/node_modules/@react-navigation/native/lib/module/useLinking.js.map -index afa43ce..acf80fc 100644 ---- a/node_modules/@react-navigation/native/lib/module/useLinking.js.map -+++ b/node_modules/@react-navigation/native/lib/module/useLinking.js.map -@@ -1 +1 @@ --{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","config","onUnhandledLinking","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","resetRoot","action","dispatch","e","warn","message","getPathForRoute","route","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]} -+{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","findFocusedRouteKey","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","getAllStateKeys","current","keys","route","push","getStaleHistoryDiff","items","newState","newStateKeys","i","itemFocusedKey","includes","getHistoryDeltaByKeys","focusedState","previousFocusedState","focusedStateKeys","map","r","previousFocusedStateKeys","minLength","Math","min","matchingKeys","useLinking","ref","enabled","config","onUnhandledLinking","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","routeNames","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","resetRoot","action","dispatch","e","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","historyDelta","historyDeltaByKeys","nextIndex","backIndex","currentIndex","go","staleHistoryDiff","slice","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]} -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts -new file mode 100644 -index 0000000..2a699ed ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=Link.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts.map -new file mode 100644 -index 0000000..19c8be9 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/Link.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"Link.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/Link.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts -new file mode 100644 -index 0000000..ffc70df ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=NavigationContainer.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts.map -new file mode 100644 -index 0000000..9e5a8d5 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/NavigationContainer.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"NavigationContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/NavigationContainer.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts -new file mode 100644 -index 0000000..e142b8b ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=ServerContainer.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts.map -new file mode 100644 -index 0000000..39163ac ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/ServerContainer.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"ServerContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/ServerContainer.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts -new file mode 100644 -index 0000000..7896890 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=createMemoryHistory.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts.map -new file mode 100644 -index 0000000..58f591b ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createMemoryHistory.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"createMemoryHistory.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createMemoryHistory.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts -new file mode 100644 -index 0000000..14eb2c4 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=createStaticNavigation.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts.map -new file mode 100644 -index 0000000..ca06c90 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/createStaticNavigation.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"createStaticNavigation.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createStaticNavigation.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts -new file mode 100644 -index 0000000..be5d649 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=extractPathFromURL.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts.map -new file mode 100644 -index 0000000..630ee12 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/extractPathFromURL.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"extractPathFromURL.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/extractPathFromURL.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts -new file mode 100644 -index 0000000..cca7e72 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useLinkBuilder.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts.map -new file mode 100644 -index 0000000..b803a80 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinkBuilder.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useLinkBuilder.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useLinkBuilder.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts -new file mode 100644 -index 0000000..d0ed2fa ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useLinking.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts.map -new file mode 100644 -index 0000000..0e47c4b ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useLinking.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useLinking.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useLinking.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts -new file mode 100644 -index 0000000..73a251a ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useRoutePath.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts.map -new file mode 100644 -index 0000000..c22af00 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/__tests__/useRoutePath.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useRoutePath.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoutePath.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts -index 0036e1b..513791b 100644 ---- a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts -+++ b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts -@@ -5,10 +5,12 @@ type HistoryRecord = { - path: string; - }; - export declare function createMemoryHistory(): { -+ readonly items: HistoryRecord[]; - readonly index: number; - get(index: number): HistoryRecord; -- backIndex({ path }: { -+ backIndex({ path, state }: { - path: string; -+ state: NavigationState; - }): number; - push({ path, state }: { - path: string; -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map -index d581252..506eaca 100644 ---- a/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map -+++ b/node_modules/@react-navigation/native/lib/typescript/src/createMemoryHistory.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"createMemoryHistory.d.ts","sourceRoot":"","sources":["../../../src/createMemoryHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,KAAK,aAAa,GAAG;IAEnB,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,eAAe,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,mBAAmB;oBAmBlB,MAAM;eAcR,MAAM;wBAIG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;0BAad;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;6BAmBrC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;UAoC3D,MAAM;qBA0FK,MAAM,IAAI;EAqB9B"} -\ No newline at end of file -+{"version":3,"file":"createMemoryHistory.d.ts","sourceRoot":"","sources":["../../../src/createMemoryHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,KAAK,aAAa,GAAG;IAEnB,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,eAAe,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,mBAAmB;oBAmBlB,aAAa,EAAE;oBAIf,MAAM;eAcR,MAAM;+BAIU;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;0BAgB7C;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;6BAmBrC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;UAoC3D,MAAM;qBA0FK,MAAM,IAAI;EAmB9B"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts -new file mode 100644 -index 0000000..e9329dc ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts -@@ -0,0 +1,3 @@ -+import type { InitialState } from '@react-navigation/routers'; -+export declare function findFocusedRouteKey(state: InitialState): string | undefined; -+//# sourceMappingURL=findFocusedRouteKey.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts.map -new file mode 100644 -index 0000000..db5f503 ---- /dev/null -+++ b/node_modules/@react-navigation/native/lib/typescript/src/findFocusedRouteKey.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"findFocusedRouteKey.d.ts","sourceRoot":"","sources":["../../../src/findFocusedRouteKey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,sBAGtD"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map b/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map -index c440d53..9ec8243 100644 ---- a/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map -+++ b/node_modules/@react-navigation/native/lib/typescript/src/useLinking.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA0C9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO,EACV,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI;2BAmGhD,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EAkQ1D"} -\ No newline at end of file -+{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA0C9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAsDF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO,EACV,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI;2BAmGhD,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EA0R1D"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native/src/__tests__/Link.test.tsx b/node_modules/@react-navigation/native/src/__tests__/Link.test.tsx -new file mode 100644 -index 0000000..613c292 ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/Link.test.tsx -@@ -0,0 +1,197 @@ -+import { expect, jest, test } from '@jest/globals'; -+import { fireEvent, render } from '@testing-library/react-native'; -+import { Platform } from 'react-native'; -+ -+import { createStackNavigator } from '../__stubs__/createStackNavigator'; -+import { Link } from '../Link'; -+import { NavigationContainer } from '../NavigationContainer'; -+ -+type RootParamList = { Foo: undefined; Bar: { id: string } }; -+ -+jest.replaceProperty(Platform, 'OS', 'web'); -+ -+test('renders link with href on web', () => { -+ const config = { -+ prefixes: ['https://example.com'], -+ config: { -+ screens: { -+ Foo: 'foo', -+ Bar: 'bar/:id', -+ }, -+ }, -+ getInitialURL() { -+ return null; -+ }, -+ }; -+ -+ const Stack = createStackNavigator(); -+ -+ const FooScreen = () => { -+ return ( -+ screen="Bar" params={{ id: '42' }}> -+ Go to Bar -+ -+ ); -+ }; -+ -+ const BarScreen = () => { -+ return screen="Foo">Go to Foo; -+ }; -+ -+ const { getByText, toJSON } = render( -+ -+ -+ -+ -+ -+ -+ ); -+ -+ expect(toJSON()).toMatchInlineSnapshot(` -+ -+ Go to Bar -+ -+`); -+ -+ const event = { -+ defaultPrevented: false, -+ preventDefault() { -+ event.defaultPrevented = true; -+ }, -+ }; -+ -+ fireEvent.press(getByText('Go to Bar'), event); -+ -+ expect(toJSON()).toMatchInlineSnapshot(` -+ -+ Go to Foo -+ -+`); -+}); -+ -+test("doesn't navigate if default was prevented", () => { -+ const config = { -+ prefixes: ['https://example.com'], -+ config: { -+ screens: { -+ Foo: 'foo', -+ Bar: 'bar/:id', -+ }, -+ }, -+ getInitialURL() { -+ return null; -+ }, -+ }; -+ -+ const Stack = createStackNavigator(); -+ -+ const FooScreen = () => { -+ return ( -+ -+ screen="Bar" -+ params={{ id: '42' }} -+ onPress={(e) => e.preventDefault()} -+ > -+ Go to Bar -+ -+ ); -+ }; -+ -+ const BarScreen = () => { -+ return screen="Foo">Go to Foo; -+ }; -+ -+ const { getByText, toJSON } = render( -+ -+ -+ -+ -+ -+ -+ ); -+ -+ expect(toJSON()).toMatchInlineSnapshot(` -+ -+ Go to Bar -+ -+`); -+ -+ const event = { -+ defaultPrevented: false, -+ preventDefault() { -+ event.defaultPrevented = true; -+ }, -+ }; -+ -+ fireEvent.press(getByText('Go to Bar'), event); -+ -+ expect(toJSON()).toMatchInlineSnapshot(` -+ -+ Go to Bar -+ -+`); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/NavigationContainer.test.tsx b/node_modules/@react-navigation/native/src/__tests__/NavigationContainer.test.tsx -new file mode 100644 -index 0000000..48d4f59 ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/NavigationContainer.test.tsx -@@ -0,0 +1,145 @@ -+import { expect, jest, test } from '@jest/globals'; -+import { -+ createNavigationContainerRef, -+ createNavigatorFactory, -+ type ParamListBase, -+ StackRouter, -+ TabRouter, -+ useNavigationBuilder, -+} from '@react-navigation/core'; -+import { act, render, waitFor } from '@testing-library/react-native'; -+ -+import { window } from '../__stubs__/window'; -+import { NavigationContainer } from '../NavigationContainer'; -+ -+Object.assign(global, window); -+ -+// We want to use the web version of useLinking -+// eslint-disable-next-line import-x/extensions -+jest.mock('../useLinking', () => require('../useLinking.tsx')); -+ -+test('integrates with the history API', async () => { -+ const createStackNavigator = createNavigatorFactory((props: any) => { -+ const { state, descriptors, NavigationContent } = useNavigationBuilder( -+ StackRouter, -+ props -+ ); -+ -+ return ( -+ -+ {state.routes.map((route, i) => ( -+
-+ {descriptors[route.key].render()} -+
-+ ))} -+
-+ ); -+ }); -+ -+ const createTabNavigator = createNavigatorFactory((props: any) => { -+ const { state, descriptors, NavigationContent } = useNavigationBuilder( -+ TabRouter, -+ props -+ ); -+ -+ return ( -+ -+ {state.routes.map((route, i) => ( -+
-+ {descriptors[route.key].render()} -+
-+ ))} -+
-+ ); -+ }); -+ -+ const Stack = createStackNavigator(); -+ const Tab = createTabNavigator(); -+ -+ const TestScreen = ({ route }: any): any => -+ `${route.name} ${JSON.stringify(route.params)}`; -+ -+ const linking = { -+ prefixes: [], -+ config: { -+ screens: { -+ Home: { -+ path: '', -+ initialRouteName: 'Feed', -+ screens: { -+ Profile: ':user', -+ Settings: 'edit', -+ Updates: 'updates', -+ Feed: 'feed', -+ }, -+ }, -+ Chat: 'chat', -+ }, -+ }, -+ }; -+ -+ const navigation = createNavigationContainerRef(); -+ -+ render( -+ -+ -+ -+ {() => ( -+ -+ -+ -+ -+ -+ -+ )} -+ -+ -+ -+ -+ ); -+ -+ expect(window.location.pathname).toBe('/feed'); -+ -+ act(() => navigation.current?.navigate('Profile', { user: 'jane' })); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/jane')); -+ -+ act(() => navigation.current?.navigate('Updates')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/updates')); -+ -+ act(() => navigation.current?.goBack()); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/jane')); -+ -+ act(() => { -+ window.history.back(); -+ }); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/feed')); -+ -+ act(() => { -+ window.history.forward(); -+ }); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/jane')); -+ -+ act(() => navigation.current?.navigate('Settings')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/edit')); -+ -+ act(() => { -+ window.history.go(-2); -+ }); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/feed')); -+ -+ act(() => navigation.current?.navigate('Settings')); -+ act(() => navigation.current?.navigate('Chat')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/chat')); -+ -+ act(() => navigation.current?.navigate('Home')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/edit')); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/ServerContainer.test.tsx b/node_modules/@react-navigation/native/src/__tests__/ServerContainer.test.tsx -new file mode 100644 -index 0000000..79908c3 ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/ServerContainer.test.tsx -@@ -0,0 +1,244 @@ -+import { expect, jest, test } from '@jest/globals'; -+import { -+ createNavigatorFactory, -+ type DefaultNavigatorOptions, -+ type NavigationListBase, -+ type NavigatorScreenParams, -+ type ParamListBase, -+ type StackNavigationState, -+ StackRouter, -+ TabRouter, -+ type TypedNavigator, -+ useNavigationBuilder, -+} from '@react-navigation/core'; -+import * as React from 'react'; -+import { renderToString } from 'react-dom/server'; -+ -+import { NavigationContainer } from '../NavigationContainer'; -+import { ServerContainer } from '../ServerContainer'; -+import type { ServerContainerRef } from '../types'; -+ -+// @ts-expect-error: practically window is same as global, so we can ignore the error -+global.window = global; -+ -+window.addEventListener = () => {}; -+window.removeEventListener = () => {}; -+ -+// We want to use the web version of useLinking -+// eslint-disable-next-line import-x/extensions -+jest.mock('../useLinking', () => require('../useLinking.tsx')); -+ -+// Since Jest is configured for React Native, the *.native.js file is imported -+// Causing the wrong useIsomorphicLayoutEffect to be imported -+// It causes "Warning: useLayoutEffect does nothing on the server" -+// So we explicitly silence it here -+// This warning is being removed in React: https://github.com/facebook/react/pull/26395 -+const error = console.error; -+ -+jest.spyOn(console, 'error').mockImplementation((...args) => { -+ if (/Warning: useLayoutEffect does nothing on the server/m.test(args[0])) { -+ return; -+ } -+ -+ error(...args); -+}); -+ -+test('renders correct state with location', () => { -+ const StackNavigator = ( -+ props: DefaultNavigatorOptions< -+ ParamListBase, -+ string | undefined, -+ StackNavigationState, -+ {}, -+ {}, -+ unknown -+ > -+ ) => { -+ const { state, descriptors, NavigationContent } = useNavigationBuilder( -+ StackRouter, -+ props -+ ); -+ -+ return ( -+ -+ {state.routes.map((route) => ( -+
{descriptors[route.key].render()}
-+ ))} -+
-+ ); -+ }; -+ -+ function createStackNavigator(): TypedNavigator<{ -+ ParamList: ParamList; -+ NavigatorID: string | undefined; -+ State: StackNavigationState; -+ ScreenOptions: {}; -+ EventMap: {}; -+ NavigationList: NavigationListBase; -+ Navigator: typeof StackNavigator; -+ }> { -+ return createNavigatorFactory(StackNavigator)(); -+ } -+ -+ type StackAParamList = { -+ Home: NavigatorScreenParams; -+ Chat: undefined; -+ }; -+ -+ type StackBParamList = { -+ Profile: undefined; -+ Settings: undefined; -+ Feed: undefined; -+ Updates: undefined; -+ }; -+ -+ const StackA = createStackNavigator(); -+ const StackB = createStackNavigator(); -+ -+ const TestScreen = ({ route }: any): any => -+ `${route.name} ${JSON.stringify(route.params)}`; -+ -+ const NestedStack = () => { -+ return ( -+ -+ -+ -+ -+ -+ -+ ); -+ }; -+ -+ const element = ( -+ -+ linking={{ -+ prefixes: [], -+ config: { -+ screens: { -+ Home: { -+ initialRouteName: 'Profile', -+ screens: { -+ Settings: { -+ path: ':user/edit', -+ }, -+ Updates: { -+ path: ':user/updates', -+ }, -+ }, -+ }, -+ }, -+ }, -+ }} -+ > -+ -+ -+ -+ -+ -+ ); -+ -+ // @ts-expect-error: we don't care about adding all properties on location for the test -+ window.location = { pathname: '/jane/edit', search: '' }; -+ -+ const client = renderToString(element); -+ -+ expect(client).toMatchInlineSnapshot( -+ `"
Profile undefined
Settings {"user":"jane"}
"` -+ ); -+ -+ const server = renderToString( -+ -+ {element} -+ -+ ); -+ -+ expect(server).toMatchInlineSnapshot( -+ `"
Profile undefined
Updates {"user":"john"}
"` -+ ); -+}); -+ -+test('gets the current options', () => { -+ const createTabNavigator = createNavigatorFactory((props: any) => { -+ const { state, descriptors, NavigationContent } = useNavigationBuilder( -+ TabRouter, -+ props -+ ); -+ -+ return ( -+ -+ {state.routes.map((route) => ( -+
{descriptors[route.key].render()}
-+ ))} -+
-+ ); -+ }); -+ -+ const Tab = createTabNavigator(); -+ -+ const TestScreen = ({ route }: any): any => -+ `${route.name} ${JSON.stringify(route.params)}`; -+ -+ const NestedStack = () => { -+ return ( -+ -+ -+ -+ -+ -+ -+ ); -+ }; -+ -+ const ref = React.createRef(); -+ -+ renderToString( -+ -+ -+ -+ -+ -+ -+ -+ -+ ); -+ -+ expect(ref.current?.getCurrentOptions()).toEqual({ -+ title: 'Updates from cloud', -+ description: 'Woah', -+ }); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/createMemoryHistory.test.tsx b/node_modules/@react-navigation/native/src/__tests__/createMemoryHistory.test.tsx -new file mode 100644 -index 0000000..0a8590f ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/createMemoryHistory.test.tsx -@@ -0,0 +1,160 @@ -+import { expect, jest, test } from '@jest/globals'; -+import type { NavigationState } from '@react-navigation/core'; -+ -+import { window } from '../__stubs__/window'; -+import { createMemoryHistory } from '../createMemoryHistory'; -+ -+Object.assign(global, window); -+ -+// eslint-disable-next-line import-x/extensions -+jest.mock('../useLinking', () => require('../useLinking.tsx')); -+ -+test('will not attempt to navigate beyond whatever browser history it is possible to know about', () => { -+ jest.useFakeTimers(); -+ const windowGoSpy = jest.spyOn(window.history, 'go'); -+ -+ // Create a new memory history -+ const history = createMemoryHistory(); -+ -+ const mockStateOne: NavigationState = { -+ key: 'stack-123', -+ index: 0, -+ routeNames: ['One', 'Two', 'Three'], -+ routes: [ -+ { -+ name: 'One', -+ path: '/route-one', -+ key: 'One-23', -+ params: undefined, -+ }, -+ ], -+ type: 'stack', -+ stale: false, -+ }; -+ -+ // When we add a path and state value then our index value will be zero -+ history.replace({ path: '/route-one', state: mockStateOne }); -+ expect(history.index).toBe(0); -+ -+ // When we try to call history.go() with a negative value and there is nowhere to navigate to -+ // Then window.history.go() should not be called at all -+ history.go(-1); -+ jest.runAllTimers(); -+ expect(windowGoSpy).not.toHaveBeenCalled(); -+ expect(history.index).toBe(0); -+ -+ // When we push another item then window history should stay synced with memory history and our index should advance -+ const mockStateTwo: NavigationState = { -+ key: 'stack-123', -+ index: 1, -+ routeNames: ['One', 'Two', 'Three'], -+ routes: [ -+ { -+ name: 'One', -+ path: '/route-one', -+ key: 'One-23', -+ params: undefined, -+ }, -+ { -+ name: 'Two', -+ path: '/route-two', -+ key: 'Two-34', -+ params: {}, -+ }, -+ ], -+ type: 'stack', -+ stale: false, -+ }; -+ history.push({ path: '/route-two', state: mockStateTwo }); -+ expect(history.index).toBe(1); -+ -+ // When we navigate back our index should be updated -+ history.go(-1); -+ jest.runAllTimers(); -+ expect(windowGoSpy).toHaveBeenCalledTimes(1); -+ expect(history.index).toBe(0); -+ -+ // When we navigate forward once then we should see our index change -+ history.go(1); -+ jest.runAllTimers(); -+ expect(windowGoSpy).toHaveBeenCalledTimes(2); -+ expect(history.index).toBe(1); -+ -+ // If we try to go very far outside of the current bounds of memory history then we -+ // will find ourselves in the same place. -+ history.go(10); -+ jest.runAllTimers(); -+ expect(windowGoSpy).toHaveBeenCalledTimes(2); -+ expect(history.index).toBe(1); -+ -+ // Navigate back to the first index -+ history.go(-1); -+ jest.runAllTimers(); -+ expect(history.index).toBe(0); -+ expect(windowGoSpy).toHaveBeenCalledTimes(3); -+ -+ const item = history.get(0); -+ expect(window.history.state).toEqual({ id: item.id }); -+ -+ // Next replace the state and verify the item we are replacing -+ // has the same id but the path has changed -+ const mockStateThree: NavigationState = { -+ key: 'stack-123', -+ index: 0, -+ routeNames: ['One', 'Two', 'Three'], -+ routes: [ -+ { -+ name: 'Three', -+ path: '/route-three', -+ key: 'Three-23', -+ params: undefined, -+ }, -+ { -+ name: 'Two', -+ path: '/route-two', -+ key: 'Two-23', -+ params: undefined, -+ }, -+ ], -+ type: 'stack', -+ stale: false, -+ }; -+ history.replace({ path: '/route-three', state: mockStateThree }); -+ expect(history.index).toBe(0); -+ -+ const replacedItem = history.get(0); -+ expect(item.path).toBe('/route-one'); -+ expect(replacedItem.path).toBe('/route-three'); -+ expect(item.id).toEqual(replacedItem.id); -+ expect(window.history.state).toEqual({ id: replacedItem.id }); -+ -+ // Push another item -+ const mockStateFour: NavigationState = { -+ key: 'stack-123', -+ index: 1, -+ routeNames: ['One', 'Two', 'Three'], -+ routes: [ -+ { -+ name: 'Three', -+ path: '/route-three', -+ key: 'Three-23', -+ params: undefined, -+ }, -+ { -+ name: 'One', -+ path: '/route-one', -+ key: 'One-23', -+ params: undefined, -+ }, -+ ], -+ type: 'stack', -+ stale: false, -+ }; -+ -+ // Pushing a new route will remove any items after the new index -+ history.push({ path: '/route-one', state: mockStateFour }); -+ expect(history.index).toBe(1); -+ expect(history.get(0).path).toBe('/route-three'); -+ const newItem = history.get(1); -+ expect(window.history.state).toEqual({ id: newItem.id }); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/createStaticNavigation.test.tsx b/node_modules/@react-navigation/native/src/__tests__/createStaticNavigation.test.tsx -new file mode 100644 -index 0000000..169f063 ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/createStaticNavigation.test.tsx -@@ -0,0 +1,199 @@ -+import { expect, jest, test } from '@jest/globals'; -+import { -+ createNavigationContainerRef, -+ createNavigatorFactory, -+ type ParamListBase, -+ StackRouter, -+ TabRouter, -+ useNavigationBuilder, -+} from '@react-navigation/core'; -+import { act, render, waitFor } from '@testing-library/react-native'; -+ -+import { window } from '../__stubs__/window'; -+import { createStaticNavigation } from '../createStaticNavigation'; -+ -+Object.assign(global, window); -+ -+// We want to use the web version of useLinking -+// eslint-disable-next-line import-x/extensions -+jest.mock('../useLinking', () => require('../useLinking.tsx')); -+ -+test('integrates with the history API', async () => { -+ const createStackNavigator = createNavigatorFactory((props: any) => { -+ const { state, descriptors, NavigationContent } = useNavigationBuilder( -+ StackRouter, -+ props -+ ); -+ -+ return ( -+ -+ {state.routes.map((route, i) => ( -+
-+ {descriptors[route.key].render()} -+
-+ ))} -+
-+ ); -+ }); -+ -+ const createTabNavigator = createNavigatorFactory((props: any) => { -+ const { state, descriptors, NavigationContent } = useNavigationBuilder( -+ TabRouter, -+ props -+ ); -+ -+ return ( -+ -+ {state.routes.map((route, i) => ( -+
-+ {descriptors[route.key].render()} -+
-+ ))} -+
-+ ); -+ }); -+ -+ const TestScreen = ({ route }: any): any => -+ `${route.name} ${JSON.stringify(route.params)}`; -+ -+ const Stack = createStackNavigator({ -+ initialRouteName: 'Feed', -+ screens: { -+ Profile: { -+ screen: TestScreen, -+ linking: ':user', -+ }, -+ Settings: { -+ screen: TestScreen, -+ linking: 'edit', -+ }, -+ Updates: { -+ screen: TestScreen, -+ linking: 'updates', -+ }, -+ Feed: { -+ screen: TestScreen, -+ linking: 'feed', -+ }, -+ }, -+ }); -+ -+ const Tab = createTabNavigator({ -+ screens: { -+ Home: Stack, -+ Chat: { -+ screen: TestScreen, -+ linking: 'chat', -+ }, -+ }, -+ }); -+ -+ const Navigation = createStaticNavigation(Tab); -+ -+ const navigation = createNavigationContainerRef(); -+ -+ render( -+ -+ ); -+ -+ expect(window.location.pathname).toBe('/feed'); -+ -+ act(() => navigation.current?.navigate('Profile', { user: 'jane' })); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/jane')); -+ -+ act(() => navigation.current?.navigate('Updates')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/updates')); -+ -+ act(() => navigation.current?.goBack()); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/jane')); -+ -+ act(() => { -+ window.history.back(); -+ }); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/feed')); -+ -+ act(() => { -+ window.history.forward(); -+ }); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/jane')); -+ -+ act(() => navigation.current?.navigate('Settings')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/edit')); -+ -+ act(() => { -+ window.history.go(-2); -+ }); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/feed')); -+ -+ act(() => navigation.current?.navigate('Settings')); -+ act(() => navigation.current?.navigate('Chat')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/chat')); -+ -+ act(() => navigation.current?.navigate('Home')); -+ -+ await waitFor(() => expect(window.location.pathname).toBe('/edit')); -+}); -+ -+test("throws if linking is enabled but there's no linking configuration", () => { -+ const createTestNavigator = createNavigatorFactory(() => null); -+ -+ const TestScreen = () => null; -+ -+ const Stack = createTestNavigator({ -+ initialRouteName: 'Feed', -+ screens: { -+ Profile: { -+ screen: TestScreen, -+ }, -+ Settings: { -+ screen: TestScreen, -+ }, -+ Updates: { -+ screen: TestScreen, -+ }, -+ Feed: { -+ screen: TestScreen, -+ }, -+ }, -+ }); -+ -+ const Tab = createTestNavigator({ -+ screens: { -+ Home: Stack, -+ Chat: { -+ screen: TestScreen, -+ }, -+ }, -+ }); -+ -+ const Navigation = createStaticNavigation(Tab); -+ -+ expect(() => { -+ render(); -+ }).toThrow( -+ 'Linking is enabled but no linking configuration was found for the screens.' -+ ); -+ -+ expect(() => { -+ render(); -+ }).not.toThrow(); -+ -+ expect(() => { -+ render( -+ -+ ); -+ }).not.toThrow(); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/extractPathFromURL.test.tsx b/node_modules/@react-navigation/native/src/__tests__/extractPathFromURL.test.tsx -new file mode 100644 -index 0000000..3738dd7 ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/extractPathFromURL.test.tsx -@@ -0,0 +1,344 @@ -+import { expect, test } from '@jest/globals'; -+ -+import { extractPathFromURL } from '../extractPathFromURL'; -+ -+test('extracts path from URL with protocol', () => { -+ expect(extractPathFromURL(['scheme://'], 'scheme://some/path')).toBe( -+ 'some/path' -+ ); -+ -+ expect(extractPathFromURL(['scheme://'], 'scheme:some/path')).toBe( -+ 'some/path' -+ ); -+ -+ expect(extractPathFromURL(['scheme://'], 'scheme:///some/path')).toBe( -+ 'some/path' -+ ); -+ -+ expect(extractPathFromURL(['scheme:///'], 'scheme:some/path')).toBe( -+ 'some/path' -+ ); -+ -+ expect(extractPathFromURL(['scheme:'], 'scheme:some/path')).toBe('some/path'); -+ -+ expect(extractPathFromURL(['scheme:'], 'scheme://some/path')).toBe( -+ 'some/path' -+ ); -+ -+ expect(extractPathFromURL(['scheme:'], 'scheme:///some/path')).toBe( -+ 'some/path' -+ ); -+}); -+ -+test('extracts path from URL with protocol and host', () => { -+ expect( -+ extractPathFromURL( -+ ['scheme://example.com'], -+ 'scheme://example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme:example.com/some/path') -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme://example.com'], -+ 'scheme:///example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:///example.com'], -+ 'scheme:example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL(['scheme:example.com'], 'scheme:example.com/some/path') -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL(['scheme:example.com'], 'scheme://example.com/some/path') -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com'], -+ 'scheme:///example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme://example.com/') -+ ).toBe('/'); -+ -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme://example.com') -+ ).toBe(''); -+}); -+ -+test('extracts path from URL with protocol and host with wildcard', () => { -+ expect( -+ extractPathFromURL( -+ ['scheme://*.example.com'], -+ 'scheme://test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme://*.example.com'], -+ 'scheme:test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme://*.example.com'], -+ 'scheme:///test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:///*.example.com'], -+ 'scheme:test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:*.example.com'], -+ 'scheme:test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:*.example.com'], -+ 'scheme://test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:*.example.com'], -+ 'scheme:///test.example.com/some/path' -+ ) -+ ).toBe('/some/path'); -+}); -+ -+test('extracts path from URL with protocol, host and path', () => { -+ expect( -+ extractPathFromURL( -+ ['scheme://example.com/test'], -+ 'scheme://example.com/test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme:example.com/some/path') -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme://example.com/test'], -+ 'scheme:///example.com/test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:///example.com/test'], -+ 'scheme:example.com/test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com/test'], -+ 'scheme:example.com/test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com/test'], -+ 'scheme://example.com/test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com/test'], -+ 'scheme:///example.com/test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com/test'], -+ 'scheme:///example.com//test/some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com/test'], -+ 'scheme:///example.com/test//some/path' -+ ) -+ ).toBe('/some/path'); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:example.com/test'], -+ 'scheme:///example.com/test/some//path' -+ ) -+ ).toBe('/some/path'); -+}); -+ -+test('returns undefined for non-matching protocol', () => { -+ expect(extractPathFromURL(['scheme://'], 'foo://some/path')).toBeUndefined(); -+ -+ expect(extractPathFromURL(['scheme://'], 'foo:some/path')).toBeUndefined(); -+ -+ expect(extractPathFromURL(['scheme://'], 'foo:///some/path')).toBeUndefined(); -+ -+ expect(extractPathFromURL(['scheme:///'], 'foo:some/path')).toBeUndefined(); -+ -+ expect(extractPathFromURL(['scheme:'], 'foo:some/path')).toBeUndefined(); -+ -+ expect(extractPathFromURL(['scheme:'], 'foo://some/path')).toBeUndefined(); -+ -+ expect(extractPathFromURL(['scheme:'], 'foo:///some/path')).toBeUndefined(); -+}); -+ -+test('returns undefined for non-matching path', () => { -+ expect( -+ extractPathFromURL(['scheme://foo'], 'scheme://some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme://foo'], 'scheme:some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme://foo'], 'scheme:///some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:///foo'], 'scheme:some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:foo'], 'scheme:some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:foo'], 'scheme://some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:foo'], 'scheme:///some/path') -+ ).toBeUndefined(); -+}); -+ -+test('returns undefined for non-matching host', () => { -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme://foo.com/some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme:foo.com/some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme://example.com'], 'scheme:///foo.com/some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:///example.com'], 'scheme:foo.com/some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:example.com'], 'scheme:foo.com/some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:example.com'], 'scheme://foo.com/some/path') -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL(['scheme:example.com'], 'scheme:///foo.com/some/path') -+ ).toBeUndefined(); -+}); -+ -+test('returns undefined for non-matching host with wildcard', () => { -+ expect( -+ extractPathFromURL( -+ ['scheme://*.example.com'], -+ 'scheme://test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme://*.example.com'], -+ 'scheme:test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme://*.example.com'], -+ 'scheme:///test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:///*.example.com'], -+ 'scheme:test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:*.example.com'], -+ 'scheme:test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:*.example.com'], -+ 'scheme://test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+ -+ expect( -+ extractPathFromURL( -+ ['scheme:*.example.com'], -+ 'scheme:///test.foo.com/some/path' -+ ) -+ ).toBeUndefined(); -+}); -+ -+test('returns a valid search query when it has a url as param', () => { -+ expect( -+ extractPathFromURL( -+ ['https://mysite.com'], -+ 'https://mysite.com/readPolicy?url=https://test.com' -+ ) -+ ).toBe('/readPolicy?url=https://test.com'); -+ -+ expect( -+ extractPathFromURL( -+ ['https://mysite.com'], -+ 'https://mysite.com/readPolicy?url=https://test.com?param=1' -+ ) -+ ).toBe('/readPolicy?url=https://test.com?param=1'); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/useLinkBuilder.test.tsx b/node_modules/@react-navigation/native/src/__tests__/useLinkBuilder.test.tsx -new file mode 100644 -index 0000000..fcf578d ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/useLinkBuilder.test.tsx -@@ -0,0 +1,330 @@ -+import { expect, test } from '@jest/globals'; -+import { NavigationRouteContext } from '@react-navigation/core'; -+import { render } from '@testing-library/react-native'; -+ -+import { createStackNavigator } from '../__stubs__/createStackNavigator'; -+import { NavigationContainer } from '../NavigationContainer'; -+import { useLinkBuilder } from '../useLinkBuilder'; -+ -+const config = { -+ prefixes: ['https://example.com'], -+ config: { -+ screens: { -+ Foo: { -+ path: 'foo', -+ screens: { -+ Bar: 'bar/:id', -+ }, -+ }, -+ }, -+ }, -+ getInitialURL() { -+ return null; -+ }, -+}; -+ -+test('builds href outside of a navigator', () => { -+ expect.assertions(1); -+ -+ const Root = () => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Foo'); -+ -+ expect(href).toBe('/foo'); -+ -+ return null; -+ }; -+ -+ render( -+ -+ -+ -+ ); -+}); -+ -+test('builds href in navigator layout', () => { -+ expect.assertions(1); -+ -+ const Test = ({ children }: { children: React.ReactNode }) => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Foo'); -+ -+ expect(href).toBe('/foo'); -+ -+ return children; -+ }; -+ -+ const Stack = createStackNavigator<{ Foo: undefined }>(); -+ -+ render( -+ -+ {children}}> -+ {() => null} -+ -+ -+ ); -+}); -+ -+test('builds href in route context', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Foo'); -+ -+ expect(href).toBe('/foo'); -+ -+ return null; -+ }; -+ -+ const Stack = createStackNavigator<{ Foo: undefined }>(); -+ -+ render( -+ -+ ( -+ r.name === 'Foo')} -+ > -+ -+ -+ )} -+ > -+ {() => null} -+ -+ -+ ); -+}); -+ -+test('builds href in stack navigator screen', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Foo'); -+ -+ expect(href).toBe('/foo'); -+ -+ return null; -+ }; -+ -+ const StackA = createStackNavigator<{ Foo: undefined }>(); -+ -+ render( -+ -+ -+ -+ -+ -+ ); -+}); -+ -+test('builds href in nested navigator layout', () => { -+ expect.assertions(1); -+ -+ const Test = ({ children }: { children: React.ReactNode }) => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Bar', { id: '42' }); -+ -+ expect(href).toBe('/foo/bar/42'); -+ -+ return children; -+ }; -+ -+ const StackA = createStackNavigator<{ Foo: undefined }>(); -+ const StackB = createStackNavigator<{ Bar: { id: string } }>(); -+ -+ render( -+ -+ -+ -+ {() => ( -+ {children}} -+ > -+ {() => null} -+ -+ )} -+ -+ -+ -+ ); -+}); -+ -+test('builds href in nested route context', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Bar', { id: '42' }); -+ -+ expect(href).toBe('/foo/bar/42'); -+ -+ return null; -+ }; -+ -+ const StackA = createStackNavigator<{ Foo: undefined }>(); -+ const StackB = createStackNavigator<{ Bar: { id: string } }>(); -+ -+ render( -+ -+ -+ -+ {() => ( -+ ( -+ r.name === 'Bar')} -+ > -+ -+ -+ )} -+ > -+ {() => null} -+ -+ )} -+ -+ -+ -+ ); -+}); -+ -+test('builds href in nested navigator screen', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildHref } = useLinkBuilder(); -+ -+ const href = buildHref('Bar', { id: '42' }); -+ -+ expect(href).toBe('/foo/bar/42'); -+ -+ return null; -+ }; -+ -+ const StackA = createStackNavigator<{ Foo: undefined }>(); -+ const StackB = createStackNavigator<{ Bar: { id: string } }>(); -+ -+ render( -+ -+ -+ -+ {() => ( -+ -+ -+ -+ )} -+ -+ -+ -+ ); -+}); -+ -+test('builds action from href outside of a navigator', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildAction } = useLinkBuilder(); -+ -+ const action = buildAction('/foo'); -+ -+ expect(action).toEqual({ -+ type: 'NAVIGATE', -+ payload: { -+ name: 'Foo', -+ path: '/foo', -+ params: {}, -+ pop: true, -+ }, -+ }); -+ -+ return null; -+ }; -+ -+ render( -+ -+ -+ -+ ); -+}); -+ -+test('builds action from href in navigator screen', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildAction } = useLinkBuilder(); -+ -+ const action = buildAction('/foo'); -+ -+ expect(action).toEqual({ -+ type: 'NAVIGATE', -+ payload: { -+ name: 'Foo', -+ path: '/foo', -+ params: {}, -+ pop: true, -+ }, -+ }); -+ -+ return null; -+ }; -+ -+ const Stack = createStackNavigator<{ Foo: undefined }>(); -+ -+ render( -+ -+ -+ -+ -+ -+ ); -+}); -+ -+test('builds action from href in nested navigator', () => { -+ expect.assertions(1); -+ -+ const Test = () => { -+ const { buildAction } = useLinkBuilder(); -+ -+ const action = buildAction('/foo/bar/42'); -+ -+ expect(action).toEqual({ -+ type: 'NAVIGATE', -+ payload: { -+ name: 'Foo', -+ params: { -+ initial: true, -+ screen: 'Bar', -+ params: { id: '42' }, -+ path: '/foo/bar/42', -+ }, -+ pop: true, -+ }, -+ }); -+ -+ return null; -+ }; -+ -+ const StackA = createStackNavigator<{ Foo: undefined }>(); -+ const StackB = createStackNavigator<{ Bar: { id: string } }>(); -+ -+ render( -+ -+ -+ -+ {() => ( -+ -+ -+ -+ )} -+ -+ -+ -+ ); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/useLinking.test.tsx b/node_modules/@react-navigation/native/src/__tests__/useLinking.test.tsx -new file mode 100644 -index 0000000..6bbbf44 ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/useLinking.test.tsx -@@ -0,0 +1,72 @@ -+import { expect, jest, test } from '@jest/globals'; -+import { -+ createNavigationContainerRef, -+ type ParamListBase, -+} from '@react-navigation/core'; -+import { render, type RenderAPI } from '@testing-library/react-native'; -+ -+import { useLinking } from '../useLinking'; -+ -+test('throws if multiple instances of useLinking are used', () => { -+ const ref = createNavigationContainerRef(); -+ -+ const options = { prefixes: [] }; -+ -+ function Sample() { -+ useLinking(ref, options, () => {}); -+ useLinking(ref, options, () => {}); -+ return null; -+ } -+ -+ const spy = jest.spyOn(console, 'error').mockImplementation(() => {}); -+ -+ let element: RenderAPI | undefined; -+ -+ element = render(); -+ -+ expect(spy).toHaveBeenCalledTimes(1); -+ expect(spy.mock.calls[0][0]).toMatch( -+ 'Looks like you have configured linking in multiple places.' -+ ); -+ -+ element?.unmount(); -+ -+ function A() { -+ useLinking(ref, options, () => {}); -+ return null; -+ } -+ -+ function B() { -+ useLinking(ref, options, () => {}); -+ return null; -+ } -+ -+ element = render( -+ <> -+
-+ -+ -+ ); -+ -+ expect(spy).toHaveBeenCalledTimes(2); -+ expect(spy.mock.calls[1][0]).toMatch( -+ 'Looks like you have configured linking in multiple places.' -+ ); -+ -+ element?.unmount(); -+ -+ function Sample2() { -+ useLinking(ref, options, () => {}); -+ return null; -+ } -+ -+ const wrapper2 = ; -+ -+ render(wrapper2).unmount(); -+ -+ render(wrapper2); -+ -+ expect(spy).toHaveBeenCalledTimes(2); -+ -+ element?.unmount(); -+}); -diff --git a/node_modules/@react-navigation/native/src/__tests__/useRoutePath.test.tsx b/node_modules/@react-navigation/native/src/__tests__/useRoutePath.test.tsx +diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js new file mode 100644 -index 0000000..7553ff6 +index 0000000..b996822 --- /dev/null -+++ b/node_modules/@react-navigation/native/src/__tests__/useRoutePath.test.tsx -@@ -0,0 +1,120 @@ -+import { expect, test } from '@jest/globals'; -+import { -+ createNavigationContainerRef, -+ NavigationRouteContext, -+ type NavigatorScreenParams, -+} from '@react-navigation/core'; -+import { act, render, screen } from '@testing-library/react-native'; -+import * as React from 'react'; -+ -+import { createStackNavigator } from '../__stubs__/createStackNavigator'; -+import { NavigationContainer } from '../NavigationContainer'; -+import { useRoutePath } from '../useRoutePath'; -+ -+const config = { -+ prefixes: ['https://example.com'], -+ config: { -+ screens: { -+ a: { -+ path: 'foo', -+ screens: { -+ b: 'bar/:id', -+ c: { -+ path: 'baz', -+ exact: true, -+ }, -+ }, -+ }, -+ b: 'qux', -+ }, -+ }, -+ getInitialURL() { -+ return null; -+ }, -+}; -+ -+const Test = () => { -+ const route = React.useContext(NavigationRouteContext); -+ const path = useRoutePath(); -+ -+ return `${route?.name}: ${path}`; -+}; -+ -+test('throws when not rendered inside a screen', () => { -+ expect(() => { -+ render( -+ -+ -+ -+ ); -+ }).toThrow( -+ "Couldn't find a state for the route object. Is your component inside a screen in a navigator?" -+ ); -+}); -+ -+test('gets path for route in root navigator screen', () => { -+ type RootStackParamList = { -+ a: undefined; -+ b: { count: number }; -+ }; -+ -+ const Stack = createStackNavigator(); -+ -+ const navigation = createNavigationContainerRef(); -+ -+ render( -+ -+ -+ -+ -+ -+ -+ ); -+ -+ expect(screen).toMatchInlineSnapshot(`"a: /foo"`); -+ -+ act(() => navigation.navigate('b', { count: 42 })); -+ -+ expect(screen).toMatchInlineSnapshot(`"b: /qux?count=42"`); -+}); -+ -+test('gets path for route in nested navigator screen', () => { -+ type AStackParamList = { -+ a: NavigatorScreenParams; -+ }; -+ -+ type BStackParamList = { -+ b: { id: string }; -+ c: undefined; -+ }; -+ -+ const StackA = createStackNavigator(); -+ const StackB = createStackNavigator(); -+ -+ const navigation = createNavigationContainerRef(); -+ -+ render( -+ -+ -+ -+ {() => ( -+ -+ -+ -+ -+ )} -+ -+ -+ -+ ); -+ -+ expect(screen).toMatchInlineSnapshot(`"b: /foo/bar/apple"`); -+ -+ act(() => navigation.navigate('a', { screen: 'c' })); -+ -+ expect(screen).toMatchInlineSnapshot(`"c: /baz"`); -+}); -diff --git a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx -index 1568263..837baa7 100644 ---- a/node_modules/@react-navigation/native/src/createMemoryHistory.tsx -+++ b/node_modules/@react-navigation/native/src/createMemoryHistory.tsx -@@ -1,6 +1,8 @@ - import type { NavigationState } from '@react-navigation/core'; - import { nanoid } from 'nanoid/non-secure'; - -+import { findFocusedRouteKey } from './findFocusedRouteKey'; -+ - type HistoryRecord = { - // Unique identifier for this record to match it with window.history.state - id: string; -@@ -28,7 +30,11 @@ export function createMemoryHistory() { - }); - }; - -- const history = { -+ return { -+ get items(): HistoryRecord[] { -+ return items; -+ }, ++++ b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js +@@ -0,0 +1,8 @@ ++"use strict"; + - get index(): number { - // We store an id in the state instead of an index - // Index could get out of sync with in-memory values if page reloads -@@ -47,12 +53,15 @@ export function createMemoryHistory() { - return items[index]; - }, - -- backIndex({ path }: { path: string }) { -+ backIndex({ path, state }: { path: string; state: NavigationState }) { - // We need to find the index from the element before current to get closest path to go back to - for (let i = index - 1; i >= 0; i--) { - const item = items[i]; - -- if (item.path === path) { -+ if ( -+ item.path === path && -+ findFocusedRouteKey(item.state) === findFocusedRouteKey(state) -+ ) { - return i; - } - } -@@ -86,7 +95,7 @@ export function createMemoryHistory() { - - // Need to keep the hash part of the path if there was no previous history entry - // or the previous history entry had the same path -- let pathWithHash = path; -+ let pathWithHash = path.replace(/(\/{2,})/g, '/'); - const hash = pathWithHash.includes('#') ? '' : location.hash; - - if (!items.length || items.findIndex((item) => item.id === id) < 0) { -@@ -224,6 +233,4 @@ export function createMemoryHistory() { - return () => window.removeEventListener('popstate', onPopState); - }, - }; -- -- return history; - } -diff --git a/node_modules/@react-navigation/native/src/findFocusedRouteKey.ts b/node_modules/@react-navigation/native/src/findFocusedRouteKey.ts -new file mode 100644 -index 0000000..5eae62d ---- /dev/null -+++ b/node_modules/@react-navigation/native/src/findFocusedRouteKey.ts -@@ -0,0 +1,7 @@ +import { findFocusedRoute } from '@react-navigation/core'; -+import type { InitialState } from '@react-navigation/routers'; -+ -+export function findFocusedRouteKey(state: InitialState) { -+ const focusedRoute = findFocusedRoute(state); -+ return focusedRoute?.key; -+} -diff --git a/node_modules/@react-navigation/native/src/useLinking.tsx b/node_modules/@react-navigation/native/src/useLinking.tsx -index a33b493..395803f 100644 ---- a/node_modules/@react-navigation/native/src/useLinking.tsx -+++ b/node_modules/@react-navigation/native/src/useLinking.tsx -@@ -6,12 +6,14 @@ import { - type NavigationContainerRef, - type NavigationState, - type ParamListBase, -+ type PartialState, - useNavigationIndependentTree, - } from '@react-navigation/core'; - import isEqual from 'fast-deep-equal'; - import * as React from 'react'; - - import { createMemoryHistory } from './createMemoryHistory'; -+import { findFocusedRouteKey } from './findFocusedRouteKey'; - import { ServerContext } from './ServerContext'; - import type { LinkingOptions } from './types'; - -@@ -71,6 +73,56 @@ export const series = (cb: () => Promise) => { - - const linkingHandlers: symbol[] = []; - -+function getAllStateKeys( -+ state: NavigationState | PartialState -+) { -+ const current = state; -+ const keys: (string | undefined)[] = []; -+ if (current.routes) { -+ for (const route of current.routes) { -+ keys.push(route.key); -+ if (route.state) { -+ keys.push(...getAllStateKeys(route.state)); -+ } -+ } -+ } -+ return keys; -+} -+ -+function getStaleHistoryDiff(items: string | any[], newState: NavigationState) { -+ const newStateKeys = getAllStateKeys(newState); -+ for (let i = items.length - 1; i >= 0; i--) { -+ const itemFocusedKey = findFocusedRouteKey(items[i].state); -+ if (newStateKeys.includes(itemFocusedKey)) { -+ return items.length - i - 1; -+ } -+ } -+ return -1; -+} -+ -+function getHistoryDeltaByKeys( -+ focusedState: { routes: { key: any }[] }, -+ previousFocusedState: { routes: { key: any }[] } -+) { -+ const focusedStateKeys = focusedState.routes.map((r: { key: any }) => r.key); -+ const previousFocusedStateKeys = previousFocusedState.routes.map( -+ (r: { key: any }) => r.key -+ ); -+ const minLength = Math.min( -+ focusedStateKeys.length, -+ previousFocusedStateKeys.length -+ ); -+ let matchingKeys = 0; -+ for (let i = 0; i < minLength; i++) { -+ if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { -+ matchingKeys++; -+ } else { -+ break; -+ } -+ } -+ return -(previousFocusedStateKeys.length - matchingKeys); -+} -+ - type Options = LinkingOptions; - - export function useLinking( -@@ -388,6 +440,12 @@ export function useLinking( - ? previousFocusedState.history.length - : previousFocusedState.routes.length); - -+ // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state -+ const historyDeltaByKeys = getHistoryDeltaByKeys( -+ focusedState, -+ previousFocusedState -+ ); -+ - if (historyDelta > 0) { - // If history length is increased, we should pushState - // Note that path might not actually change here, for example, drawer open should pushState -@@ -395,7 +453,7 @@ export function useLinking( - } else if (historyDelta < 0) { - // If history length is decreased, i.e. entries were removed, we want to go back - -- const nextIndex = history.backIndex({ path }); -+ const nextIndex = history.backIndex({ path, state }); - const currentIndex = history.index; - - try { -@@ -407,11 +465,17 @@ export function useLinking( - ) { - // An existing entry for this path exists and it's less than current index, go back to that - await history.go(nextIndex - currentIndex); -+ history.replace({ path, state }); - } else { - // We couldn't find an existing entry to go back to, so we'll go back by the delta - // This won't be correct if multiple routes were pushed in one go before - // Usually this shouldn't happen and this is a fallback for that -- await history.go(historyDelta); -+ await history.go(historyDeltaByKeys); -+ if (historyDeltaByKeys + 1 === historyDelta) { -+ history.push({ path, state }); -+ } else { -+ history.replace({ path, state }); -+ } - } - - // Store the updated state as well as fix the path if incorrect -@@ -421,7 +485,19 @@ export function useLinking( - } - } else { - // If history length is unchanged, we want to replaceState -- history.replace({ path, state }); -+ // and remove any entries from history which focused route no longer exists in state -+ // That may happen if we replace a whole navigator. -+ -+ const staleHistoryDiff = getStaleHistoryDiff( -+ history.items.slice(0, history.index + 1), -+ state -+ ); -+ if (staleHistoryDiff <= 0) { -+ history.replace({ path, state }); -+ } else { -+ await history.go(-staleHistoryDiff); -+ history.push({ path, state }); -+ } - } - } else { - // If no common navigation state was found, assume it's a replace -diff --git a/node_modules/@react-navigation/native/tsconfig.build.json b/node_modules/@react-navigation/native/tsconfig.build.json -new file mode 100644 -index 0000000..543a787 ---- /dev/null -+++ b/node_modules/@react-navigation/native/tsconfig.build.json -@@ -0,0 +1,6 @@ -+{ -+ "extends": "./tsconfig", -+ "compilerOptions": { -+ "paths": {} -+ } -+} -diff --git a/node_modules/@react-navigation/native/tsconfig.json b/node_modules/@react-navigation/native/tsconfig.json -new file mode 100644 -index 0000000..066034d ---- /dev/null -+++ b/node_modules/@react-navigation/native/tsconfig.json -@@ -0,0 +1,11 @@ -+{ -+ "extends": "../../tsconfig", -+ "references": [ -+ { "path": "../core" }, -+ { "path": "../routers" } -+ ], -+ "compilerOptions": { -+ "rootDir": ".", -+ "outDir": "./lib/typescript" -+ } ++export function findFocusedRouteKey(state) { ++ const focusedRoute = findFocusedRoute(state); ++ return focusedRoute?.key; +} ++//# sourceMappingURL=findFocusedRouteKey.js.map From 9cc23dd622768eaa15c196159eb2746472b36631 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 6 Jun 2025 08:47:34 +0200 Subject: [PATCH 24/61] fix createMemoryHistory --- ...navigation+native+7.1.10+001+initial.patch | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation+native+7.1.10+001+initial.patch index 40c0d1700a52d..90d21f7d8ad25 100644 --- a/patches/@react-navigation+native+7.1.10+001+initial.patch +++ b/patches/@react-navigation+native+7.1.10+001+initial.patch @@ -1,3 +1,60 @@ +diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js +index 474db5e..b3167bc 100644 +--- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js ++++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js +@@ -1,6 +1,7 @@ + "use strict"; + + import { nanoid } from 'nanoid/non-secure'; ++import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; + export function createMemoryHistory() { + let index = 0; + let items = []; +@@ -17,7 +18,10 @@ export function createMemoryHistory() { + it.cb = () => cb(true); + }); + }; +- const history = { ++ return { ++ get items() { ++ return items; ++ }, + get index() { + // We store an id in the state instead of an index + // Index could get out of sync with in-memory values if page reloads +@@ -32,12 +36,13 @@ export function createMemoryHistory() { + return items[index]; + }, + backIndex({ +- path ++ path, ++ state + }) { + // We need to find the index from the element before current to get closest path to go back to + for (let i = index - 1; i >= 0; i--) { + const item = items[i]; +- if (item.path === path) { ++ if (item.path === path && findFocusedRouteKey(item.state) === findFocusedRouteKey(state)) { + return i; + } + } +@@ -77,7 +82,7 @@ export function createMemoryHistory() { + + // Need to keep the hash part of the path if there was no previous history entry + // or the previous history entry had the same path +- let pathWithHash = path; ++ let pathWithHash = path.replace(/(\/{2,})/g, '/'); + const hash = pathWithHash.includes('#') ? '' : location.hash; + if (!items.length || items.findIndex(item => item.id === id) < 0) { + // There are two scenarios for creating an array with only one history record: +@@ -211,6 +216,5 @@ export function createMemoryHistory() { + return () => window.removeEventListener('popstate', onPopState); + } + }; +- return history; + } + //# sourceMappingURL=createMemoryHistory.js.map +\ No newline at end of file diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js new file mode 100644 index 0000000..b996822 From a3cee76af2651210bb5a54f244812de4590d1896 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 6 Jun 2025 08:49:10 +0200 Subject: [PATCH 25/61] fix useLinking --- ...navigation+native+7.1.10+001+initial.patch | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation+native+7.1.10+001+initial.patch index 90d21f7d8ad25..4955a0646350f 100644 --- a/patches/@react-navigation+native+7.1.10+001+initial.patch +++ b/patches/@react-navigation+native+7.1.10+001+initial.patch @@ -69,3 +69,134 @@ index 0000000..b996822 + return focusedRoute?.key; +} +//# sourceMappingURL=findFocusedRouteKey.js.map +diff --git a/node_modules/@react-navigation/native/lib/module/useLinking.js b/node_modules/@react-navigation/native/lib/module/useLinking.js +index d30009f..0dab822 100644 +--- a/node_modules/@react-navigation/native/lib/module/useLinking.js ++++ b/node_modules/@react-navigation/native/lib/module/useLinking.js +@@ -4,6 +4,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP + import isEqual from 'fast-deep-equal'; + import * as React from 'react'; + import { createMemoryHistory } from "./createMemoryHistory.js"; ++import { findFocusedRouteKey } from "./findFocusedRouteKey.js"; + import { ServerContext } from "./ServerContext.js"; + /** + * Find the matching navigation state that changed between 2 navigation states +@@ -45,6 +46,43 @@ export const series = cb => { + return callback; + }; + const linkingHandlers = []; ++function getAllStateKeys(state) { ++ const current = state; ++ const keys = []; ++ if (current.routes) { ++ for (const route of current.routes) { ++ keys.push(route.key); ++ if (route.state) { ++ keys.push(...getAllStateKeys(route.state)); ++ } ++ } ++ } ++ return keys; ++} ++function getStaleHistoryDiff(items, newState) { ++ const newStateKeys = getAllStateKeys(newState); ++ for (let i = items.length - 1; i >= 0; i--) { ++ const itemFocusedKey = findFocusedRouteKey(items[i].state); ++ if (newStateKeys.includes(itemFocusedKey)) { ++ return items.length - i - 1; ++ } ++ } ++ return -1; ++} ++function getHistoryDeltaByKeys(focusedState, previousFocusedState) { ++ const focusedStateKeys = focusedState.routes.map(r => r.key); ++ const previousFocusedStateKeys = previousFocusedState.routes.map(r => r.key); ++ const minLength = Math.min(focusedStateKeys.length, previousFocusedStateKeys.length); ++ let matchingKeys = 0; ++ for (let i = 0; i < minLength; i++) { ++ if (focusedStateKeys[i] === previousFocusedStateKeys[i]) { ++ matchingKeys++; ++ } else { ++ break; ++ } ++ } ++ return -(previousFocusedStateKeys.length - matchingKeys); ++} + export function useLinking(ref, { + enabled = true, + config, +@@ -256,6 +294,9 @@ export function useLinking(ref, { + // Otherwise it's likely a change triggered by `popstate` + path !== pendingPath) { + const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length); ++ ++ // The historyDelta and historyDeltaByKeys may differ if the new state has an entry that didn't exist in previous state ++ const historyDeltaByKeys = getHistoryDeltaByKeys(focusedState, previousFocusedState); + if (historyDelta > 0) { + // If history length is increased, we should pushState + // Note that path might not actually change here, for example, drawer open should pushState +@@ -267,7 +308,8 @@ export function useLinking(ref, { + // If history length is decreased, i.e. entries were removed, we want to go back + + const nextIndex = history.backIndex({ +- path ++ path, ++ state + }); + const currentIndex = history.index; + try { +@@ -276,11 +318,26 @@ export function useLinking(ref, { + history.get(nextIndex)) { + // An existing entry for this path exists and it's less than current index, go back to that + await history.go(nextIndex - currentIndex); ++ history.replace({ ++ path, ++ state ++ }); + } else { + // We couldn't find an existing entry to go back to, so we'll go back by the delta + // This won't be correct if multiple routes were pushed in one go before + // Usually this shouldn't happen and this is a fallback for that +- await history.go(historyDelta); ++ await history.go(historyDeltaByKeys); ++ if (historyDeltaByKeys + 1 === historyDelta) { ++ history.push({ ++ path, ++ state ++ }); ++ } else { ++ history.replace({ ++ path, ++ state ++ }); ++ } + } + + // Store the updated state as well as fix the path if incorrect +@@ -293,10 +350,22 @@ export function useLinking(ref, { + } + } else { + // If history length is unchanged, we want to replaceState +- history.replace({ +- path, +- state +- }); ++ // and remove any entries from history which focused route no longer exists in state ++ // That may happen if we replace a whole navigator. ++ ++ const staleHistoryDiff = getStaleHistoryDiff(history.items.slice(0, history.index + 1), state); ++ if (staleHistoryDiff <= 0) { ++ history.replace({ ++ path, ++ state ++ }); ++ } else { ++ await history.go(-staleHistoryDiff); ++ history.push({ ++ path, ++ state ++ }); ++ } + } + } else { + // If no common navigation state was found, assume it's a replace From acad4ff58a05286a69172a7b8d3aef24816698e7 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 6 Jun 2025 09:28:57 +0200 Subject: [PATCH 26/61] add edge drag gesture monitor --- ...gation+stack+7.3.3+edge-drag-gesture.patch | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 patches/@react-navigation+stack+7.3.3+edge-drag-gesture.patch diff --git a/patches/@react-navigation+stack+7.3.3+edge-drag-gesture.patch b/patches/@react-navigation+stack+7.3.3+edge-drag-gesture.patch new file mode 100644 index 0000000000000..c3113f4fd7e97 --- /dev/null +++ b/patches/@react-navigation+stack+7.3.3+edge-drag-gesture.patch @@ -0,0 +1,68 @@ +diff --git a/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js +new file mode 100644 +index 0000000..f6edb80 +--- /dev/null ++++ b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.js +@@ -0,0 +1,46 @@ ++"use strict"; ++ ++let isInitialized = false; ++let justFinishedEdgeGestureFromLeft = false; ++let expectingTouchend = false; ++ ++/// This returns information if the user just performed edge gesture on iOS safari to navigate in the browser history. ++export const getIsEdgeDragGesture = () => { ++ return expectingTouchend || justFinishedEdgeGestureFromLeft; ++}; ++ ++// We need to manualy reset this flag after deciding if there should be animation for navigation. ++export const resetExpectingTouchendWithDelay = () => { ++ setTimeout(() => { ++ expectingTouchend = false; ++ }, 100); ++}; ++export const maybeInitializeEdgeDragGestureMonitor = () => { ++ if (isInitialized) { ++ return; ++ } ++ isInitialized = true; ++ let timer; ++ ++ // Gestures that would trigger navigation forward are broken on iOS safari. ++ // They don't have touchend event fired so we can look at expectingTouchEnd flag to detect if we should run animation. ++ const handleTouchStart = () => { ++ expectingTouchend = true; ++ }; ++ const handleTouchEnd = e => { ++ let changedTouches; ++ const pageX = (changedTouches = e.changedTouches[0]) === null || changedTouches === void 0 ? void 0 : changedTouches.pageX; ++ // PageX for gesture that would trigger navigation back is negative. ++ if (pageX < 0) { ++ if (timer) { ++ clearTimeout(timer); ++ } ++ justFinishedEdgeGestureFromLeft = true; ++ timer = setTimeout(() => justFinishedEdgeGestureFromLeft = false, 100); ++ } ++ expectingTouchend = false; ++ }; ++ document.addEventListener('touchstart', handleTouchStart); ++ document.addEventListener('touchend', handleTouchEnd); ++}; ++//# sourceMappingURL=edgeDragGestureMonitor.js.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js +new file mode 100644 +index 0000000..9c7b703 +--- /dev/null ++++ b/node_modules/@react-navigation/stack/lib/module/utils/edgeDragGestureMonitor.native.js +@@ -0,0 +1,8 @@ ++"use strict"; ++ ++// We don't need edgeDragGestureMonitor for native platforms. ++ ++export const getIsEdgeDragGesture = () => false; ++export const resetExpectingTouchendWithDelay = () => {}; ++export const maybeInitializeEdgeDragGestureMonitor = () => {}; ++//# sourceMappingURL=edgeDragGestureMonitor.native.js.map +\ No newline at end of file From 455cc0aa5bc3fcba2562ea66377201f6c85b82ae Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 6 Jun 2025 10:13:13 +0200 Subject: [PATCH 27/61] fix dont detach screen --- ...ion+stack+7.3.3+002+dontDetachScreen.patch | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 patches/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch diff --git a/patches/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch b/patches/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch new file mode 100644 index 0000000000000..2919cea69827b --- /dev/null +++ b/patches/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch @@ -0,0 +1,30 @@ +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +index 9885b25..ae4fe46 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +@@ -396,6 +396,7 @@ export class CardStack extends React.Component { + extrapolate: 'clamp' + }) : STATE_TRANSITIONING_OR_BELOW_TOP; + } ++ const shouldNotDetachScreen = route?.dontDetachScreen && isScreenActive !== STATE_ON_TOP; + const { + headerShown = true, + headerTransparent, +@@ -416,7 +417,7 @@ export class CardStack extends React.Component { + return /*#__PURE__*/_jsx(MaybeScreen, { + style: [StyleSheet.absoluteFill], + enabled: detachInactiveScreens, +- active: isScreenActive, ++ active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : isScreenActive, + freezeOnBlur: freezeOnBlur, + shouldFreeze: isScreenActive === STATE_INACTIVE && !isPreloaded, + homeIndicatorHidden: autoHideHomeIndicator, +@@ -451,7 +452,7 @@ export class CardStack extends React.Component { + onTransitionStart: onTransitionStart, + onTransitionEnd: onTransitionEnd, + isNextScreenTransparent: isNextScreenTransparent, +- detachCurrentScreen: detachCurrentScreen, ++ detachCurrentScreen: shouldNotDetachScreen ? false : detachCurrentScreen, + preloaded: isPreloaded + }) + }, route.key); From 701d1bc30648982d571dbe1e8be11a45483d9dbb Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 6 Jun 2025 10:13:59 +0200 Subject: [PATCH 28/61] rename patch --- ... => @react-navigation+stack+7.3.3+001+edge-drag-gesture.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename patches/{@react-navigation+stack+7.3.3+edge-drag-gesture.patch => @react-navigation+stack+7.3.3+001+edge-drag-gesture.patch} (100%) diff --git a/patches/@react-navigation+stack+7.3.3+edge-drag-gesture.patch b/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch similarity index 100% rename from patches/@react-navigation+stack+7.3.3+edge-drag-gesture.patch rename to patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch From aaaf3d1723ae1fee9d5d48e6f38c68c8152729c0 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Mon, 9 Jun 2025 09:28:59 +0200 Subject: [PATCH 29/61] fix edge drag gesture --- ...on+stack+7.3.3+001+edge-drag-gesture.patch | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch b/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch index c3113f4fd7e97..6820d78a7a387 100644 --- a/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch +++ b/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch @@ -66,3 +66,34 @@ index 0000000..9c7b703 +export const maybeInitializeEdgeDragGestureMonitor = () => {}; +//# sourceMappingURL=edgeDragGestureMonitor.native.js.map \ No newline at end of file +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js +index e8e6e90..7cbffe2 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js +@@ -4,6 +4,7 @@ import Color from 'color'; + import * as React from 'react'; + import { Animated, InteractionManager, Platform, StyleSheet, View } from 'react-native'; + import { CardAnimationContext } from "../../utils/CardAnimationContext.js"; ++import { getIsEdgeDragGesture, resetExpectingTouchendWithDelay } from '../../utils/edgeDragGestureMonitor'; + import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; + import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js"; + import { getShadowStyle } from "../../utils/getShadowStyle.js"; +@@ -130,6 +131,8 @@ export class Card extends React.Component { + }); + animation(gesture, { + ...spec.config, ++ // Detecting if the user used swipe gesture on iOS safari to trigger navigation in the browser history. ++ duration: getIsEdgeDragGesture() ? 0 : spec.config && 'duration' in spec.config ? spec.config.duration : undefined, + velocity, + toValue, + useNativeDriver, +@@ -139,6 +142,9 @@ export class Card extends React.Component { + }) => { + this.handleEndInteraction(); + clearTimeout(this.pendingGestureCallback); ++ ++ // We need to reset edgeDragGestureMonitor manually because of broken events on iOS safari. ++ resetExpectingTouchendWithDelay(); + if (finished) { + if (closing) { + onClose(); From 9876731fcfc347301782ca43fbbff3d776cf03ff Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Mon, 9 Jun 2025 09:36:32 +0200 Subject: [PATCH 30/61] fix edge drag gesture --- ...on+stack+7.3.3+001+edge-drag-gesture.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch b/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch index 6820d78a7a387..01baad621d03d 100644 --- a/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch +++ b/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch @@ -97,3 +97,24 @@ index e8e6e90..7cbffe2 100644 if (finished) { if (closing) { onClose(); +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +index 9885b25..22d0c3e 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +@@ -5,6 +5,7 @@ import * as React from 'react'; + import { Animated, Platform, StyleSheet, View } from 'react-native'; + import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from "../../TransitionConfigs/CardStyleInterpolators.js"; + import { BottomSheetAndroid, DefaultTransition, FadeFromBottomAndroid, FadeFromRightAndroid, ModalFadeTransition, ModalSlideFromBottomIOS, ModalTransition, RevealFromBottomAndroid, ScaleFromCenterAndroid, SlideFromLeftIOS, SlideFromRightIOS } from "../../TransitionConfigs/TransitionPresets.js"; ++import { maybeInitializeEdgeDragGestureMonitor } from '../../utils/edgeDragGestureMonitor'; + import { findLastIndex } from "../../utils/findLastIndex.js"; + import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; + import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js"; +@@ -203,6 +204,8 @@ export class CardStack extends React.Component { + } + constructor(props) { + super(props); ++ // Gesture monitor is only needed on iOS safari to detect if the user performed edge swipe gesture to to navigate in the browser history. ++ maybeInitializeEdgeDragGestureMonitor(); + this.state = { + routes: [], + scenes: [], From 13e1d88a914f6c44eb3fe39ffdcc62ed4dbf103a Mon Sep 17 00:00:00 2001 From: staszekscp Date: Mon, 9 Jun 2025 12:49:57 +0200 Subject: [PATCH 31/61] Fix more type errors --- ...+001+platform-navigation-stack-types.patch | 32 +++++++++---------- .../CustomStatusBarAndBackground/index.tsx | 3 +- .../index.native.tsx | 4 +-- .../index.tsx | 3 +- .../PlatformStackNavigation/types/index.ts | 12 +++++-- src/pages/home/ReportScreen.tsx | 1 + 6 files changed, 28 insertions(+), 27 deletions(-) diff --git a/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch index b1d85c959a5e0..5f87fda692e9c 100644 --- a/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch @@ -104,10 +104,10 @@ index aababc4..ebbae11 100644 -{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} +{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index dca9f5e..24e477f 100644 +index dca9f5e..e291031 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -9,7 +9,17 @@ declare global { +@@ -9,7 +9,16 @@ declare global { } } type Keyof = Extract; @@ -119,14 +119,13 @@ index dca9f5e..24e477f 100644 +export type ScreenOptionsOrCallback = ScreenOptions | ((props: { + route: RouteProp; + navigation: any; -+ theme: ReactNavigation.Theme; +}) => ScreenOptions); -+export type DefaultNavigatorOptions = DefaultRouterOptions> ++ +export type DefaultNavigatorOptions = DefaultRouterOptions> & { /** * Children React Elements to extract the route configuration from. * Only `Screen`, `Group` and `React.Fragment` are supported as children. -@@ -28,18 +38,11 @@ export type DefaultNavigatorOptions; @@ -155,7 +154,7 @@ index dca9f5e..24e477f 100644 export type EventMapCore = { focus: { data: undefined; -@@ -481,7 +485,7 @@ export type RouteConfigProps; }; @@ -238,7 +237,7 @@ index 921d8a7..1041892 100644 +{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 67e91c0..6eb1388 100644 +index 67e91c0..5f6a5dc 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts @@ -1,14 +1,16 @@ @@ -256,7 +255,7 @@ index 67e91c0..6eb1388 100644 * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions): { -+export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { ++export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { state: State; navigation: { dispatch(action: Readonly<{ @@ -270,10 +269,10 @@ index 11a6b9c..d1c5acd 100644 +{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AA8PjB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,EACR,GAAG,CACJ,GACC,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyhBF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index 59a0b1a..f2eb8eb 100644 +index 59a0b1a..5d13ad5 100644 --- a/node_modules/@react-navigation/core/src/types.tsx +++ b/node_modules/@react-navigation/core/src/types.tsx -@@ -23,6 +23,30 @@ declare global { +@@ -23,6 +23,29 @@ declare global { type Keyof = Extract; @@ -292,19 +291,18 @@ index 59a0b1a..f2eb8eb 100644 +export type ScreenOptionsOrCallback< + ScreenOptions extends {}, + ParamList extends ParamListBase = ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList, ++ RouteName extends keyof ParamList = keyof ParamList +> = + | ScreenOptions + | ((props: { + route: RouteProp; + navigation: any; -+ theme: ReactNavigation.Theme; + }) => ScreenOptions); + export type DefaultNavigatorOptions< ParamList extends ParamListBase, NavigatorID extends string | undefined, -@@ -30,6 +54,7 @@ export type DefaultNavigatorOptions< +@@ -30,6 +53,7 @@ export type DefaultNavigatorOptions< ScreenOptions extends {}, EventMap extends EventMapBase, Navigation, @@ -312,7 +310,7 @@ index 59a0b1a..f2eb8eb 100644 > = DefaultRouterOptions> & { /** * Children React Elements to extract the route configuration from. -@@ -65,23 +90,21 @@ export type DefaultNavigatorOptions< +@@ -65,23 +89,21 @@ export type DefaultNavigatorOptions< /** * Event listeners for all the screens in the navigator. */ @@ -347,7 +345,7 @@ index 59a0b1a..f2eb8eb 100644 /** * Layout for all screens under this navigator. -@@ -121,6 +144,13 @@ export type EventMapBase = Record< +@@ -121,6 +143,13 @@ export type EventMapBase = Record< { data?: any; canPreventDefault?: boolean } >; @@ -361,7 +359,7 @@ index 59a0b1a..f2eb8eb 100644 export type EventMapCore = { focus: { data: undefined }; blur: { data: undefined }; -@@ -719,11 +749,12 @@ export type RouteConfig< +@@ -719,11 +748,12 @@ export type RouteConfig< ScreenOptions extends {}, EventMap extends EventMapBase, Navigation, diff --git a/src/components/CustomStatusBarAndBackground/index.tsx b/src/components/CustomStatusBarAndBackground/index.tsx index 87b7b5208c410..3ffb9bd0892de 100644 --- a/src/components/CustomStatusBarAndBackground/index.tsx +++ b/src/components/CustomStatusBarAndBackground/index.tsx @@ -83,9 +83,8 @@ function CustomStatusBarAndBackground({isNested = false}: CustomStatusBarAndBack const pageTheme = theme.PAGE_THEMES[currentRoute.name]; newStatusBarStyle = pageTheme.statusBarStyle; - const backgroundColorFromRoute = - currentRoute?.params && 'backgroundColor' in currentRoute.params && typeof currentRoute.params.backgroundColor === 'string' && currentRoute.params.backgroundColor; + currentRoute?.params && typeof currentRoute?.params === 'object' && 'backgroundColor' in currentRoute.params && typeof currentRoute.params.backgroundColor === 'string' && currentRoute.params.backgroundColor; // It's possible for backgroundColorFromRoute to be empty string, so we must use "||" to fallback to backgroundColorFallback. // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index e4e5741639a72..8e1ef9f604ec2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -8,7 +8,6 @@ import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavi import type { CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, - PlatformNavigationBuilderOptions, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackNavigatorProps, @@ -60,7 +59,7 @@ function createPlatformStackNavigatorComponent, + }, convertToNativeNavigationOptions, ); @@ -98,7 +97,6 @@ function createPlatformStackNavigatorComponent - {!!ExtraContent && ( // eslint-disable-next-line react/jsx-props-no-spreading diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 163992a4d64f7..7872be070c75c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -8,7 +8,6 @@ import convertToWebNavigationOptions from '@libs/Navigation/PlatformStackNavigat import type { CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, - PlatformNavigationBuilderOptions, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackNavigatorProps, @@ -62,7 +61,7 @@ function createPlatformStackNavigatorComponent, + }, convertToWebNavigationOptions, ); diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index 550a2f5df6442..e7c8c7bd0333a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -14,7 +14,7 @@ import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from ' import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; import type CommonProperties from '@src/types/utils/CommonProperties'; -import type {PlatformSpecificNavigationOptions, PlatformStackNavigationOptions} from './NavigationOptions'; +import type {PlatformStackNavigationOptions} from './NavigationOptions'; // Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; @@ -66,9 +66,15 @@ type PlatformStackScreenProps< // Props to configure the the PlatformStackNavigator type PlatformStackNavigatorProps< ParamList extends ParamListBase, - RouteName extends keyof ParamList = keyof ParamList, RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = DefaultNavigatorOptions, PlatformSpecificNavigationOptions, PlatformSpecificEventMap & EventMapBase, NavigationListBase, RouteName> & +> = DefaultNavigatorOptions< + ParamList, + string | undefined, + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap & EventMapBase, + NavigationListBase +> & RouterOptions & StackNavigationConfig & { persistentScreens?: Array>; diff --git a/src/pages/home/ReportScreen.tsx b/src/pages/home/ReportScreen.tsx index 8503c4775d031..b50785bbbdaf5 100644 --- a/src/pages/home/ReportScreen.tsx +++ b/src/pages/home/ReportScreen.tsx @@ -635,6 +635,7 @@ function ReportScreen({route, navigation}: ReportScreenProps) { isTopMostReportId && reportDetailScreens.find((r) => r === currentRoute?.name) && !!currentRoute?.params && + typeof currentRoute.params === 'object' && 'reportID' in currentRoute.params && reportIDFromRoute === currentRoute.params.reportID; // Early return if the report we're passing isn't in a focused state. We only want to navigate to Concierge if the user leaves the room from another device or gets removed from the room while the report is in a focused state. From 9c473840817831f271d3f6469ad174e168f69ce1 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 10 Jun 2025 07:50:28 +0200 Subject: [PATCH 32/61] Fix rest of types --- src/CONST.ts | 2 ++ .../AppNavigator/Navigators/PublicRightModalNavigator.tsx | 2 +- .../AppNavigator/Navigators/RightModalNavigator.tsx | 2 +- src/libs/Navigation/DebugTabNavigator.tsx | 4 ++-- src/libs/Navigation/OnyxTabNavigator.tsx | 4 ++-- .../createPlatformStackNavigatorComponent/index.native.tsx | 4 +++- .../createPlatformStackNavigatorComponent/index.tsx | 5 ++++- src/libs/Navigation/types.ts | 3 ++- 8 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/CONST.ts b/src/CONST.ts index 99f4b17abcf98..e342375c4bb93 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -5215,6 +5215,8 @@ const CONST = { DISMISS_MODAL: 'DISMISS_MODAL', OPEN_WORKSPACE_SPLIT: 'OPEN_WORKSPACE_SPLIT', SET_HISTORY_PARAM: 'SET_HISTORY_PARAM', + REPLACE_PARAMS: 'REPLACE_PARAMS', + PRELOAD: 'PRELOAD' }, }, TIME_PERIOD: { diff --git a/src/libs/Navigation/AppNavigator/Navigators/PublicRightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/PublicRightModalNavigator.tsx index 7e17a4f747810..12c9bf5db1eed 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/PublicRightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/PublicRightModalNavigator.tsx @@ -15,7 +15,7 @@ import Overlay from './Overlay'; type PublicRightModalNavigatorComponentProps = PlatformStackScreenProps; -const Stack = createPlatformStackNavigator(); +const Stack = createPlatformStackNavigator(); function PublicRightModalNavigatorComponent({navigation}: PublicRightModalNavigatorComponentProps) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 366131799dfad..03752df588dc8 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -19,7 +19,7 @@ import Overlay from './Overlay'; type RightModalNavigatorProps = PlatformStackScreenProps; -const Stack = createPlatformStackNavigator(); +const Stack = createPlatformStackNavigator(); function RightModalNavigator({navigation, route}: RightModalNavigatorProps) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/DebugTabNavigator.tsx b/src/libs/Navigation/DebugTabNavigator.tsx index 4cb2ee85ad064..89d7cdbe7958c 100644 --- a/src/libs/Navigation/DebugTabNavigator.tsx +++ b/src/libs/Navigation/DebugTabNavigator.tsx @@ -1,4 +1,4 @@ -import type {EventMapCore, NavigationProp, NavigationState} from '@react-navigation/native'; +import type {EventMapCore, NavigationProp, NavigationState, ParamListBase} from '@react-navigation/native'; import {useNavigation} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; import React, {useEffect, useMemo, useState} from 'react'; @@ -36,7 +36,7 @@ function getIconAndTitle(route: string, translate: LocaleContextProps['translate } } -const StackNavigator = createStackNavigator(); +const StackNavigator = createStackNavigator(); type DebugTabNavigatorRoute = { name: string; diff --git a/src/libs/Navigation/OnyxTabNavigator.tsx b/src/libs/Navigation/OnyxTabNavigator.tsx index 61a1575f0dadd..4fb0012316893 100644 --- a/src/libs/Navigation/OnyxTabNavigator.tsx +++ b/src/libs/Navigation/OnyxTabNavigator.tsx @@ -1,6 +1,6 @@ import type {MaterialTopTabNavigationEventMap} from '@react-navigation/material-top-tabs'; import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs'; -import type {EventMapCore, NavigationState, ScreenListeners} from '@react-navigation/native'; +import type {EventMapCore, NavigationState, ParamListBase, ScreenListeners} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useContext, useEffect, useRef, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; @@ -54,7 +54,7 @@ type OnyxTabNavigatorProps = ChildrenProps & { }; // eslint-disable-next-line rulesdir/no-inline-named-export -const TopTab = createMaterialTopTabNavigator(); +const TopTab = createMaterialTopTabNavigator(); // The TabFocusTrapContext is to collect the focus trap container element of each tab screen. // This provider is placed in the OnyxTabNavigator component and the consumer is in the TabScreenWithFocusTrapWrapper component. diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 8e1ef9f604ec2..ce41090ab3494 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -40,6 +40,7 @@ function createPlatformStackNavigatorComponent, @@ -96,6 +97,7 @@ function createPlatformStackNavigatorComponent {!!ExtraContent && ( // eslint-disable-next-line react/jsx-props-no-spreading @@ -103,7 +105,7 @@ function createPlatformStackNavigatorComponent ), - [NavigationContent, customCodePropsWithCustomState, descriptors, navigation, props, state], + [NavigationContent, customCodePropsWithCustomState, describe, descriptors, navigation, props, state], ); // eslint-disable-next-line react/jsx-props-no-spreading diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 7872be070c75c..730e269d507af 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -41,6 +41,7 @@ function createPlatformStackNavigatorComponent, @@ -105,9 +106,11 @@ function createPlatformStackNavigatorComponent {!!ExtraContent && ( @@ -116,7 +119,7 @@ function createPlatformStackNavigatorComponent ), - [NavigationContent, customCodePropsWithCustomState, descriptors, mappedState, navigation, props], + [NavigationContent, customCodePropsWithCustomState, describe, descriptors, mappedState, navigation, props], ); // eslint-disable-next-line react/jsx-props-no-spreading diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts index c0582583a2e80..d465bbc8300c1 100644 --- a/src/libs/Navigation/types.ts +++ b/src/libs/Navigation/types.ts @@ -33,6 +33,7 @@ type NavigationRoot = NavigationHelpers; type GoBackAction = Extract; type ResetAction = Extract; type SetParamsAction = Extract; +type NavigateDeprecatedAction = Extract; type ActionNavigate = { type: ValueOf; @@ -48,7 +49,7 @@ type ActionNavigate = { target?: string; }; -type StackNavigationAction = GoBackAction | ResetAction | SetParamsAction | ActionNavigate | undefined; +type StackNavigationAction = GoBackAction | ResetAction | SetParamsAction | ActionNavigate | NavigateDeprecatedAction | undefined; type NavigationStateRoute = NavigationState['routes'][number]; type NavigationPartialRoute = PartialRoute>; From 4bf10b42196f2d531b79ec2c2bd0c565c25ddce9 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 10 Jun 2025 08:01:25 +0200 Subject: [PATCH 33/61] Add comments to explain disabling a TS rule for any type --- .../Navigation/AppNavigator/createRootStackNavigator/index.tsx | 1 + .../AppNavigator/createSearchFullscreenNavigator/index.tsx | 1 + src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx | 1 + .../PlatformStackNavigation/createPlatformStackNavigator.tsx | 1 + 4 files changed, 4 insertions(+) diff --git a/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx index 336f08f751619..5b69d96e69f49 100644 --- a/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx @@ -43,6 +43,7 @@ function createRootStackNavigator = StaticConfig, >(config?: Config): TypedNavigator { + // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(RootStackNavigatorComponent)(config); } diff --git a/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx index ca958a86f6b51..2f3b661d6a663 100644 --- a/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx @@ -53,6 +53,7 @@ function createSearchFullscreenNavigator = StaticConfig, >(config?: Config): TypedNavigator { + // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(SearchFullscreenNavigatorComponent)(config); } diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx index d76e49ec3b27a..a896953f7c493 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx @@ -62,6 +62,7 @@ function createSplitNavigator = StaticConfig, >(config?: Config): TypedNavigator { + // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(SplitNavigatorComponent)(config); } diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx index 8ce439eacd92e..2b7d9675aaec8 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -25,6 +25,7 @@ function createPlatformStackNavigator = StaticConfig, >(config?: Config): TypedNavigator { + // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(PlatformStackNavigatorComponent)(config); } From 10ace0e6ec23303ab85705a9f5383b349e8597c6 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 10 Jun 2025 14:53:43 +0200 Subject: [PATCH 34/61] Remove unnecessary es-lint rulw for inline exports --- src/libs/Navigation/OnyxTabNavigator.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/Navigation/OnyxTabNavigator.tsx b/src/libs/Navigation/OnyxTabNavigator.tsx index 4fb0012316893..016ef7805c74e 100644 --- a/src/libs/Navigation/OnyxTabNavigator.tsx +++ b/src/libs/Navigation/OnyxTabNavigator.tsx @@ -53,7 +53,6 @@ type OnyxTabNavigatorProps = ChildrenProps & { onTabSelect?: ({index}: {index: number}) => void; }; -// eslint-disable-next-line rulesdir/no-inline-named-export const TopTab = createMaterialTopTabNavigator(); // The TabFocusTrapContext is to collect the focus trap container element of each tab screen. From 10d0372646957dd326b04b4b4a54923806e0e306 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 11 Jun 2025 13:08:45 +0200 Subject: [PATCH 35/61] change logic of adaptStateIfNecessary --- ...t-navigation+core+7.10.0+002+initial.patch | 24 ----- .../createSplitNavigator/SplitRouter.ts | 98 +++++++++---------- 2 files changed, 44 insertions(+), 78 deletions(-) delete mode 100644 patches/@react-navigation+core+7.10.0+002+initial.patch diff --git a/patches/@react-navigation+core+7.10.0+002+initial.patch b/patches/@react-navigation+core+7.10.0+002+initial.patch deleted file mode 100644 index bf4a5935bdd50..0000000000000 --- a/patches/@react-navigation+core+7.10.0+002+initial.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/node_modules/@react-navigation/core/lib/module/deepFreeze.js b/node_modules/@react-navigation/core/lib/module/deepFreeze.js -index f5afb5c..1d4e98a 100644 ---- a/node_modules/@react-navigation/core/lib/module/deepFreeze.js -+++ b/node_modules/@react-navigation/core/lib/module/deepFreeze.js -@@ -9,6 +9,7 @@ export const isPlainObject = value => { - export const deepFreeze = object => { - // We only freeze in development to catch issues early - // Don't freeze in production to avoid unnecessary performance overhead -+ return object; - if (process.env.NODE_ENV === 'production') { - return object; - } -diff --git a/node_modules/@react-navigation/core/src/deepFreeze.tsx b/node_modules/@react-navigation/core/src/deepFreeze.tsx -index a7e5468..81f0966 100644 ---- a/node_modules/@react-navigation/core/src/deepFreeze.tsx -+++ b/node_modules/@react-navigation/core/src/deepFreeze.tsx -@@ -9,6 +9,7 @@ export const isPlainObject = (value: unknown): value is object => { - export const deepFreeze = (object: T): Readonly => { - // We only freeze in development to catch issues early - // Don't freeze in production to avoid unnecessary performance overhead -+ return object; - if (process.env.NODE_ENV === 'production') { - return object; - } diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts index 3b695358d8042..fba6c3f9ce58d 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts @@ -13,13 +13,13 @@ import {getPreservedNavigatorState} from './usePreserveNavigatorState'; type StackState = StackNavigationState | PartialState>; -const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); - type AdaptStateIfNecessaryArgs = { state: StackState; options: SplitNavigatorRouterOptions; }; +const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); + function getRoutePolicyID(route: NavigationPartialRoute): string | undefined { return (route?.params as Record | undefined)?.policyID; } @@ -31,10 +31,12 @@ function adaptStateIfNecessary({state, options: {sidebarScreen, defaultCentralSc const lastRoute = state.routes.at(-1) as NavigationPartialRoute; const routePolicyID = getRoutePolicyID(lastRoute); - // If invalid policy page is displayed on narrow layout, sidebar screen should not be pushed to the navigation state to avoid adding redundant not found page + let routes = [...state.routes]; + let modified = false; + if (isNarrowLayout && !!routePolicyID) { if (shouldDisplayPolicyNotFoundPage(routePolicyID)) { - return; + return state; // state is unchanged } } @@ -42,57 +44,50 @@ function adaptStateIfNecessary({state, options: {sidebarScreen, defaultCentralSc const isInitialRoute = !rootState || rootState.routes.length === 1; const shouldSplitHaveSidebar = isInitialRoute || !isNarrowLayout; - // If the screen is wide, there should be at least two screens inside: - // - sidebarScreen to cover left pane. - // - defaultCentralScreen to cover central pane. if (!isAtLeastOneInState(state, sidebarScreen) && shouldSplitHaveSidebar) { const paramsFromRoute = getParamsFromRoute(sidebarScreen); const copiedParams = pick(lastRoute?.params, paramsFromRoute); - - // We don't want to get an empty object as params because it breaks some navigation logic when comparing if routes are the same. const params = isEmptyObject(copiedParams) ? undefined : copiedParams; - // @ts-expect-error Updating read only property - // eslint-disable-next-line no-param-reassign - state.stale = true; - - // @ts-expect-error Updating read only property - // Unshift the root screen to fill left pane. - state.routes.unshift({ - name: sidebarScreen, - // This handles the case where the sidebar should have params included in the central screen e.g. policyID for workspace initial. - params, - }); + routes = [ + { + name: sidebarScreen, + params, + }, + ...routes, + ]; + modified = true; } - // If the screen is wide, there should be at least two screens inside: - // - sidebarScreen to cover left pane. - // - defaultCentralScreen to cover central pane. if (!isNarrowLayout) { - if (state.routes.length === 1 && state.routes[0].name === sidebarScreen) { + if (routes.length === 1 && routes.at(0)?.name === sidebarScreen) { const previousSameNavigator = rootState?.routes.filter((route) => route.name === parentRoute.name).at(-2); - // If we have optimization for not rendering all split navigators, then last selected option may not be in the state. In this case state has to be read from the preserved state. const previousSameNavigatorState = previousSameNavigator?.state ?? (previousSameNavigator?.key ? getPreservedNavigatorState(previousSameNavigator.key) : undefined); const previousSelectedCentralScreen = previousSameNavigatorState?.routes && previousSameNavigatorState.routes.length > 1 ? previousSameNavigatorState.routes.at(-1)?.name : undefined; - // @ts-expect-error Updating read only property - // eslint-disable-next-line no-param-reassign - state.stale = true; - - // @ts-expect-error Updating read only property - // Push the default settings central pane screen. - state.routes.push({ - name: previousSelectedCentralScreen ?? defaultCentralScreen, - params: state.routes.at(0)?.params, - }); + routes = [ + ...routes, + { + name: previousSelectedCentralScreen ?? defaultCentralScreen, + params: routes.at(0)?.params, + }, + ]; + modified = true; } } - // @ts-expect-error Updating read only property - // eslint-disable-next-line no-param-reassign - state.index = state.routes.length - 1; + if (!modified) { + return state; + } + + return { + ...state, + routes, + stale: true, + index: routes.length - 1, + } as StackState; } function isPushingSidebarOnCentralPane(state: StackState, action: CommonActions.Action | StackActionType, options: SplitNavigatorRouterOptions) { @@ -101,8 +96,10 @@ function isPushingSidebarOnCentralPane(state: StackState, action: CommonActions. function SplitRouter(options: SplitNavigatorRouterOptions) { const stackRouter = StackRouter(options); + return { ...stackRouter, + getStateForAction(state: StackNavigationState, action: CommonActions.Action | StackActionType, configOptions: RouterConfigOptions) { if (isPushingSidebarOnCentralPane(state, action, options)) { if (getIsNarrowLayout()) { @@ -114,30 +111,23 @@ function SplitRouter(options: SplitNavigatorRouterOptions) { } return stackRouter.getStateForAction(state, action, configOptions); }, + getInitialState({routeNames, routeParamList, routeGetIdList}: RouterConfigOptions) { - const preservedState = getPreservedNavigatorState(options.parentRoute.key); - const initialState = preservedState ?? stackRouter.getInitialState({routeNames, routeParamList, routeGetIdList}); + let state: StackState = getPreservedNavigatorState(options.parentRoute.key) ?? stackRouter.getInitialState({routeNames, routeParamList, routeGetIdList}); - adaptStateIfNecessary({ - state: initialState, - options, - }); + state = adaptStateIfNecessary({state, options}); // If we needed to modify the state we need to rehydrate it to get keys for new routes. - if (initialState.stale) { - return stackRouter.getRehydratedState(initialState, {routeNames, routeParamList, routeGetIdList}); + if (state.stale) { + return stackRouter.getRehydratedState(state, {routeNames, routeParamList, routeGetIdList}); } - return initialState; + return state as StackNavigationState; }, - getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { - adaptStateIfNecessary({ - state: partialState, - options, - }); - const state = stackRouter.getRehydratedState(partialState, {routeNames, routeParamList, routeGetIdList}); - return state; + getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { + const adaptedState = adaptStateIfNecessary({state: partialState, options}); + return stackRouter.getRehydratedState(adaptedState, {routeNames, routeParamList, routeGetIdList}); }, }; } From 229d9e8e5491fdc31351ca081afca31f02d1e349 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 11 Jun 2025 13:24:36 +0200 Subject: [PATCH 36/61] cleanup code --- .../createSplitNavigator/SplitRouter.ts | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts index fba6c3f9ce58d..1889be0e3d780 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts @@ -13,13 +13,13 @@ import {getPreservedNavigatorState} from './usePreserveNavigatorState'; type StackState = StackNavigationState | PartialState>; +const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); + type AdaptStateIfNecessaryArgs = { state: StackState; options: SplitNavigatorRouterOptions; }; -const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); - function getRoutePolicyID(route: NavigationPartialRoute): string | undefined { return (route?.params as Record | undefined)?.policyID; } @@ -31,9 +31,11 @@ function adaptStateIfNecessary({state, options: {sidebarScreen, defaultCentralSc const lastRoute = state.routes.at(-1) as NavigationPartialRoute; const routePolicyID = getRoutePolicyID(lastRoute); - let routes = [...state.routes]; + const routes = [...state.routes]; let modified = false; + // If invalid policy page is displayed on narrow layout, sidebar screen should not be + // pushed to the navigation state to avoid adding redundant not found page if (isNarrowLayout && !!routePolicyID) { if (shouldDisplayPolicyNotFoundPage(routePolicyID)) { return state; // state is unchanged @@ -44,36 +46,40 @@ function adaptStateIfNecessary({state, options: {sidebarScreen, defaultCentralSc const isInitialRoute = !rootState || rootState.routes.length === 1; const shouldSplitHaveSidebar = isInitialRoute || !isNarrowLayout; + // If the screen is wide, there should be at least two screens inside: + // - sidebarScreen to cover left pane. + // - defaultCentralScreen to cover central pane. if (!isAtLeastOneInState(state, sidebarScreen) && shouldSplitHaveSidebar) { const paramsFromRoute = getParamsFromRoute(sidebarScreen); const copiedParams = pick(lastRoute?.params, paramsFromRoute); + + // We don't want to get an empty object as params because it breaks some navigation logic when comparing if routes are the same. const params = isEmptyObject(copiedParams) ? undefined : copiedParams; - routes = [ - { - name: sidebarScreen, - params, - }, - ...routes, - ]; + routes.unshift({ + name: sidebarScreen, + // This handles the case where the sidebar should have params included in the central screen e.g. policyID for workspace initial. + params, + }); modified = true; } + // If the screen is wide, there should be at least two screens inside: + // - sidebarScreen to cover left pane. + // - defaultCentralScreen to cover central pane. if (!isNarrowLayout) { if (routes.length === 1 && routes.at(0)?.name === sidebarScreen) { const previousSameNavigator = rootState?.routes.filter((route) => route.name === parentRoute.name).at(-2); + // If we have optimization for not rendering all split navigators, then last selected option may not be in the state. In this case state has to be read from the preserved state. const previousSameNavigatorState = previousSameNavigator?.state ?? (previousSameNavigator?.key ? getPreservedNavigatorState(previousSameNavigator.key) : undefined); const previousSelectedCentralScreen = previousSameNavigatorState?.routes && previousSameNavigatorState.routes.length > 1 ? previousSameNavigatorState.routes.at(-1)?.name : undefined; - routes = [ - ...routes, - { - name: previousSelectedCentralScreen ?? defaultCentralScreen, - params: routes.at(0)?.params, - }, - ]; + routes.push({ + name: previousSelectedCentralScreen ?? defaultCentralScreen, + params: state.routes.at(0)?.params, + }); modified = true; } } @@ -122,7 +128,7 @@ function SplitRouter(options: SplitNavigatorRouterOptions) { return stackRouter.getRehydratedState(state, {routeNames, routeParamList, routeGetIdList}); } - return state as StackNavigationState; + return state; }, getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { From 4250fb18a5a7b8d7555bf0c467bfa9ae2af8f97d Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 11 Jun 2025 14:28:05 +0200 Subject: [PATCH 37/61] remove let and use const --- .../AppNavigator/createSplitNavigator/SplitRouter.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts index 1889be0e3d780..408fa5cc5c9ac 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts @@ -119,16 +119,15 @@ function SplitRouter(options: SplitNavigatorRouterOptions) { }, getInitialState({routeNames, routeParamList, routeGetIdList}: RouterConfigOptions) { - let state: StackState = getPreservedNavigatorState(options.parentRoute.key) ?? stackRouter.getInitialState({routeNames, routeParamList, routeGetIdList}); - - state = adaptStateIfNecessary({state, options}); + const initialState = getPreservedNavigatorState(options.parentRoute.key) ?? stackRouter.getInitialState({routeNames, routeParamList, routeGetIdList}); + const maybeAdaptedState = adaptStateIfNecessary({state: initialState, options}); // If we needed to modify the state we need to rehydrate it to get keys for new routes. - if (state.stale) { - return stackRouter.getRehydratedState(state, {routeNames, routeParamList, routeGetIdList}); + if (maybeAdaptedState.stale) { + return stackRouter.getRehydratedState(maybeAdaptedState, {routeNames, routeParamList, routeGetIdList}); } - return state; + return maybeAdaptedState; }, getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { From 253ec9d28a23b8814b10803855f53999ce38c942 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 11 Jun 2025 16:32:03 +0200 Subject: [PATCH 38/61] fix typescript Error --- .../Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts index 408fa5cc5c9ac..6bd4d3a4fad9b 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts @@ -127,7 +127,7 @@ function SplitRouter(options: SplitNavigatorRouterOptions) { return stackRouter.getRehydratedState(maybeAdaptedState, {routeNames, routeParamList, routeGetIdList}); } - return maybeAdaptedState; + return maybeAdaptedState as StackNavigationState; }, getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { From 6d18198a0af3a2f4d7c54979fcdd85f284528011 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 11 Jun 2025 16:39:01 +0200 Subject: [PATCH 39/61] remove unnecessary new line --- .../Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts index 6bd4d3a4fad9b..fa93714c828ec 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/SplitRouter.ts @@ -102,10 +102,8 @@ function isPushingSidebarOnCentralPane(state: StackState, action: CommonActions. function SplitRouter(options: SplitNavigatorRouterOptions) { const stackRouter = StackRouter(options); - return { ...stackRouter, - getStateForAction(state: StackNavigationState, action: CommonActions.Action | StackActionType, configOptions: RouterConfigOptions) { if (isPushingSidebarOnCentralPane(state, action, options)) { if (getIsNarrowLayout()) { From 386d65e356856290d18d65bae532a41813cca8a1 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 11 Jun 2025 18:25:00 +0200 Subject: [PATCH 40/61] Fix failing Jest tests by removing type: module in lib/module/package.json --- __mocks__/@react-navigation/native/index.ts | 4 +- ...x-failing-jest-by-disabling-esmodule.patch | 47 +++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/__mocks__/@react-navigation/native/index.ts b/__mocks__/@react-navigation/native/index.ts index 4e07a6480302b..b2e1ada88a3f8 100644 --- a/__mocks__/@react-navigation/native/index.ts +++ b/__mocks__/@react-navigation/native/index.ts @@ -45,7 +45,7 @@ const useScrollToTop = isJestEnv ? realReactNavigation.useScrollToTop : () => nu const useRoute = isJestEnv ? realReactNavigation.useRoute : () => ({params: {}}); const useFocusEffect = isJestEnv ? realReactNavigation.useFocusEffect : (callback: () => void) => callback(); // eslint-disable-next-line @typescript-eslint/naming-convention -const UNSTABLE_usePreventRemove = isJestEnv ? jest.fn() : () => {}; +const usePreventRemove = isJestEnv ? jest.fn() : () => {}; export { // Overridden modules @@ -68,7 +68,7 @@ export { useScrollToTop, useRoute, useFocusEffect, - UNSTABLE_usePreventRemove, + usePreventRemove, }; export type {NativeNavigationMock}; diff --git a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch new file mode 100644 index 0000000000000..76fa36c37f501 --- /dev/null +++ b/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch @@ -0,0 +1,47 @@ +# This patch is necessary to run Jest with the necessary for us --experimental-vm-modules flag. +# Currently we transpile all the code to commonjs, but Jest looks up to individual package.jsons +# to see whether the package is commonjs or ESModule. That causes a conflict, which can be solved +# by removing {"type":"module"} from lib/module/package.json. +# More: https://github.com/react-navigation/react-navigation/issues/12637 +diff --git a/node_modules/@react-navigation/core/lib/module/package.json b/node_modules/@react-navigation/core/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/core/lib/module/package.json ++++ b/node_modules/@react-navigation/core/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} +diff --git a/node_modules/@react-navigation/material-top-tabs/lib/module/package.json b/node_modules/@react-navigation/material-top-tabs/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/material-top-tabs/lib/module/package.json ++++ b/node_modules/@react-navigation/material-top-tabs/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} +diff --git a/node_modules/@react-navigation/native-stack/lib/module/package.json b/node_modules/@react-navigation/native-stack/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/package.json ++++ b/node_modules/@react-navigation/native-stack/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} +diff --git a/node_modules/@react-navigation/native/lib/module/package.json b/node_modules/@react-navigation/native/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/native/lib/module/package.json ++++ b/node_modules/@react-navigation/native/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} +diff --git a/node_modules/@react-navigation/routers/lib/module/package.json b/node_modules/@react-navigation/routers/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/routers/lib/module/package.json ++++ b/node_modules/@react-navigation/routers/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} +diff --git a/node_modules/@react-navigation/stack/lib/module/package.json b/node_modules/@react-navigation/stack/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/stack/lib/module/package.json ++++ b/node_modules/@react-navigation/stack/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} From 5b377de266744de405ffa106adc44a42110e9444 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 11 Jun 2025 18:35:29 +0200 Subject: [PATCH 41/61] Improve comment in the patch --- ...core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch index 76fa36c37f501..7c61dfe3078ce 100644 --- a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch +++ b/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch @@ -1,4 +1,4 @@ -# This patch is necessary to run Jest with the necessary for us --experimental-vm-modules flag. +# This patch is necessary to run Jest with the obligatory at the moment --experimental-vm-modules flag. # Currently we transpile all the code to commonjs, but Jest looks up to individual package.jsons # to see whether the package is commonjs or ESModule. That causes a conflict, which can be solved # by removing {"type":"module"} from lib/module/package.json. From 2d4798bd3aeaf358c6ec65547ffaef3633992633 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 12 Jun 2025 08:13:51 +0200 Subject: [PATCH 42/61] Add one more package to patch --- ...7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch index 7c61dfe3078ce..14bfba467474b 100644 --- a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch +++ b/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch @@ -45,3 +45,10 @@ index 089153b..0967ef4 100644 @@ -1 +1 @@ -{"type":"module"} +{} +diff --git a/node_modules/@react-navigation/elements/lib/module/package.json b/node_modules/@react-navigation/elements/lib/module/package.json +index 089153b..0967ef4 100644 +--- a/node_modules/@react-navigation/elements/lib/module/package.json ++++ b/node_modules/@react-navigation/elements/lib/module/package.json +@@ -1 +1 @@ +-{"type":"module"} ++{} From 8f2bc3020a2c5c1f59a60561da0ed2913341ddbd Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 12 Jun 2025 09:05:27 +0200 Subject: [PATCH 43/61] Add useLocale mock --- __mocks__/@react-navigation/native/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/__mocks__/@react-navigation/native/index.ts b/__mocks__/@react-navigation/native/index.ts index b2e1ada88a3f8..6670bbdb3b67d 100644 --- a/__mocks__/@react-navigation/native/index.ts +++ b/__mocks__/@react-navigation/native/index.ts @@ -8,6 +8,9 @@ const realReactNavigation = isJestEnv ? jest.requireActual true; const useTheme = isJestEnv ? realReactNavigation.useTheme : () => ({}); +const useLocale = () => ({ + direction: 'mocked direction', +}); const {triggerTransitionEnd, addListener} = isJestEnv ? createAddListenerMock() @@ -52,6 +55,7 @@ export { useIsFocused, useTheme, useNavigation, + useLocale, triggerTransitionEnd, // Theme modules are left alone From f77e616606bac2117772f12917a56d11fbb3cbe2 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Thu, 12 Jun 2025 09:13:13 +0200 Subject: [PATCH 44/61] Simplify useLocale mock --- __mocks__/@react-navigation/native/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/__mocks__/@react-navigation/native/index.ts b/__mocks__/@react-navigation/native/index.ts index 6670bbdb3b67d..6d3dd70d92433 100644 --- a/__mocks__/@react-navigation/native/index.ts +++ b/__mocks__/@react-navigation/native/index.ts @@ -8,9 +8,7 @@ const realReactNavigation = isJestEnv ? jest.requireActual true; const useTheme = isJestEnv ? realReactNavigation.useTheme : () => ({}); -const useLocale = () => ({ - direction: 'mocked direction', -}); +const useLocale = isJestEnv ? realReactNavigation.useTheme : () => ({}); const {triggerTransitionEnd, addListener} = isJestEnv ? createAddListenerMock() From 9c2d4254d36beecad8ba23b7502816d512f04ec0 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Thu, 12 Jun 2025 09:45:45 +0200 Subject: [PATCH 45/61] add log --- ...navigation+native+7.1.10+001+initial.patch | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation+native+7.1.10+001+initial.patch index 4955a0646350f..6c845817d9b0b 100644 --- a/patches/@react-navigation+native+7.1.10+001+initial.patch +++ b/patches/@react-navigation+native+7.1.10+001+initial.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -index 474db5e..b3167bc 100644 +index 474db5e..4d94ed8 100644 --- a/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js +++ b/node_modules/@react-navigation/native/lib/module/createMemoryHistory.js -@@ -1,6 +1,7 @@ +@@ -1,10 +1,27 @@ "use strict"; import { nanoid } from 'nanoid/non-secure'; @@ -10,7 +10,27 @@ index 474db5e..b3167bc 100644 export function createMemoryHistory() { let index = 0; let items = []; -@@ -17,7 +18,10 @@ export function createMemoryHistory() { + ++ // const log = () => { ++ // console.log(JSON.stringify({ ++ // index, ++ // indexGetter: history.index, ++ // items: items.map((item, i) => { ++ // var _item$state; ++ // return { ++ // selected: history.index === i ? '<<<<<<<' : undefined, ++ // path: item.path, ++ // id: item.id, ++ // state: ((_item$state = item.state) === null || _item$state === void 0 ? void 0 : _item$state.key) || null ++ // }; ++ // }) ++ // }, null, 4)); ++ // }; ++ + // Pending callbacks for `history.go(n)` + // We might modify the callback stored if it was interrupted, so we have a ref to identify it + const pending = []; +@@ -17,7 +34,10 @@ export function createMemoryHistory() { it.cb = () => cb(true); }); }; @@ -22,7 +42,7 @@ index 474db5e..b3167bc 100644 get index() { // We store an id in the state instead of an index // Index could get out of sync with in-memory values if page reloads -@@ -32,12 +36,13 @@ export function createMemoryHistory() { +@@ -32,12 +52,13 @@ export function createMemoryHistory() { return items[index]; }, backIndex({ @@ -38,7 +58,7 @@ index 474db5e..b3167bc 100644 return i; } } -@@ -77,7 +82,7 @@ export function createMemoryHistory() { +@@ -77,7 +98,7 @@ export function createMemoryHistory() { // Need to keep the hash part of the path if there was no previous history entry // or the previous history entry had the same path @@ -47,14 +67,13 @@ index 474db5e..b3167bc 100644 const hash = pathWithHash.includes('#') ? '' : location.hash; if (!items.length || items.findIndex(item => item.id === id) < 0) { // There are two scenarios for creating an array with only one history record: -@@ -211,6 +216,5 @@ export function createMemoryHistory() { +@@ -211,6 +232,5 @@ export function createMemoryHistory() { return () => window.removeEventListener('popstate', onPopState); } }; - return history; } //# sourceMappingURL=createMemoryHistory.js.map -\ No newline at end of file diff --git a/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js b/node_modules/@react-navigation/native/lib/module/findFocusedRouteKey.js new file mode 100644 index 0000000..b996822 From c3b99d29faa5cff8fdd80bfe583b63b0ba7b43ec Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Thu, 12 Jun 2025 10:10:21 +0200 Subject: [PATCH 46/61] fix prettier --- src/CONST.ts | 2 +- .../CustomStatusBarAndBackground/index.tsx | 6 +++- src/components/ScreenWrapper/index.tsx | 2 +- .../createRootStackNavigator/index.tsx | 35 +++++++++---------- .../createSearchFullscreenNavigator/index.tsx | 35 +++++++++---------- .../createSplitNavigator/index.tsx | 35 +++++++++---------- .../createPlatformStackNavigator.tsx | 35 +++++++++---------- .../types/NavigationBuilder.ts | 2 +- .../PlatformStackNavigation/types/index.ts | 5 +-- 9 files changed, 73 insertions(+), 84 deletions(-) diff --git a/src/CONST.ts b/src/CONST.ts index e342375c4bb93..84cfc2ce232df 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -5216,7 +5216,7 @@ const CONST = { OPEN_WORKSPACE_SPLIT: 'OPEN_WORKSPACE_SPLIT', SET_HISTORY_PARAM: 'SET_HISTORY_PARAM', REPLACE_PARAMS: 'REPLACE_PARAMS', - PRELOAD: 'PRELOAD' + PRELOAD: 'PRELOAD', }, }, TIME_PERIOD: { diff --git a/src/components/CustomStatusBarAndBackground/index.tsx b/src/components/CustomStatusBarAndBackground/index.tsx index 3ffb9bd0892de..95ad1fe0f3a80 100644 --- a/src/components/CustomStatusBarAndBackground/index.tsx +++ b/src/components/CustomStatusBarAndBackground/index.tsx @@ -84,7 +84,11 @@ function CustomStatusBarAndBackground({isNested = false}: CustomStatusBarAndBack newStatusBarStyle = pageTheme.statusBarStyle; const backgroundColorFromRoute = - currentRoute?.params && typeof currentRoute?.params === 'object' && 'backgroundColor' in currentRoute.params && typeof currentRoute.params.backgroundColor === 'string' && currentRoute.params.backgroundColor; + currentRoute?.params && + typeof currentRoute?.params === 'object' && + 'backgroundColor' in currentRoute.params && + typeof currentRoute.params.backgroundColor === 'string' && + currentRoute.params.backgroundColor; // It's possible for backgroundColorFromRoute to be empty string, so we must use "||" to fallback to backgroundColorFallback. // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing diff --git a/src/components/ScreenWrapper/index.tsx b/src/components/ScreenWrapper/index.tsx index a296601583d45..146dbff62a176 100644 --- a/src/components/ScreenWrapper/index.tsx +++ b/src/components/ScreenWrapper/index.tsx @@ -1,5 +1,5 @@ import HybridAppModule from '@expensify/react-native-hybrid-app'; -import {usePreventRemove, useIsFocused, useNavigation} from '@react-navigation/native'; +import {useIsFocused, useNavigation, usePreventRemove} from '@react-navigation/native'; import type {ForwardedRef, ReactNode} from 'react'; import React, {createContext, forwardRef, useContext, useEffect, useMemo, useRef, useState} from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; diff --git a/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx index 5b69d96e69f49..1022232504ed4 100644 --- a/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createRootStackNavigator/index.tsx @@ -24,25 +24,22 @@ const RootStackNavigatorComponent = createPlatformStackNavigatorComponent('RootS ExtraContent: RootNavigatorExtraContent, }); -function createRootStackNavigator; - ScreenOptions: PlatformStackNavigationOptions; - EventMap: PlatformStackNavigationEventMap; - NavigationList: { - [RouteName in keyof ParamList]: NavigationProp< - ParamList, - RouteName, - NavigatorID - >; - }; - Navigator: typeof RootStackNavigatorComponent; - }, - const Config extends StaticConfig = StaticConfig, - >(config?: Config): TypedNavigator { +function createRootStackNavigator< + const ParamList extends ParamListBase, + const NavigatorID extends string | undefined = undefined, + const TypeBag extends NavigatorTypeBagBase = { + ParamList: ParamList; + NavigatorID: NavigatorID; + State: PlatformStackNavigationState; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp; + }; + Navigator: typeof RootStackNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, +>(config?: Config): TypedNavigator { // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(RootStackNavigatorComponent)(config); diff --git a/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx index 2f3b661d6a663..e7d3960bc8c7b 100644 --- a/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx @@ -34,25 +34,22 @@ const SearchFullscreenNavigatorComponent = createPlatformStackNavigatorComponent ExtraContent: SearchSidebar, }); -function createSearchFullscreenNavigator; - ScreenOptions: PlatformStackNavigationOptions; - EventMap: PlatformStackNavigationEventMap; - NavigationList: { - [RouteName in keyof ParamList]: NavigationProp< - ParamList, - RouteName, - NavigatorID - >; - }; - Navigator: typeof SearchFullscreenNavigatorComponent; - }, - const Config extends StaticConfig = StaticConfig, - >(config?: Config): TypedNavigator { +function createSearchFullscreenNavigator< + const ParamList extends ParamListBase, + const NavigatorID extends string | undefined = undefined, + const TypeBag extends NavigatorTypeBagBase = { + ParamList: ParamList; + NavigatorID: NavigatorID; + State: PlatformStackNavigationState; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp; + }; + Navigator: typeof SearchFullscreenNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, +>(config?: Config): TypedNavigator { // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(SearchFullscreenNavigatorComponent)(config); diff --git a/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx index a896953f7c493..4483297f6a1b6 100644 --- a/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createSplitNavigator/index.tsx @@ -43,25 +43,22 @@ const SplitNavigatorComponent = createPlatformStackNavigatorComponent('SplitNavi NavigationContentWrapper: SidebarSpacerWrapper, }); -function createSplitNavigator; - ScreenOptions: PlatformStackNavigationOptions; - EventMap: PlatformStackNavigationEventMap; - NavigationList: { - [RouteName in keyof ParamList]: NavigationProp< - ParamList, - RouteName, - NavigatorID - >; - }; - Navigator: typeof SplitNavigatorComponent; - }, - const Config extends StaticConfig = StaticConfig, - >(config?: Config): TypedNavigator { +function createSplitNavigator< + const ParamList extends ParamListBase, + const NavigatorID extends string | undefined = undefined, + const TypeBag extends NavigatorTypeBagBase = { + ParamList: ParamList; + NavigatorID: NavigatorID; + State: PlatformStackNavigationState; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp; + }; + Navigator: typeof SplitNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, +>(config?: Config): TypedNavigator { // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(SplitNavigatorComponent)(config); diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx index 2b7d9675aaec8..d000f158e97e4 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -6,25 +6,22 @@ import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, Pl const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator', {defaultScreenOptions: defaultPlatformStackScreenOptions}); -function createPlatformStackNavigator; - ScreenOptions: PlatformStackNavigationOptions; - EventMap: PlatformStackNavigationEventMap; - NavigationList: { - [RouteName in keyof ParamList]: NavigationProp< - ParamList, - RouteName, - NavigatorID - >; - }; - Navigator: typeof PlatformStackNavigatorComponent; - }, - const Config extends StaticConfig = StaticConfig, - >(config?: Config): TypedNavigator { +function createPlatformStackNavigator< + const ParamList extends ParamListBase, + const NavigatorID extends string | undefined = undefined, + const TypeBag extends NavigatorTypeBagBase = { + ParamList: ParamList; + NavigatorID: NavigatorID; + State: PlatformStackNavigationState; + ScreenOptions: PlatformStackNavigationOptions; + EventMap: PlatformStackNavigationEventMap; + NavigationList: { + [RouteName in keyof ParamList]: NavigationProp; + }; + Navigator: typeof PlatformStackNavigatorComponent; + }, + const Config extends StaticConfig = StaticConfig, +>(config?: Config): TypedNavigator { // In React Navigation 7 createNavigatorFactory returns any // eslint-disable-next-line @typescript-eslint/no-unsafe-return return createNavigatorFactory(PlatformStackNavigatorComponent)(config); diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts index 6f9f8c13be7dc..209b4a153a9a6 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts @@ -3,8 +3,8 @@ import type { DefaultNavigatorOptions, Descriptor, EventMapBase, - NavigationListBase, NavigationHelpers, + NavigationListBase, NavigationProp, ParamListBase, RouteProp, diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index e7c8c7bd0333a..4b5ca5939714d 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -64,10 +64,7 @@ type PlatformStackScreenProps< }; // Props to configure the the PlatformStackNavigator -type PlatformStackNavigatorProps< - ParamList extends ParamListBase, - RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = DefaultNavigatorOptions< +type PlatformStackNavigatorProps = DefaultNavigatorOptions< ParamList, string | undefined, PlatformStackNavigationState, From c0842abd1c0819bfc25fed9924a6def031878ba8 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Thu, 12 Jun 2025 15:00:32 +0200 Subject: [PATCH 47/61] fix ts error --- src/libs/ReportUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 38a29671bda1b..3cfc97dd380a2 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -5825,7 +5825,7 @@ function getReportUrl(reportID: string) { return `${environmentURL}/r/${reportID}`; } -function getMovedTransactionMessage(action: ReportAction, parentReportAction: OnyxEntry, report?: Report) { +function getMovedTransactionMessage(action: ReportAction, parentReportAction?: OnyxEntry, report?: Report) { const movedTransactionOriginalMessage = getOriginalMessage(action as ReportAction) ?? {}; const {toReportID} = movedTransactionOriginalMessage as OriginalMessageMovedTransaction; const reportName = getReportName(report, undefined, parentReportAction); From e6b5aea3345658ea0a97cefc269c59f4d25125cd Mon Sep 17 00:00:00 2001 From: staszekscp Date: Fri, 13 Jun 2025 10:14:11 +0200 Subject: [PATCH 48/61] Bump react-native-screens to 4.11.1 --- package-lock.json | 26 +++++++++++++++----------- package.json | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ed5581d5833c..482ff6064f27c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -120,7 +120,7 @@ "react-native-release-profiler": "^0.2.1", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "5.4.0", - "react-native-screens": "4.10.0", + "react-native-screens": "4.11.1", "react-native-share": "11.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "15.9.0", @@ -34504,12 +34504,13 @@ } }, "node_modules/react-native-screens": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.10.0.tgz", - "integrity": "sha512-Tw21NGuXm3PbiUGtZd0AnXirUixaAbPXDjNR0baBH7/WJDaDTTELLcQ7QRXuqAWbmr/EVCrKj1348ei1KFIr8A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.11.1.tgz", + "integrity": "sha512-F0zOzRVa3ptZfLpD0J8ROdo+y1fEPw+VBFq1MTY/iyDu08al7qFUO5hLMd+EYMda5VXGaTFCa8q7bOppUszhJw==", "license": "MIT", "dependencies": { "react-freeze": "^1.0.0", + "react-native-is-edge-to-edge": "^1.1.7", "warn-once": "^0.1.0" }, "peerDependencies": { @@ -34517,6 +34518,16 @@ "react-native": "*" } }, + "node_modules/react-native-screens/node_modules/react-native-is-edge-to-edge": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.7.tgz", + "integrity": "sha512-EH6i7E8epJGIcu7KpfXYXiV2JFIYITtq+rVS8uEb+92naMRBdxhTuS8Wn2Q7j9sqyO0B+Xbaaf9VdipIAmGW4w==", + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-share": { "version": "11.0.2", "resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-11.0.2.tgz", @@ -38455,13 +38466,6 @@ "dev": true, "license": "MIT" }, - "node_modules/use-latest-callback": { - "version": "0.1.9", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8" - } - }, "node_modules/use-sync-external-store": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", diff --git a/package.json b/package.json index 4ada17cd1ba11..31d24ddc41e9c 100644 --- a/package.json +++ b/package.json @@ -188,7 +188,7 @@ "react-native-release-profiler": "^0.2.1", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "5.4.0", - "react-native-screens": "4.10.0", + "react-native-screens": "4.11.1", "react-native-share": "11.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "15.9.0", From a319ed34ed9f733d159b6f3594099fc31b643b6f Mon Sep 17 00:00:00 2001 From: staszekscp Date: Mon, 16 Jun 2025 09:48:59 +0200 Subject: [PATCH 49/61] Update @react-navigation patches details.md and move them to a separate directory --- ...x-failing-jest-by-disabling-esmodule.patch | 5 -- ...+001+platform-navigation-stack-types.patch | 0 ...navigation+native+7.1.10+001+initial.patch | 0 ...dded-interaction-manager-integration.patch | 0 ...on+stack+7.3.3+001+edge-drag-gesture.patch | 0 ...ion+stack+7.3.3+002+dontDetachScreen.patch | 0 patches/react-navigation/details.md | 48 +++++++++++++++++++ 7 files changed, 48 insertions(+), 5 deletions(-) rename patches/{ => react-navigation}/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch (84%) rename patches/{ => react-navigation}/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch (100%) rename patches/{ => react-navigation}/@react-navigation+native+7.1.10+001+initial.patch (100%) rename patches/{ => react-navigation}/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch (100%) rename patches/{ => react-navigation}/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch (100%) rename patches/{ => react-navigation}/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch (100%) create mode 100644 patches/react-navigation/details.md diff --git a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 84% rename from patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch index 14bfba467474b..cfaf7bdb9b817 100644 --- a/patches/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch +++ b/patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch @@ -1,8 +1,3 @@ -# This patch is necessary to run Jest with the obligatory at the moment --experimental-vm-modules flag. -# Currently we transpile all the code to commonjs, but Jest looks up to individual package.jsons -# to see whether the package is commonjs or ESModule. That causes a conflict, which can be solved -# by removing {"type":"module"} from lib/module/package.json. -# More: https://github.com/react-navigation/react-navigation/issues/12637 diff --git a/node_modules/@react-navigation/core/lib/module/package.json b/node_modules/@react-navigation/core/lib/module/package.json index 089153b..0967ef4 100644 --- a/node_modules/@react-navigation/core/lib/module/package.json diff --git a/patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch similarity index 100% rename from patches/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch rename to patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch diff --git a/patches/@react-navigation+native+7.1.10+001+initial.patch b/patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch similarity index 100% rename from patches/@react-navigation+native+7.1.10+001+initial.patch rename to patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch diff --git a/patches/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch b/patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch similarity index 100% rename from patches/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch rename to patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch diff --git a/patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch b/patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch similarity index 100% rename from patches/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch rename to patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch diff --git a/patches/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch b/patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch similarity index 100% rename from patches/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch rename to patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md new file mode 100644 index 0000000000000..1d9c44e0f0b48 --- /dev/null +++ b/patches/react-navigation/details.md @@ -0,0 +1,48 @@ +# `@react-navigation` patches + +### [@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule](@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch) + +- Reason: Necessary to run Jest with the obligatory `--experimental-vm-modules` flag. Currently we transpile all the code to `commonjs`, but Jest looks up to individual `package.jsons` to see whether the package is `commonjs` or `ESModule`. That causes a conflict, which can be solved by removing `{"type":"module"}` from `lib/module/package.json`. This might be an issue with Jest, but it would require much more investigation. More: https://github.com/react-navigation/react-navigation/issues/12637 +- Upstream PR/issue: https://github.com/react-navigation/react-navigation/issues/12637 +- E/App issue: [#62850](https://github.com/Expensify/App/issues/62850) +- PR Introducing Patch: [#64155](https://github.com/Expensify/App/pull/64155) +- PR Updating Patch: N/A + +### [@react-navigation+core+7.10.0+001+platform-navigation-stack-types](@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch) + +- Reason: Enables passing custom `ScreenOptions` and adjusts typing to have everything fully type-checked and make sure only the proper (common) platform-specific options are passed +- Upstream PR/issue: N/A +- E/App issue: [#29948](https://github.com/Expensify/App/issues/29948) +- PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) +- PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) + +### [@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration](@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch) + +- Reason: Adds `InteractionManager` implementation to `@react-navigation/native-stack` +- Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/11887 +- E/App issue: [#29948](https://github.com/Expensify/App/issues/29948) +- PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) +- PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) + +### [@react-navigation+native+7.1.10+001+initial](@react-navigation+native+7.1.10+001+initial.patch) + +- Reason: Allows us to use some more advanced navigation actions without messing up the browser history +- Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/11887 +- E/App issue: [#21356](https://github.com/Expensify/App/issues/21356) +- PR Introducing Patch: [#24165](https://github.com/Expensify/App/pull/24165) +- PR Updating Patch: [#32087](https://github.com/Expensify/App/pull/32087) [#42465](https://github.com/Expensify/App/pull/42465) [#64155](https://github.com/Expensify/App/pull/64155) + +### [@react-navigation+stack+7.3.3+001+edge-drag-gesture](@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch) + +- Reason: Adds `edgeDragGestureMonitor` implementation +- Upstream PR/issue: N/A +- E/App issue: [#15849](https://github.com/Expensify/App/issues/15849) +- PR Introducing Patch: [#18402](https://github.com/Expensify/App/pull/18402) +- PR Updating Patch: [#22678](https://github.com/Expensify/App/pull/22678) [#22437](https://github.com/Expensify/App/pull/22437) [#64155](https://github.com/Expensify/App/pull/64155) + +### [@react-navigation+stack+7.3.3+002+dontDetachScreen](@react-navigation+stack+7.3.3+002+dontDetachScreen.patch) +- Reason: Makes sure the second screen in stack does't get detatched too early +- Upstream PR/issue: N/A +- E/App issue: [#22372](https://github.com/Expensify/App/issues/22372) +- PR Introducing Patch: [#22437](https://github.com/Expensify/App/pull/22437) +- PR Updating Patch: [#33280](https://github.com/Expensify/App/pull/33280) [#37421](https://github.com/Expensify/App/pull/37421) [#49539](https://github.com/Expensify/App/pull/49539) [#64155](https://github.com/Expensify/App/pull/64155) From ee63b4c17c38cdb5d40c451585913f07fff31805 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Mon, 16 Jun 2025 12:44:53 +0200 Subject: [PATCH 50/61] Update directory name for react-navigation patches --- ...n+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch | 0 ...vigation+core+7.10.0+001+platform-navigation-stack-types.patch | 0 .../@react-navigation+native+7.1.10+001+initial.patch | 0 ...e-stack+7.3.14+001+added-interaction-manager-integration.patch | 0 .../@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch | 0 .../@react-navigation+stack+7.3.3+002+dontDetachScreen.patch | 0 patches/{react-navigation => @react-navigation}/details.md | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename patches/{react-navigation => @react-navigation}/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch (100%) rename patches/{react-navigation => @react-navigation}/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch (100%) rename patches/{react-navigation => @react-navigation}/@react-navigation+native+7.1.10+001+initial.patch (100%) rename patches/{react-navigation => @react-navigation}/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch (100%) rename patches/{react-navigation => @react-navigation}/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch (100%) rename patches/{react-navigation => @react-navigation}/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch (100%) rename patches/{react-navigation => @react-navigation}/details.md (100%) diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/@react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/@react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/@react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch similarity index 100% rename from patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch rename to patches/@react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch diff --git a/patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch b/patches/@react-navigation/@react-navigation+native+7.1.10+001+initial.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch rename to patches/@react-navigation/@react-navigation+native+7.1.10+001+initial.patch diff --git a/patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch b/patches/@react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch rename to patches/@react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch diff --git a/patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch b/patches/@react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch similarity index 100% rename from patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch rename to patches/@react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch diff --git a/patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch b/patches/@react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch similarity index 100% rename from patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch rename to patches/@react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch diff --git a/patches/react-navigation/details.md b/patches/@react-navigation/details.md similarity index 100% rename from patches/react-navigation/details.md rename to patches/@react-navigation/details.md From 57509ac09dbd1f2d93ea58b4d32921dad5dc434a Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Mon, 16 Jun 2025 17:19:49 +0200 Subject: [PATCH 51/61] fix getStateFromPath - first working solution --- ...igation+core+7.10.0+getStateFromPath.patch | 359 ++++++++++++++++++ 1 file changed, 359 insertions(+) create mode 100644 patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch b/patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch new file mode 100644 index 0000000000000..0b85415a2a9da --- /dev/null +++ b/patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch @@ -0,0 +1,359 @@ +diff --git a/node_modules/@react-navigation/core/lib/module/getStateFromPath.js b/node_modules/@react-navigation/core/lib/module/getStateFromPath.js +index 7132844..e296919 100644 +--- a/node_modules/@react-navigation/core/lib/module/getStateFromPath.js ++++ b/node_modules/@react-navigation/core/lib/module/getStateFromPath.js +@@ -29,31 +29,23 @@ import { validatePathConfig } from "./validatePathConfig.js"; + * @param options Extra options to fine-tune how to parse the path. + */ + export function getStateFromPath(path, options) { +- const { +- initialRoutes, +- configs +- } = getConfigResources(options); +- const screens = options?.screens; ++ if (options) { ++ validatePathConfig(options); ++ } ++ let initialRoutes = []; ++ if (options !== null && options !== void 0 && options.initialRouteName) { ++ initialRoutes.push({ ++ initialRouteName: options.initialRouteName, ++ parentScreens: [] ++ }); ++ } ++ const screens = options === null || options === void 0 ? void 0 : options.screens; + let remaining = path.replace(/\/+/g, '/') // Replace multiple slash (//) with single ones +- .replace(/^\//, '') // Remove extra leading slash +- .replace(/\?.*$/, ''); // Remove query params which we will handle later ++ .replace(/^\//, '') // Remove extra leading slash ++ .replace(/\?.*$/, ''); // Remove query params which we will handle later + + // Make sure there is a trailing slash + remaining = remaining.endsWith('/') ? remaining : `${remaining}/`; +- const prefix = options?.path?.replace(/^\//, ''); // Remove extra leading slash +- +- if (prefix) { +- // Make sure there is a trailing slash +- const normalizedPrefix = prefix.endsWith('/') ? prefix : `${prefix}/`; +- +- // If the path doesn't start with the prefix, it's not a match +- if (!remaining.startsWith(normalizedPrefix)) { +- return undefined; +- } +- +- // Remove the prefix from the path +- remaining = remaining.replace(normalizedPrefix, ''); +- } + if (screens === undefined) { + // When no config is specified, use the path segments as route names + const routes = remaining.split('/').filter(Boolean).map(segment => { +@@ -67,10 +59,82 @@ export function getStateFromPath(path, options) { + } + return undefined; + } ++ ++ // Create a normalized configs array which will be easier to use ++ const configs = [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, [], initialRoutes, []))).sort((a, b) => { ++ // Sort config so that: ++ // - the most exhaustive ones are always at the beginning ++ // - patterns with wildcard are always at the end ++ ++ // If 2 patterns are same, move the one with less route names up ++ // This is an error state, so it's only useful for consistent error messages ++ if (a.pattern === b.pattern) { ++ return b.routeNames.join('>').localeCompare(a.routeNames.join('>')); ++ } ++ ++ // If one of the patterns starts with the other, it's more exhaustive ++ // So move it up ++ if (a.pattern.startsWith(b.pattern)) { ++ return -1; ++ } ++ if (b.pattern.startsWith(a.pattern)) { ++ return 1; ++ } ++ const aParts = a.pattern.split('/'); ++ const bParts = b.pattern.split('/'); ++ for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) { ++ // if b is longer, b get higher priority ++ if (aParts[i] == null) { ++ return 1; ++ } ++ // if a is longer, a get higher priority ++ if (bParts[i] == null) { ++ return -1; ++ } ++ const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':'); ++ const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':'); ++ // if both are wildcard we compare next component ++ if (aWildCard && bWildCard) { ++ continue; ++ } ++ // if only a is wild card, b get higher priority ++ if (aWildCard) { ++ return 1; ++ } ++ // if only b is wild card, a get higher priority ++ if (bWildCard) { ++ return -1; ++ } ++ } ++ return bParts.length - aParts.length; ++ }); ++ ++ // Check for duplicate patterns in the config ++ configs.reduce((acc, config) => { ++ if (acc[config.pattern]) { ++ const a = acc[config.pattern].routeNames; ++ const b = config.routeNames; ++ ++ // It's not a problem if the path string omitted from a inner most screen ++ // For example, it's ok if a path resolves to `A > B > C` or `A > B` ++ const intersects = a.length > b.length ? b.every((it, i) => a[i] === it) : a.every((it, i) => b[i] === it); ++ if (!intersects) { ++ throw new Error(`Found conflicting screens with the same pattern. The pattern '${config.pattern}' resolves to both '${a.join(' > ')}' and '${b.join(' > ')}'. Patterns must be unique and cannot resolve to more than one screen.`); ++ } ++ } ++ return Object.assign(acc, { ++ [config.pattern]: config ++ }); ++ }, {}); + if (remaining === '/') { + // We need to add special handling of empty path so navigation to empty path also works + // When handling empty path, we should only look at the root level config +- const match = configs.find(config => config.segments.join('/') === ''); ++ const match = configs.find(config => config.path === '' && config.routeNames.every( ++ // Make sure that none of the parent configs have a non-empty path defined ++ name => { ++ var _configs$find; ++ return !((_configs$find = configs.find(c => c.screen === name)) !== null && _configs$find !== void 0 && _configs$find.path); ++ })); + if (match) { + return createNestedStateObject(path, match.routeNames.map(name => ({ + name +@@ -86,7 +150,11 @@ export function getStateFromPath(path, options) { + const { + routes, + remainingPath +- } = matchAgainstConfigs(remaining, configs); ++ } = matchAgainstConfigs(remaining, configs.map(c => ({ ++ ...c, ++ // Add `$` to the regex to make sure it matches till end of the path and not just beginning ++ regex: c.regex ? new RegExp(c.regex.source + '$') : undefined ++ }))); + if (routes !== undefined) { + // This will always be empty if full path matched + current = createNestedStateObject(path, routes, initialRoutes, configs); +@@ -241,6 +309,12 @@ function getConfigsWithRegexes(configs) { + regex: c.regex ? new RegExp(c.regex.source + '$') : undefined + })); + } ++const joinPaths = function () { ++ for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) { ++ paths[_key] = arguments[_key]; ++ } ++ return [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/'); ++}; + const matchAgainstConfigs = (remaining, configs) => { + let routes; + let remainingPath = remaining; +@@ -254,37 +328,34 @@ const matchAgainstConfigs = (remaining, configs) => { + + // If our regex matches, we need to extract params from the path + if (match) { +- routes = config.routeNames.map(routeName => { +- const routeConfig = configs.find(c => { +- // Check matching name AND pattern in case same screen is used at different levels in config +- return c.screen === routeName && arrayStartsWith(config.segments, c.segments); +- }); +- const params = routeConfig && match.groups ? Object.fromEntries(Object.entries(match.groups).map(([key, value]) => { +- const index = Number(key.replace('param_', '')); +- const param = routeConfig.params.find(it => it.index === index); +- if (param?.screen === routeName && param?.name) { +- return [param.name, value]; +- } +- return null; +- }).filter(it => it != null).map(([key, value]) => { +- if (value == null) { +- return [key, undefined]; ++ var _config$pattern; ++ const matchedParams = (_config$pattern = config.pattern) === null || _config$pattern === void 0 ? void 0 : _config$pattern.split('/').filter(p => p.startsWith(':')).reduce((acc, p, i) => Object.assign(acc, { ++ // The param segments appear every second item starting from 2 in the regex match result ++ [p]: match[(i + 1) * 2].replace(/\//, '') ++ }), {}); ++ routes = config.routeNames.map(name => { ++ var _config$path; ++ const config = configs.find(c => c.screen === name); ++ const params = config === null || config === void 0 ? void 0 : (_config$path = config.path) === null || _config$path === void 0 ? void 0 : _config$path.split('/').filter(p => p.startsWith(':')).reduce((acc, p) => { ++ const value = matchedParams[p]; ++ if (value) { ++ var _config$parse; ++ const key = p.replace(/^:/, '').replace(/\?$/, ''); ++ acc[key] = (_config$parse = config.parse) !== null && _config$parse !== void 0 && _config$parse[key] ? config.parse[key](value) : value; + } +- const decoded = decodeURIComponent(value); +- const parsed = routeConfig.parse?.[key] ? routeConfig.parse[key](decoded) : decoded; +- return [key, parsed]; +- })) : undefined; ++ return acc; ++ }, {}); + if (params && Object.keys(params).length) { + return { +- name: routeName, ++ name, + params + }; + } + return { +- name: routeName ++ name + }; + }); +- remainingPath = remainingPath.replace(match[0], ''); ++ remainingPath = remainingPath.replace(match[1], ''); + break; + } + } +@@ -293,61 +364,34 @@ const matchAgainstConfigs = (remaining, configs) => { + remainingPath + }; + }; +-const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScreens, routeNames) => { ++ ++const createNormalizedConfigs = function (screen, routeConfig) { ++ let routeNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; ++ let initials = arguments.length > 3 ? arguments[3] : undefined; ++ let parentScreens = arguments.length > 4 ? arguments[4] : undefined; ++ let parentPattern = arguments.length > 5 ? arguments[5] : undefined; + const configs = []; + routeNames.push(screen); + parentScreens.push(screen); ++ ++ // @ts-expect-error: we can't strongly typecheck this for now + const config = routeConfig[screen]; + if (typeof config === 'string') { +- paths.push({ +- screen, +- path: config +- }); +- configs.push(createConfigItem(screen, [...routeNames], [...paths])); ++ // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern ++ const pattern = parentPattern ? joinPaths(parentPattern, config) : config; ++ configs.push(createConfigItem(screen, routeNames, pattern, config)); + } else if (typeof config === 'object') { ++ let pattern; ++ + // if an object is specified as the value (e.g. Foo: { ... }), + // it can have `path` property and + // it could have `screens` prop which has nested configs + if (typeof config.path === 'string') { +- if (config.exact && config.path == null) { +- throw new Error(`Screen '${screen}' doesn't specify a 'path'. A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. \`path: ''\`.`); ++ if (config.exact && config.path === undefined) { ++ throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`."); + } +- +- // We should add alias configs after the main config +- // So unless they are more specific, main config will be matched first +- const aliasConfigs = []; +- if (config.alias) { +- for (const alias of config.alias) { +- if (typeof alias === 'string') { +- aliasConfigs.push(createConfigItem(screen, [...routeNames], [...paths, { +- screen, +- path: alias +- }], config.parse)); +- } else if (typeof alias === 'object') { +- aliasConfigs.push(createConfigItem(screen, [...routeNames], alias.exact ? [{ +- screen, +- path: alias.path +- }] : [...paths, { +- screen, +- path: alias.path +- }], alias.parse)); +- } +- } +- } +- if (config.exact) { +- // If it's an exact path, we don't need to keep track of the parent screens +- // So we can clear it +- paths.length = 0; +- } +- paths.push({ +- screen, +- path: config.path +- }); +- configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse)); +- configs.push(...aliasConfigs); +- } +- if (typeof config !== 'string' && typeof config.path !== 'string' && config.alias?.length) { +- throw new Error(`Screen '${screen}' doesn't specify a 'path'. A 'path' needs to be specified in order to use 'alias'.`); ++ pattern = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || ''; ++ configs.push(createConfigItem(screen, routeNames, pattern, config.path, config.parse)); + } + if (config.screens) { + // property `initialRouteName` without `screens` has no purpose +@@ -358,7 +402,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr + }); + } + Object.keys(config.screens).forEach(nestedConfig => { +- const result = createNormalizedConfigs(nestedConfig, config.screens, initials, [...paths], [...parentScreens], routeNames); ++ const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], pattern ?? parentPattern); + configs.push(...result); + }); + } +@@ -366,41 +410,27 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr + routeNames.pop(); + return configs; + }; +-const createConfigItem = (screen, routeNames, paths, parse) => { +- const parts = []; + +- // Parse the path string into parts for easier matching +- for (const { +- screen, +- path +- } of paths) { +- parts.push(...getPatternParts(path).map(part => ({ +- ...part, +- screen +- }))); +- } +- const regex = parts.length ? new RegExp(`^(${parts.map((it, i) => { +- if (it.param) { +- const reg = it.regex || '[^/]+'; +- return `(((?${reg})\\/)${it.optional ? '?' : ''})`; ++const createConfigItem = (screen, routeNames, pattern, path, parse) => { ++ // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc. ++ pattern = pattern.split('/').filter(Boolean).join('/'); ++ const regex = pattern ? new RegExp(`^(${pattern.split('/').map(it => { ++ if (it.startsWith(':')) { ++ return `(([^/]+\\/)${it.endsWith('?') ? '?' : ''})`; + } +- return `${it.segment === '*' ? '.*' : escape(it.segment)}\\/`; +- }).join('')})$`) : undefined; +- const segments = parts.map(it => it.segment); +- const params = parts.map((it, i) => it.param ? { +- index: i, +- screen: it.screen, +- name: it.param +- } : null).filter(it => it != null); ++ return `${it === '*' ? '.*' : escape(it)}\\/`; ++ }).join('')})`) : undefined; + return { + screen, + regex, +- segments, +- params, +- routeNames, ++ pattern, ++ path, ++ // The routeNames array is mutated, so copy it to keep the current state ++ routeNames: [...routeNames], + parse + }; + }; ++ + const findParseConfigForRoute = (routeName, flatConfig) => { + for (const config of flatConfig) { + if (routeName === config.routeNames[config.routeNames.length - 1]) { From 365b2d5752f2ccee10a42d6cd6e422c2159ff6cc Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Mon, 16 Jun 2025 20:22:06 +0200 Subject: [PATCH 52/61] fix getStateFromPath - second working solution --- ...igation+core+7.10.0+002+getStateFromPath.patch} | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) rename patches/react-navigation/{@react-navigation+core+7.10.0+getStateFromPath.patch => @react-navigation+core+7.10.0+002+getStateFromPath.patch} (97%) diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch b/patches/react-navigation/@react-navigation+core+7.10.0+002+getStateFromPath.patch similarity index 97% rename from patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch rename to patches/react-navigation/@react-navigation+core+7.10.0+002+getStateFromPath.patch index 0b85415a2a9da..75fefac95da5d 100644 --- a/patches/react-navigation/@react-navigation+core+7.10.0+getStateFromPath.patch +++ b/patches/react-navigation/@react-navigation+core+7.10.0+002+getStateFromPath.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/@react-navigation/core/lib/module/getStateFromPath.js b/node_modules/@react-navigation/core/lib/module/getStateFromPath.js -index 7132844..e296919 100644 +index 7132844..8af0a15 100644 --- a/node_modules/@react-navigation/core/lib/module/getStateFromPath.js +++ b/node_modules/@react-navigation/core/lib/module/getStateFromPath.js @@ -29,31 +29,23 @@ import { validatePathConfig } from "./validatePathConfig.js"; @@ -144,20 +144,22 @@ index 7132844..e296919 100644 if (routes !== undefined) { // This will always be empty if full path matched current = createNestedStateObject(path, routes, initialRoutes, configs); -@@ -241,6 +309,12 @@ function getConfigsWithRegexes(configs) { +@@ -241,6 +309,14 @@ function getConfigsWithRegexes(configs) { regex: c.regex ? new RegExp(c.regex.source + '$') : undefined })); } ++ +const joinPaths = function () { + for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) { + paths[_key] = arguments[_key]; + } + return [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/'); +}; ++ const matchAgainstConfigs = (remaining, configs) => { let routes; let remainingPath = remaining; -@@ -254,37 +328,34 @@ const matchAgainstConfigs = (remaining, configs) => { +@@ -254,37 +330,34 @@ const matchAgainstConfigs = (remaining, configs) => { // If our regex matches, we need to extract params from the path if (match) { @@ -214,7 +216,7 @@ index 7132844..e296919 100644 break; } } -@@ -293,61 +364,34 @@ const matchAgainstConfigs = (remaining, configs) => { +@@ -293,61 +366,34 @@ const matchAgainstConfigs = (remaining, configs) => { remainingPath }; }; @@ -293,7 +295,7 @@ index 7132844..e296919 100644 } if (config.screens) { // property `initialRouteName` without `screens` has no purpose -@@ -358,7 +402,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr +@@ -358,7 +404,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr }); } Object.keys(config.screens).forEach(nestedConfig => { @@ -302,7 +304,7 @@ index 7132844..e296919 100644 configs.push(...result); }); } -@@ -366,41 +410,27 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr +@@ -366,41 +412,27 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr routeNames.pop(); return configs; }; From 163400950fb70052cfd7f0c2e3629fddd8fd6f05 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 17 Jun 2025 08:07:05 +0200 Subject: [PATCH 53/61] Update directory name for react-navigation patches --- ...core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch | 0 ...gation+core+7.10.0+001+platform-navigation-stack-types.patch | 0 .../@react-navigation+native+7.1.10+001+initial.patch | 0 ...stack+7.3.14+001+added-interaction-manager-integration.patch | 0 .../@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch | 0 .../@react-navigation+stack+7.3.3+002+dontDetachScreen.patch | 0 patches/{@react-navigation => react-navigation}/details.md | 2 +- 7 files changed, 1 insertion(+), 1 deletion(-) rename patches/{@react-navigation => react-navigation}/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch (100%) rename patches/{@react-navigation => react-navigation}/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch (100%) rename patches/{@react-navigation => react-navigation}/@react-navigation+native+7.1.10+001+initial.patch (100%) rename patches/{@react-navigation => react-navigation}/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch (100%) rename patches/{@react-navigation => react-navigation}/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch (100%) rename patches/{@react-navigation => react-navigation}/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch (100%) rename patches/{@react-navigation => react-navigation}/details.md (99%) diff --git a/patches/@react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/@react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/@react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch similarity index 100% rename from patches/@react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch rename to patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch diff --git a/patches/@react-navigation/@react-navigation+native+7.1.10+001+initial.patch b/patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch similarity index 100% rename from patches/@react-navigation/@react-navigation+native+7.1.10+001+initial.patch rename to patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch diff --git a/patches/@react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch b/patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch similarity index 100% rename from patches/@react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch rename to patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch diff --git a/patches/@react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch b/patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch similarity index 100% rename from patches/@react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch rename to patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch diff --git a/patches/@react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch b/patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch similarity index 100% rename from patches/@react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch rename to patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch diff --git a/patches/@react-navigation/details.md b/patches/react-navigation/details.md similarity index 99% rename from patches/@react-navigation/details.md rename to patches/react-navigation/details.md index 1d9c44e0f0b48..388330e6a1dfd 100644 --- a/patches/@react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -1,4 +1,4 @@ -# `@react-navigation` patches +# `react-navigation` patches ### [@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule](@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch) From d271555f36a20f39913d7b8a437b8e575a4fc40c Mon Sep 17 00:00:00 2001 From: staszekscp Date: Tue, 17 Jun 2025 08:31:36 +0200 Subject: [PATCH 54/61] Fix details.md by adding .patch to the end of all references --- patches/react-navigation/details.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md index 388330e6a1dfd..d4ea1f10d26db 100644 --- a/patches/react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -1,6 +1,6 @@ -# `react-navigation` patches +# `@react-navigation` patches -### [@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule](@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch) +### [@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch) - Reason: Necessary to run Jest with the obligatory `--experimental-vm-modules` flag. Currently we transpile all the code to `commonjs`, but Jest looks up to individual `package.jsons` to see whether the package is `commonjs` or `ESModule`. That causes a conflict, which can be solved by removing `{"type":"module"}` from `lib/module/package.json`. This might be an issue with Jest, but it would require much more investigation. More: https://github.com/react-navigation/react-navigation/issues/12637 - Upstream PR/issue: https://github.com/react-navigation/react-navigation/issues/12637 @@ -8,7 +8,7 @@ - PR Introducing Patch: [#64155](https://github.com/Expensify/App/pull/64155) - PR Updating Patch: N/A -### [@react-navigation+core+7.10.0+001+platform-navigation-stack-types](@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch) +### [@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch](@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch) - Reason: Enables passing custom `ScreenOptions` and adjusts typing to have everything fully type-checked and make sure only the proper (common) platform-specific options are passed - Upstream PR/issue: N/A @@ -16,7 +16,7 @@ - PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) - PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration](@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch) +### [@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch](@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch) - Reason: Adds `InteractionManager` implementation to `@react-navigation/native-stack` - Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/11887 @@ -24,7 +24,7 @@ - PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) - PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+native+7.1.10+001+initial](@react-navigation+native+7.1.10+001+initial.patch) +### [@react-navigation+native+7.1.10+001+initial.patch](@react-navigation+native+7.1.10+001+initial.patch) - Reason: Allows us to use some more advanced navigation actions without messing up the browser history - Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/11887 @@ -32,7 +32,7 @@ - PR Introducing Patch: [#24165](https://github.com/Expensify/App/pull/24165) - PR Updating Patch: [#32087](https://github.com/Expensify/App/pull/32087) [#42465](https://github.com/Expensify/App/pull/42465) [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+stack+7.3.3+001+edge-drag-gesture](@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch) +### [@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch](@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch) - Reason: Adds `edgeDragGestureMonitor` implementation - Upstream PR/issue: N/A @@ -40,7 +40,7 @@ - PR Introducing Patch: [#18402](https://github.com/Expensify/App/pull/18402) - PR Updating Patch: [#22678](https://github.com/Expensify/App/pull/22678) [#22437](https://github.com/Expensify/App/pull/22437) [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+stack+7.3.3+002+dontDetachScreen](@react-navigation+stack+7.3.3+002+dontDetachScreen.patch) +### [@react-navigation+stack+7.3.3+002+dontDetachScreen.patch](@react-navigation+stack+7.3.3+002+dontDetachScreen.patch) - Reason: Makes sure the second screen in stack does't get detatched too early - Upstream PR/issue: N/A - E/App issue: [#22372](https://github.com/Expensify/App/issues/22372) From adb5ca20cdfff9def4d63a924402f215aed51808 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Tue, 17 Jun 2025 10:08:50 +0200 Subject: [PATCH 55/61] add to .md --- patches/react-navigation/details.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md index 1d9c44e0f0b48..32304a8487759 100644 --- a/patches/react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -46,3 +46,10 @@ - E/App issue: [#22372](https://github.com/Expensify/App/issues/22372) - PR Introducing Patch: [#22437](https://github.com/Expensify/App/pull/22437) - PR Updating Patch: [#33280](https://github.com/Expensify/App/pull/33280) [#37421](https://github.com/Expensify/App/pull/37421) [#49539](https://github.com/Expensify/App/pull/49539) [#64155](https://github.com/Expensify/App/pull/64155) + +### [@react-navigation+core+7.10.0+002+getStateFromPath](@react-navigation+core+7.10.0+002+getStateFromPath.patch) +- Reason: Make sure navigation state props retrieved from the path are available at all nesting levels to avoid undefined state. +- Upstream PR/issue: N/A +- E/App issue: N/A +- PR Introducing Patch: N/A +- PR Updating Patch: N/A From 67230345ec1470489424b7fb5d4019308c14cd3d Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Tue, 17 Jun 2025 10:13:41 +0200 Subject: [PATCH 56/61] add Pr & issue to .md --- patches/react-navigation/details.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md index 32304a8487759..5070cebd50313 100644 --- a/patches/react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -50,6 +50,6 @@ ### [@react-navigation+core+7.10.0+002+getStateFromPath](@react-navigation+core+7.10.0+002+getStateFromPath.patch) - Reason: Make sure navigation state props retrieved from the path are available at all nesting levels to avoid undefined state. - Upstream PR/issue: N/A -- E/App issue: N/A -- PR Introducing Patch: N/A -- PR Updating Patch: N/A +- E/App issue: [#48150](https://github.com/Expensify/App/issues/48150) +- PR Introducing Patch: [#48151](https://github.com/Expensify/App/pull/48151) +- PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) From 4da9fa033090b5cc2e0cbd7a148aa9e0766e48a8 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Tue, 17 Jun 2025 13:53:53 +0200 Subject: [PATCH 57/61] fix header text --- patches/react-navigation/details.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md index 7fbf78089cfbd..4f12f7b37aa5e 100644 --- a/patches/react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -47,7 +47,7 @@ - PR Introducing Patch: [#22437](https://github.com/Expensify/App/pull/22437) - PR Updating Patch: [#33280](https://github.com/Expensify/App/pull/33280) [#37421](https://github.com/Expensify/App/pull/37421) [#49539](https://github.com/Expensify/App/pull/49539) [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+core+7.10.0+002+getStateFromPath](@react-navigation+core+7.10.0+002+getStateFromPath.patch) +### [@react-navigation+core+7.10.0+002+getStateFromPath.patch](@react-navigation+core+7.10.0+002+getStateFromPath.patch) - Reason: Make sure navigation state props retrieved from the path are available at all nesting levels to avoid undefined state. - Upstream PR/issue: N/A - E/App issue: [#48150](https://github.com/Expensify/App/issues/48150) From a39652b4dd3f22493aa604b8677706a021a34535 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 18 Jun 2025 09:07:40 +0200 Subject: [PATCH 58/61] Fix prettier after merge --- src/components/ScreenWrapper/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ScreenWrapper/index.tsx b/src/components/ScreenWrapper/index.tsx index e24c3899de5cf..3a33bbb9c2047 100644 --- a/src/components/ScreenWrapper/index.tsx +++ b/src/components/ScreenWrapper/index.tsx @@ -1,4 +1,4 @@ -import {usePreventRemove, useIsFocused, useNavigation} from '@react-navigation/native'; +import {useIsFocused, useNavigation, usePreventRemove} from '@react-navigation/native'; import type {ForwardedRef, ReactNode} from 'react'; import React, {createContext, forwardRef, useContext, useEffect, useMemo, useRef, useState} from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; From 905b6d4f36a80f1ed814c4fb50089d033e4e8fb6 Mon Sep 17 00:00:00 2001 From: staszekscp Date: Wed, 18 Jun 2025 11:09:17 +0200 Subject: [PATCH 59/61] Remove unnecessary eslint rule --- __mocks__/@react-navigation/native/index.ts | 1 - tests/perf-test/SearchRouter.perf-test.tsx | 1 - tests/ui/ReportDetailsPageTest.tsx | 1 - tests/ui/components/IOURequestStepConfirmationPageTest.tsx | 1 - 4 files changed, 4 deletions(-) diff --git a/__mocks__/@react-navigation/native/index.ts b/__mocks__/@react-navigation/native/index.ts index 6d3dd70d92433..b2741a2475b0a 100644 --- a/__mocks__/@react-navigation/native/index.ts +++ b/__mocks__/@react-navigation/native/index.ts @@ -45,7 +45,6 @@ const useLinkTo = isJestEnv ? realReactNavigation.useLinkTo : () => null; const useScrollToTop = isJestEnv ? realReactNavigation.useScrollToTop : () => null; const useRoute = isJestEnv ? realReactNavigation.useRoute : () => ({params: {}}); const useFocusEffect = isJestEnv ? realReactNavigation.useFocusEffect : (callback: () => void) => callback(); -// eslint-disable-next-line @typescript-eslint/naming-convention const usePreventRemove = isJestEnv ? jest.fn() : () => {}; export { diff --git a/tests/perf-test/SearchRouter.perf-test.tsx b/tests/perf-test/SearchRouter.perf-test.tsx index d92c20e92a46d..16816b3d5d199 100644 --- a/tests/perf-test/SearchRouter.perf-test.tsx +++ b/tests/perf-test/SearchRouter.perf-test.tsx @@ -50,7 +50,6 @@ jest.mock('@react-navigation/native', () => { useFocusEffect: jest.fn(), useIsFocused: () => true, useRoute: () => jest.fn(), - // eslint-disable-next-line @typescript-eslint/naming-convention usePreventRemove: () => jest.fn(), useNavigation: () => ({ navigate: jest.fn(), diff --git a/tests/ui/ReportDetailsPageTest.tsx b/tests/ui/ReportDetailsPageTest.tsx index 48c50e06dad63..171c5b9e03c3c 100644 --- a/tests/ui/ReportDetailsPageTest.tsx +++ b/tests/ui/ReportDetailsPageTest.tsx @@ -24,7 +24,6 @@ jest.mock('@react-navigation/native', () => { ...actualNav, useIsFocused: jest.fn(), useRoute: jest.fn(), - // eslint-disable-next-line @typescript-eslint/naming-convention usePreventRemove: jest.fn(), }; }); diff --git a/tests/ui/components/IOURequestStepConfirmationPageTest.tsx b/tests/ui/components/IOURequestStepConfirmationPageTest.tsx index 12377d8804705..ab04668a797e8 100644 --- a/tests/ui/components/IOURequestStepConfirmationPageTest.tsx +++ b/tests/ui/components/IOURequestStepConfirmationPageTest.tsx @@ -36,7 +36,6 @@ jest.mock('@react-navigation/native', () => ({ useIsFocused: () => true, useNavigation: () => ({navigate: jest.fn(), addListener: jest.fn()}), useFocusEffect: jest.fn(), - // eslint-disable-next-line @typescript-eslint/naming-convention usePreventRemove: jest.fn(), })); From 7ce153db6a0d78e43769a2d15164e44d605f80bc Mon Sep 17 00:00:00 2001 From: staszekscp Date: Mon, 23 Jun 2025 08:48:38 +0200 Subject: [PATCH 60/61] Fix wrong goUp behavior after migration --- src/CONST/index.ts | 1 + src/libs/Navigation/Navigation.ts | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/CONST/index.ts b/src/CONST/index.ts index 756767650f5e0..71dd99345328e 100755 --- a/src/CONST/index.ts +++ b/src/CONST/index.ts @@ -5230,6 +5230,7 @@ const CONST = { REPLACE: 'REPLACE', PUSH: 'PUSH', NAVIGATE: 'NAVIGATE', + NAVIGATE_DEPRECATED: 'NAVIGATE_DEPRECATED', SET_PARAMS: 'SET_PARAMS', /** These action types are custom for RootNavigator */ diff --git a/src/libs/Navigation/Navigation.ts b/src/libs/Navigation/Navigation.ts index 5a122f7d94d27..030f6edc35c87 100644 --- a/src/libs/Navigation/Navigation.ts +++ b/src/libs/Navigation/Navigation.ts @@ -305,6 +305,15 @@ function goUp(backToRoute: Route, options?: GoBackOptions) { return; } + /** + * In react-navigation 7 the behavior of the `navigate` function has slightly changed. + * If it detects that a screen that we want to navigate to is already in the stack, it doesn't go back anymore. + * More: https://reactnavigation.org/docs/upgrading-from-6.x#the-navigate-method-no-longer-goes-back-use-popto-instead + */ + if (minimalAction.type === CONST.NAVIGATION.ACTION_TYPE.NAVIGATE) { + minimalAction.type = CONST.NAVIGATION.ACTION_TYPE.NAVIGATE_DEPRECATED + } + const indexOfBackToRoute = targetState.routes.findLastIndex((route) => doesRouteMatchToMinimalActionPayload(route, minimalAction, compareParams)); const distanceToPop = targetState.routes.length - indexOfBackToRoute - 1; From d0dc450495d185ab4ea9e028362a03b20da6f9ec Mon Sep 17 00:00:00 2001 From: staszekscp Date: Mon, 23 Jun 2025 08:55:06 +0200 Subject: [PATCH 61/61] Fix prettier --- src/libs/Navigation/Navigation.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/Navigation.ts b/src/libs/Navigation/Navigation.ts index 030f6edc35c87..a942f359b055f 100644 --- a/src/libs/Navigation/Navigation.ts +++ b/src/libs/Navigation/Navigation.ts @@ -305,13 +305,13 @@ function goUp(backToRoute: Route, options?: GoBackOptions) { return; } - /** + /** * In react-navigation 7 the behavior of the `navigate` function has slightly changed. * If it detects that a screen that we want to navigate to is already in the stack, it doesn't go back anymore. * More: https://reactnavigation.org/docs/upgrading-from-6.x#the-navigate-method-no-longer-goes-back-use-popto-instead */ if (minimalAction.type === CONST.NAVIGATION.ACTION_TYPE.NAVIGATE) { - minimalAction.type = CONST.NAVIGATION.ACTION_TYPE.NAVIGATE_DEPRECATED + minimalAction.type = CONST.NAVIGATION.ACTION_TYPE.NAVIGATE_DEPRECATED; } const indexOfBackToRoute = targetState.routes.findLastIndex((route) => doesRouteMatchToMinimalActionPayload(route, minimalAction, compareParams));