@react-navigation/native 7.1.28 → 8.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ReactNavigation.podspec +20 -0
- package/android/build/.transforms/586a73aab4c351d3f13dc604ca6964e8/results.bin +1 -0
- package/android/build/.transforms/586a73aab4c351d3f13dc604ca6964e8/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/results.bin +1 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/BuildConfig.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$Companion.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$WhenMappings.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$getImageSource$future$1$1$1.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolTypeface.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolView.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolViewManager$Companion.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolViewManager.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/ReactNavigationPackage.dex +0 -0
- package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/generated/source/buildConfig/debug/org/reactnavigation/BuildConfig.java +10 -0
- package/android/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.java +38 -0
- package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.java +42 -0
- package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.java +21 -0
- package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.java +39 -0
- package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.java +20 -0
- package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
- package/android/build/generated/source/codegen/jni/ReactNavigationSpec-generated.cpp +32 -0
- package/android/build/generated/source/codegen/jni/ReactNavigationSpec.h +31 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ComponentDescriptors.cpp +23 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ComponentDescriptors.h +25 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/EventEmitters.cpp +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/EventEmitters.h +30 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/Props.cpp +101 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/Props.h +55 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ReactNavigationSpecJSI-generated.cpp +31 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ReactNavigationSpecJSI.h +71 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ShadowNodes.cpp +18 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ShadowNodes.h +43 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/States.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/States.h +22 -0
- package/android/build/generated/source/codegen/schema.json +1 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsOutlined.ttf +0 -0
- package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsRounded.ttf +0 -0
- package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsSharp.ttf +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-navigation_native_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/reactnavigation/BuildConfig.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsOutlined.ttf +0 -0
- package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsRounded.ttf +0 -0
- package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsSharp.ttf +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-navigation_native_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$WhenMappings.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$getImageSource$future$1$1$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolTypeface.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolViewManager$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolViewManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/ReactNavigationPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/react-navigation_native_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$getImageSource$future$1$1$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolTypeface.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolViewManager$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolViewManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/ReactNavigationPackage.class +0 -0
- package/android/build.gradle +66 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/org/reactnavigation/MaterialSymbolModule.kt +111 -0
- package/android/src/main/java/org/reactnavigation/MaterialSymbolTypeface.kt +26 -0
- package/android/src/main/java/org/reactnavigation/MaterialSymbolView.kt +50 -0
- package/android/src/main/java/org/reactnavigation/MaterialSymbolViewManager.kt +42 -0
- package/android/src/main/java/org/reactnavigation/ReactNavigationPackage.kt +37 -0
- package/assets/fonts/MaterialSymbolsOutlined.codepoints +4102 -0
- package/assets/fonts/MaterialSymbolsOutlined.ttf +0 -0
- package/assets/fonts/MaterialSymbolsRounded.codepoints +4102 -0
- package/assets/fonts/MaterialSymbolsRounded.ttf +0 -0
- package/assets/fonts/MaterialSymbolsSharp.codepoints +4102 -0
- package/assets/fonts/MaterialSymbolsSharp.ttf +0 -0
- package/ios/ReactNavigationSFSymbolView.h +14 -0
- package/ios/ReactNavigationSFSymbolView.mm +58 -0
- package/ios/ReactNavigationSFSymbolView.swift +50 -0
- package/lib/module/Link.js.map +1 -1
- package/lib/module/NavigationContainer.js +73 -63
- package/lib/module/NavigationContainer.js.map +1 -1
- package/lib/module/__stubs__/createStackNavigator.js.map +1 -1
- package/lib/module/createStaticNavigation.js +3 -6
- package/lib/module/createStaticNavigation.js.map +1 -1
- package/lib/module/extractPathFromURL.js +12 -7
- package/lib/module/extractPathFromURL.js.map +1 -1
- package/lib/module/getStateFromHref.js +30 -0
- package/lib/module/getStateFromHref.js.map +1 -0
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/MaterialSymbol.android.js +57 -0
- package/lib/module/native/MaterialSymbol.android.js.map +1 -0
- package/lib/module/native/MaterialSymbol.js +9 -0
- package/lib/module/native/MaterialSymbol.js.map +1 -0
- package/lib/module/native/MaterialSymbolData.js +11 -0
- package/lib/module/native/MaterialSymbolData.js.map +1 -0
- package/lib/module/native/MaterialSymbolViewNativeComponent.ts +19 -0
- package/lib/module/native/NativeMaterialSymbolModule.js +7 -0
- package/lib/module/native/NativeMaterialSymbolModule.js.map +1 -0
- package/lib/module/native/SFSymbol.ios.js +23 -0
- package/lib/module/native/SFSymbol.ios.js.map +1 -0
- package/lib/module/native/SFSymbol.js +6 -0
- package/lib/module/native/SFSymbol.js.map +1 -0
- package/lib/module/native/SFSymbolViewNativeComponent.ts +18 -0
- package/lib/module/native/types.js +4 -0
- package/lib/module/native/types.js.map +1 -0
- package/lib/module/theming/DarkTheme.js.map +1 -1
- package/lib/module/theming/DefaultTheme.js +1 -1
- package/lib/module/theming/DefaultTheme.js.map +1 -1
- package/lib/module/theming/fonts.js.map +1 -1
- package/lib/module/useLinkBuilder.js +7 -10
- package/lib/module/useLinkBuilder.js.map +1 -1
- package/lib/module/useLinkProps.js +20 -0
- package/lib/module/useLinkProps.js.map +1 -1
- package/lib/module/useLinking.js +23 -24
- package/lib/module/useLinking.js.map +1 -1
- package/lib/module/useLinking.native.js +21 -36
- package/lib/module/useLinking.native.js.map +1 -1
- package/lib/module/useScrollToTop.js +1 -0
- package/lib/module/useScrollToTop.js.map +1 -1
- package/lib/module/useThenable.js +9 -6
- package/lib/module/useThenable.js.map +1 -1
- package/lib/typescript/src/Link.d.ts +3 -2
- package/lib/typescript/src/Link.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContainer.d.ts +35 -7
- package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/__stubs__/createStackNavigator.d.ts +1 -2
- package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -1
- package/lib/typescript/src/createStaticNavigation.d.ts +3 -3
- package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/extractPathFromURL.d.ts +2 -1
- package/lib/typescript/src/extractPathFromURL.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromHref.d.ts +4 -0
- package/lib/typescript/src/getStateFromHref.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native/MaterialSymbol.android.d.ts +8 -0
- package/lib/typescript/src/native/MaterialSymbol.android.d.ts.map +1 -0
- package/lib/typescript/src/native/MaterialSymbol.d.ts +8 -0
- package/lib/typescript/src/native/MaterialSymbol.d.ts.map +1 -0
- package/lib/typescript/src/native/MaterialSymbolData.d.ts +7 -0
- package/lib/typescript/src/native/MaterialSymbolData.d.ts.map +1 -0
- package/lib/typescript/src/native/MaterialSymbolViewNativeComponent.d.ts +10 -0
- package/lib/typescript/src/native/MaterialSymbolViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/native/NativeMaterialSymbolModule.d.ts +7 -0
- package/lib/typescript/src/native/NativeMaterialSymbolModule.d.ts.map +1 -0
- package/lib/typescript/src/native/SFSymbol.d.ts +5 -0
- package/lib/typescript/src/native/SFSymbol.d.ts.map +1 -0
- package/lib/typescript/src/native/SFSymbol.ios.d.ts +5 -0
- package/lib/typescript/src/native/SFSymbol.ios.d.ts.map +1 -0
- package/lib/typescript/src/native/SFSymbolViewNativeComponent.d.ts +9 -0
- package/lib/typescript/src/native/SFSymbolViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/native/types.d.ts +45 -0
- package/lib/typescript/src/native/types.d.ts.map +1 -0
- package/lib/typescript/src/theming/DarkTheme.d.ts +63 -2
- package/lib/typescript/src/theming/DarkTheme.d.ts.map +1 -1
- package/lib/typescript/src/theming/DefaultTheme.d.ts +63 -2
- package/lib/typescript/src/theming/DefaultTheme.d.ts.map +1 -1
- package/lib/typescript/src/theming/fonts.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +49 -23
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useLinkBuilder.d.ts +21 -13
- package/lib/typescript/src/useLinkBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useLinkProps.d.ts +3 -3
- package/lib/typescript/src/useLinkProps.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.d.ts +48 -4
- package/lib/typescript/src/useLinking.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.native.d.ts +69 -4
- package/lib/typescript/src/useLinking.native.d.ts.map +1 -1
- package/lib/typescript/src/useScrollToTop.d.ts.map +1 -1
- package/lib/typescript/src/useThenable.d.ts +4 -1
- package/lib/typescript/src/useThenable.d.ts.map +1 -1
- package/package.json +28 -8
- package/src/Link.tsx +18 -15
- package/src/NavigationContainer.tsx +141 -84
- package/src/__stubs__/createStackNavigator.tsx +0 -2
- package/src/createStaticNavigation.tsx +8 -12
- package/src/extractPathFromURL.tsx +28 -18
- package/src/getStateFromHref.tsx +46 -0
- package/src/index.tsx +5 -1
- package/src/native/MaterialSymbol.android.tsx +81 -0
- package/src/native/MaterialSymbol.tsx +17 -0
- package/src/native/MaterialSymbolData.tsx +4112 -0
- package/src/native/MaterialSymbolViewNativeComponent.ts +19 -0
- package/src/native/NativeMaterialSymbolModule.ts +19 -0
- package/src/native/SFSymbol.ios.tsx +30 -0
- package/src/native/SFSymbol.tsx +9 -0
- package/src/native/SFSymbolViewNativeComponent.ts +18 -0
- package/src/native/types.tsx +47 -0
- package/src/theming/DarkTheme.tsx +4 -3
- package/src/theming/DefaultTheme.tsx +5 -4
- package/src/theming/fonts.tsx +1 -2
- package/src/types.tsx +60 -22
- package/src/useLinkBuilder.tsx +8 -11
- package/src/useLinkProps.tsx +36 -7
- package/src/useLinking.native.tsx +25 -48
- package/src/useLinking.tsx +32 -38
- package/src/useScrollToTop.tsx +3 -1
- package/src/useThenable.tsx +14 -6
- package/lib/module/UnhandledLinkingContext.js +0 -14
- package/lib/module/UnhandledLinkingContext.js.map +0 -1
- package/lib/typescript/src/UnhandledLinkingContext.d.ts +0 -6
- package/lib/typescript/src/UnhandledLinkingContext.d.ts.map +0 -1
- package/src/UnhandledLinkingContext.tsx +0 -18
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* eslint-disable import-x/no-default-export */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
codegenNativeComponent,
|
|
5
|
+
CodegenTypes,
|
|
6
|
+
type ColorValue,
|
|
7
|
+
type ViewProps,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
|
|
10
|
+
export interface NativeProps extends ViewProps {
|
|
11
|
+
name: string;
|
|
12
|
+
variant: string;
|
|
13
|
+
size: CodegenTypes.Float;
|
|
14
|
+
color: ColorValue;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default codegenNativeComponent<NativeProps>(
|
|
18
|
+
'ReactNavigationMaterialSymbolView'
|
|
19
|
+
);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/* eslint-disable import-x/no-default-export */
|
|
4
|
+
|
|
5
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
6
|
+
export default TurboModuleRegistry.getEnforcing('ReactNavigationMaterialSymbolModule');
|
|
7
|
+
//# sourceMappingURL=NativeMaterialSymbolModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["native/NativeMaterialSymbolModule.ts"],"mappings":";;AAAA;;AAEA,SAA2BA,mBAAmB,QAAQ,cAAc;AAcpE,eAAeA,mBAAmB,CAACC,YAAY,CAC7C,qCACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import SFSymbolViewNativeComponent from './SFSymbolViewNativeComponent';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export function SFSymbol({
|
|
6
|
+
name,
|
|
7
|
+
size = 24,
|
|
8
|
+
color = 'black',
|
|
9
|
+
style,
|
|
10
|
+
...rest
|
|
11
|
+
}) {
|
|
12
|
+
return /*#__PURE__*/_jsx(SFSymbolViewNativeComponent, {
|
|
13
|
+
name: name,
|
|
14
|
+
size: size,
|
|
15
|
+
color: color,
|
|
16
|
+
style: [{
|
|
17
|
+
width: size,
|
|
18
|
+
height: size
|
|
19
|
+
}, style],
|
|
20
|
+
...rest
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=SFSymbol.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SFSymbolViewNativeComponent","jsx","_jsx","SFSymbol","name","size","color","style","rest","width","height"],"sourceRoot":"../../../src","sources":["native/SFSymbol.ios.tsx"],"mappings":";;AAEA,OAAOA,2BAA2B,MAAM,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKxE,OAAO,SAASC,QAAQA,CAAC;EACvBC,IAAI;EACJC,IAAI,GAAG,EAAE;EACTC,KAAK,GAAG,OAAO;EACfC,KAAK;EACL,GAAGC;AACU,CAAC,EAAsB;EACpC,oBACEN,IAAA,CAACF,2BAA2B;IAC1BI,IAAI,EAAEA,IAAK;IACXC,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbC,KAAK,EAAE,CACL;MACEE,KAAK,EAAEJ,IAAI;MACXK,MAAM,EAAEL;IACV,CAAC,EACDE,KAAK,CACL;IAAA,GACEC;EAAI,CACT,CAAC;AAEN","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SFSymbol","_","Error"],"sourceRoot":"../../../src","sources":["native/SFSymbol.tsx"],"mappings":";;AAMA,OAAO,SAASA,QAAQA,CAACC,CAAgB,EAAsB;EAC7D,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;AACvD","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* eslint-disable import-x/no-default-export */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
codegenNativeComponent,
|
|
5
|
+
CodegenTypes,
|
|
6
|
+
type ColorValue,
|
|
7
|
+
type ViewProps,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
|
|
10
|
+
export interface NativeProps extends ViewProps {
|
|
11
|
+
name: string;
|
|
12
|
+
size: CodegenTypes.Float;
|
|
13
|
+
color: ColorValue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default codegenNativeComponent<NativeProps>(
|
|
17
|
+
'ReactNavigationSFSymbolView'
|
|
18
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["native/types.tsx"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fonts","DarkTheme","dark","colors","primary","background","card","text","border","notification"],"sourceRoot":"../../../src","sources":["theming/DarkTheme.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["fonts","DarkTheme","dark","colors","primary","background","card","text","border","notification"],"sourceRoot":"../../../src","sources":["theming/DarkTheme.tsx"],"mappings":";;AAEA,SAASA,KAAK,QAAQ,YAAS;AAE/B,OAAO,MAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE;IACNC,OAAO,EAAE,mBAAmB;IAC5BC,UAAU,EAAE,cAAc;IAC1BC,IAAI,EAAE,iBAAiB;IACvBC,IAAI,EAAE,oBAAoB;IAC1BC,MAAM,EAAE,iBAAiB;IACzBC,YAAY,EAAE;EAChB,CAAC;EACDT;AACF,CAA0B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fonts","DefaultTheme","dark","colors","primary","background","card","text","border","notification"],"sourceRoot":"../../../src","sources":["theming/DefaultTheme.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["fonts","DefaultTheme","dark","colors","primary","background","card","text","border","notification"],"sourceRoot":"../../../src","sources":["theming/DefaultTheme.tsx"],"mappings":";;AAEA,SAASA,KAAK,QAAQ,YAAS;AAE/B,OAAO,MAAMC,YAAY,GAAG;EAC1BC,IAAI,EAAE,KAAK;EACXC,MAAM,EAAE;IACNC,OAAO,EAAE,kBAAkB;IAC3BC,UAAU,EAAE,oBAAoB;IAChCC,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE,oBAAoB;IAC5BC,YAAY,EAAE;EAChB,CAAC;EACDT;AACF,CAA0B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","WEB_FONT_STACK","fonts","select","web","regular","fontFamily","fontWeight","medium","bold","heavy","ios","default"],"sourceRoot":"../../../src","sources":["theming/fonts.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["Platform","WEB_FONT_STACK","fonts","select","web","regular","fontFamily","fontWeight","medium","bold","heavy","ios","default"],"sourceRoot":"../../../src","sources":["theming/fonts.tsx"],"mappings":";;AACA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,MAAMC,cAAc,GAClB,uHAAuH;AAEzH,OAAO,MAAMC,KAAK,GAAGF,QAAQ,CAACG,MAAM,CAAC;EACnCC,GAAG,EAAE;IACHC,OAAO,EAAE;MACPC,UAAU,EAAEL,cAAc;MAC1BM,UAAU,EAAE;IACd,CAAC;IACDC,MAAM,EAAE;MACNF,UAAU,EAAEL,cAAc;MAC1BM,UAAU,EAAE;IACd,CAAC;IACDE,IAAI,EAAE;MACJH,UAAU,EAAEL,cAAc;MAC1BM,UAAU,EAAE;IACd,CAAC;IACDG,KAAK,EAAE;MACLJ,UAAU,EAAEL,cAAc;MAC1BM,UAAU,EAAE;IACd;EACF,CAAC;EACDI,GAAG,EAAE;IACHN,OAAO,EAAE;MACPC,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd,CAAC;IACDC,MAAM,EAAE;MACNF,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd,CAAC;IACDE,IAAI,EAAE;MACJH,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd,CAAC;IACDG,KAAK,EAAE;MACLJ,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd;EACF,CAAC;EACDK,OAAO,EAAE;IACPP,OAAO,EAAE;MACPC,UAAU,EAAE,YAAY;MACxBC,UAAU,EAAE;IACd,CAAC;IACDC,MAAM,EAAE;MACNF,UAAU,EAAE,mBAAmB;MAC/BC,UAAU,EAAE;IACd,CAAC;IACDE,IAAI,EAAE;MACJH,UAAU,EAAE,YAAY;MACxBC,UAAU,EAAE;IACd,CAAC;IACDG,KAAK,EAAE;MACLJ,UAAU,EAAE,YAAY;MACxBC,UAAU,EAAE;IACd;EACF;AACF,CAAmD,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { CommonActions, findFocusedRoute, getActionFromState, getPathFromState,
|
|
3
|
+
import { CommonActions, findFocusedRoute, getActionFromState, getPathFromState, NavigationHelpersContext, NavigationRouteContext, useStateForPath } from '@react-navigation/core';
|
|
4
4
|
import * as React from 'react';
|
|
5
|
+
import { getStateFromHref } from "./getStateFromHref.js";
|
|
5
6
|
import { LinkingContext } from "./LinkingContext.js";
|
|
6
7
|
/**
|
|
7
8
|
* Helper to build a href for a screen based on the linking options.
|
|
@@ -67,26 +68,22 @@ export function useBuildHref() {
|
|
|
67
68
|
/**
|
|
68
69
|
* Helper to build a navigation action from a href based on the linking options.
|
|
69
70
|
*/
|
|
70
|
-
export
|
|
71
|
+
export function useBuildAction() {
|
|
71
72
|
const {
|
|
72
73
|
options
|
|
73
74
|
} = React.useContext(LinkingContext);
|
|
74
|
-
const getStateFromPathHelper = options?.getStateFromPath ?? getStateFromPath;
|
|
75
75
|
const getActionFromStateHelper = options?.getActionFromState ?? getActionFromState;
|
|
76
76
|
const buildAction = React.useCallback(href => {
|
|
77
|
-
|
|
78
|
-
throw new Error(`The href must start with '/' (${href}).`);
|
|
79
|
-
}
|
|
80
|
-
const state = getStateFromPathHelper(href, options?.config);
|
|
77
|
+
const state = getStateFromHref(href, options);
|
|
81
78
|
if (state) {
|
|
82
79
|
const action = getActionFromStateHelper(state, options?.config);
|
|
83
80
|
return action ?? CommonActions.reset(state);
|
|
84
81
|
} else {
|
|
85
|
-
throw new Error(
|
|
82
|
+
throw new Error(`Failed to parse href '${href}' to a navigation state.`);
|
|
86
83
|
}
|
|
87
|
-
}, [options
|
|
84
|
+
}, [options, getActionFromStateHelper]);
|
|
88
85
|
return buildAction;
|
|
89
|
-
}
|
|
86
|
+
}
|
|
90
87
|
|
|
91
88
|
/**
|
|
92
89
|
* Helpers to build href or action based on the linking options.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","findFocusedRoute","getActionFromState","getPathFromState","
|
|
1
|
+
{"version":3,"names":["CommonActions","findFocusedRoute","getActionFromState","getPathFromState","NavigationHelpersContext","NavigationRouteContext","useStateForPath","React","getStateFromHref","LinkingContext","useBuildHref","navigation","useContext","route","options","focusedRouteState","getPathFromStateHelper","buildHref","useCallback","name","params","enabled","undefined","isScreen","key","getState","routes","some","r","stateForRoute","constructState","state","path","config","useBuildAction","getActionFromStateHelper","buildAction","href","action","reset","Error","useLinkBuilder"],"sourceRoot":"../../src","sources":["useLinkBuilder.tsx"],"mappings":";;AAAA,SACEA,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,gBAAgB,EAChBC,wBAAwB,EACxBC,sBAAsB,EACtBC,eAAe,QACV,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,cAAc,QAAQ,qBAAkB;AAMjD;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC7B,MAAMC,UAAU,GAAGJ,KAAK,CAACK,UAAU,CAACR,wBAAwB,CAAC;EAC7D,MAAMS,KAAK,GAAGN,KAAK,CAACK,UAAU,CAACP,sBAAsB,CAAC;EAEtD,MAAM;IAAES;EAAQ,CAAC,GAAGP,KAAK,CAACK,UAAU,CAACH,cAAc,CAAC;EAEpD,MAAMM,iBAAiB,GAAGT,eAAe,CAAC,CAAC;EAE3C,MAAMU,sBAAsB,GAAGF,OAAO,EAAEX,gBAAgB,IAAIA,gBAAgB;EAE5E,MAAMc,SAAS,GAAGV,KAAK,CAACW,WAAW,CACjC,CAACC,IAAY,EAAEC,MAAe,KAAK;IACjC,IAAIN,OAAO,EAAEO,OAAO,KAAK,KAAK,EAAE;MAC9B,OAAOC,SAAS;IAClB;;IAEA;IACA;IACA;IACA;IACA;IACA,MAAMC,QAAQ,GACZZ,UAAU,IAAIE,KAAK,EAAEW,GAAG,IAAIT,iBAAiB,GACzCF,KAAK,CAACW,GAAG,KAAKvB,gBAAgB,CAACc,iBAAiB,CAAC,EAAES,GAAG,IACtDb,UAAU,CAACc,QAAQ,CAAC,CAAC,CAACC,MAAM,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACJ,GAAG,KAAKX,KAAK,CAACW,GAAG,CAAC,GAC7D,KAAK;IAEX,MAAMK,aAA2B,GAAG;MAClCH,MAAM,EAAE,CAAC;QAAEP,IAAI;QAAEC;MAAO,CAAC;IAC3B,CAAC;IAED,MAAMU,cAAc,GAClBC,KAA+B,IACd;MACjB,IAAIA,KAAK,EAAE;QACT,MAAMlB,KAAK,GAAGkB,KAAK,CAACL,MAAM,CAAC,CAAC,CAAC;;QAE7B;QACA;QACA;QACA,IAAIH,QAAQ,IAAI,CAACV,KAAK,CAACkB,KAAK,EAAE;UAC5B,OAAOF,aAAa;QACtB;;QAEA;QACA,OAAO;UACLH,MAAM,EAAE,CACN;YACE,GAAGb,KAAK;YACRkB,KAAK,EAAED,cAAc,CAACjB,KAAK,CAACkB,KAAK;UACnC,CAAC;QAEL,CAAC;MACH;;MAEA;MACA;MACA;MACA;MACA,OAAOF,aAAa;IACtB,CAAC;IAED,MAAME,KAAK,GAAGD,cAAc,CAACf,iBAAiB,CAAC;IAC/C,MAAMiB,IAAI,GAAGhB,sBAAsB,CAACe,KAAK,EAAEjB,OAAO,EAAEmB,MAAM,CAAC;IAE3D,OAAOD,IAAI;EACb,CAAC,EACD,CACElB,OAAO,EAAEO,OAAO,EAChBP,OAAO,EAAEmB,MAAM,EACfpB,KAAK,EAAEW,GAAG,EACVb,UAAU,EACVI,iBAAiB,EACjBC,sBAAsB,CAE1B,CAAC;EAED,OAAOC,SAAS;AAClB;;AAEA;AACA;AACA;AACA,OAAO,SAASiB,cAAcA,CAAA,EAAG;EAC/B,MAAM;IAAEpB;EAAQ,CAAC,GAAGP,KAAK,CAACK,UAAU,CAACH,cAAc,CAAC;EAEpD,MAAM0B,wBAAwB,GAC5BrB,OAAO,EAAEZ,kBAAkB,IAAIA,kBAAkB;EAEnD,MAAMkC,WAAW,GAAG7B,KAAK,CAACW,WAAW,CAClCmB,IAAY,IAAK;IAChB,MAAMN,KAAK,GAAGvB,gBAAgB,CAAC6B,IAAI,EAAEvB,OAAO,CAAC;IAE7C,IAAIiB,KAAK,EAAE;MACT,MAAMO,MAAM,GAAGH,wBAAwB,CAACJ,KAAK,EAAEjB,OAAO,EAAEmB,MAAM,CAAC;MAE/D,OAAOK,MAAM,IAAItC,aAAa,CAACuC,KAAK,CAACR,KAAK,CAAC;IAC7C,CAAC,MAAM;MACL,MAAM,IAAIS,KAAK,CACb,yBAAyBH,IAAI,0BAC/B,CAAC;IACH;EACF,CAAC,EACD,CAACvB,OAAO,EAAEqB,wBAAwB,CACpC,CAAC;EAED,OAAOC,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,cAAcA,CAAA,EAAG;EAC/B,MAAMxB,SAAS,GAAGP,YAAY,CAAC,CAAC;EAChC,MAAM0B,WAAW,GAAGF,cAAc,CAAC,CAAC;EAEpC,OAAO;IACLjB,SAAS;IACTmB;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -75,6 +75,26 @@ export function useLinkProps({
|
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
77
|
const getPathFromStateHelper = options?.getPathFromState ?? getPathFromState;
|
|
78
|
+
if (Platform.OS === 'web') {
|
|
79
|
+
if (screen == null && action != null && options?.config != null) {
|
|
80
|
+
switch (action.type) {
|
|
81
|
+
case 'NAVIGATE':
|
|
82
|
+
case 'PUSH':
|
|
83
|
+
case 'REPLACE':
|
|
84
|
+
case 'POP_TO':
|
|
85
|
+
case 'JUMP_TO':
|
|
86
|
+
{
|
|
87
|
+
if (action.payload != null && 'name' in action.payload && typeof action.payload.name === 'string' && action.payload.name in options.config.screens) {
|
|
88
|
+
screen = action.payload.name;
|
|
89
|
+
if ('params' in action.payload && typeof action.payload.params === 'object' && action.payload.params != null) {
|
|
90
|
+
// @ts-expect-error this is fine 🔥
|
|
91
|
+
params = action.payload.params;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
78
98
|
return {
|
|
79
99
|
href: href ?? (Platform.OS === 'web' && screen != null ? getPathFromStateHelper({
|
|
80
100
|
routes: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPathFromState","NavigationContainerRefContext","NavigationHelpersContext","React","Platform","LinkingContext","getStateFromParams","params","state","screen","routes","name","undefined","useLinkProps","href","action","root","useContext","navigation","options","onPress","e","shouldHandle","OS","preventDefault","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","currentTarget","includes","target","dispatch","Error","navigate","getPathFromStateHelper","config","role"],"sourceRoot":"../../src","sources":["useLinkProps.tsx"],"mappings":";;AAAA,SACEA,gBAAgB,EAEhBC,6BAA6B,EAC7BC,wBAAwB,
|
|
1
|
+
{"version":3,"names":["getPathFromState","NavigationContainerRefContext","NavigationHelpersContext","React","Platform","LinkingContext","getStateFromParams","params","state","screen","routes","name","undefined","useLinkProps","href","action","root","useContext","navigation","options","onPress","e","shouldHandle","OS","preventDefault","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","currentTarget","includes","target","dispatch","Error","navigate","getPathFromStateHelper","config","type","payload","screens","role"],"sourceRoot":"../../src","sources":["useLinkProps.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/useLinking.js
CHANGED
|
@@ -5,6 +5,17 @@ import isEqual from 'fast-deep-equal';
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { createMemoryHistory } from "./createMemoryHistory.js";
|
|
7
7
|
import { ServerContext } from "./ServerContext.js";
|
|
8
|
+
/**
|
|
9
|
+
* Calculate total history length including both navigator history and route history
|
|
10
|
+
*/
|
|
11
|
+
const getTotalHistoryLength = state => {
|
|
12
|
+
const baseHistoryLength = state.history ? state.history.length : state.routes.length;
|
|
13
|
+
const routeHistoryLength = state.routes.reduce((acc, r) => {
|
|
14
|
+
return acc + (r.history ? r.history.length : 0);
|
|
15
|
+
}, 0);
|
|
16
|
+
return baseHistoryLength + routeHistoryLength;
|
|
17
|
+
};
|
|
18
|
+
|
|
8
19
|
/**
|
|
9
20
|
* Find the matching navigation state that changed between 2 navigation states
|
|
10
21
|
* e.g.: a -> b -> c -> d and a -> b -> c -> e -> f, if history in b changed, b is the matching state
|
|
@@ -13,21 +24,20 @@ const findMatchingState = (a, b) => {
|
|
|
13
24
|
if (a === undefined || b === undefined || a.key !== b.key) {
|
|
14
25
|
return [undefined, undefined];
|
|
15
26
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const aHistoryLength = a.history ? a.history.length : a.routes.length;
|
|
19
|
-
const bHistoryLength = b.history ? b.history.length : b.routes.length;
|
|
27
|
+
const aHistoryLength = getTotalHistoryLength(a);
|
|
28
|
+
const bHistoryLength = getTotalHistoryLength(b);
|
|
20
29
|
const aRoute = a.routes[a.index];
|
|
21
30
|
const bRoute = b.routes[b.index];
|
|
22
31
|
const aChildState = aRoute.state;
|
|
23
32
|
const bChildState = bRoute.state;
|
|
24
33
|
|
|
25
34
|
// Stop here if this is the state object that changed:
|
|
26
|
-
// - history length is different
|
|
35
|
+
// - total history length is different (including route.history)
|
|
27
36
|
// - focused routes are different
|
|
37
|
+
// - route.history length is different
|
|
28
38
|
// - one of them doesn't have child state
|
|
29
39
|
// - child state keys are different
|
|
30
|
-
if (aHistoryLength !== bHistoryLength || aRoute.key !== bRoute.key || aChildState === undefined || bChildState === undefined || aChildState.key !== bChildState.key) {
|
|
40
|
+
if (aHistoryLength !== bHistoryLength || aRoute.key !== bRoute.key || (aRoute.history?.length || 0) !== (bRoute.history?.length || 0) || aChildState === undefined || bChildState === undefined || aChildState.key !== bChildState.key) {
|
|
31
41
|
return [a, b];
|
|
32
42
|
}
|
|
33
43
|
return findMatchingState(aChildState, bChildState);
|
|
@@ -44,14 +54,14 @@ export const series = cb => {
|
|
|
44
54
|
};
|
|
45
55
|
return callback;
|
|
46
56
|
};
|
|
47
|
-
const linkingHandlers =
|
|
57
|
+
const linkingHandlers = new Set();
|
|
48
58
|
export function useLinking(ref, {
|
|
49
59
|
enabled = true,
|
|
50
60
|
config,
|
|
51
61
|
getStateFromPath = getStateFromPathDefault,
|
|
52
62
|
getPathFromState = getPathFromStateDefault,
|
|
53
63
|
getActionFromState = getActionFromStateDefault
|
|
54
|
-
}
|
|
64
|
+
}) {
|
|
55
65
|
const independent = useNavigationIndependentTree();
|
|
56
66
|
React.useEffect(() => {
|
|
57
67
|
if (process.env.NODE_ENV === 'production') {
|
|
@@ -60,18 +70,15 @@ export function useLinking(ref, {
|
|
|
60
70
|
if (independent) {
|
|
61
71
|
return undefined;
|
|
62
72
|
}
|
|
63
|
-
if (enabled !== false && linkingHandlers.
|
|
73
|
+
if (enabled !== false && linkingHandlers.size) {
|
|
64
74
|
console.error(['Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:', "- You don't have multiple NavigationContainers in the app each with 'linking' enabled", '- Only a single instance of the root component is rendered'].join('\n').trim());
|
|
65
75
|
}
|
|
66
76
|
const handler = Symbol();
|
|
67
77
|
if (enabled !== false) {
|
|
68
|
-
linkingHandlers.
|
|
78
|
+
linkingHandlers.add(handler);
|
|
69
79
|
}
|
|
70
80
|
return () => {
|
|
71
|
-
|
|
72
|
-
if (index > -1) {
|
|
73
|
-
linkingHandlers.splice(index, 1);
|
|
74
|
-
}
|
|
81
|
+
linkingHandlers.delete(handler);
|
|
75
82
|
};
|
|
76
83
|
}, [enabled, independent]);
|
|
77
84
|
const [history] = React.useState(createMemoryHistory);
|
|
@@ -107,16 +114,10 @@ export function useLinking(ref, {
|
|
|
107
114
|
if (path) {
|
|
108
115
|
value = getStateFromPathRef.current(path, configRef.current);
|
|
109
116
|
}
|
|
110
|
-
|
|
111
|
-
// If the link were handled, it gets cleared in NavigationContainer
|
|
112
|
-
onUnhandledLinking(path);
|
|
113
117
|
}
|
|
114
118
|
const thenable = {
|
|
115
119
|
then(onfulfilled) {
|
|
116
120
|
return Promise.resolve(onfulfilled ? onfulfilled(value) : value);
|
|
117
|
-
},
|
|
118
|
-
catch() {
|
|
119
|
-
return thenable;
|
|
120
121
|
}
|
|
121
122
|
};
|
|
122
123
|
return thenable;
|
|
@@ -154,8 +155,6 @@ export function useLinking(ref, {
|
|
|
154
155
|
// We should only dispatch an action when going forward
|
|
155
156
|
// Otherwise the action will likely add items to history, which would mess things up
|
|
156
157
|
if (state) {
|
|
157
|
-
// If the link were handled, it gets cleared in NavigationContainer
|
|
158
|
-
onUnhandledLinking(path);
|
|
159
158
|
// Make sure that the routes in the state exist in the root navigator
|
|
160
159
|
// Otherwise there's an error in the linking configuration
|
|
161
160
|
if (validateRoutesNotExistInRootState(state)) {
|
|
@@ -182,7 +181,7 @@ export function useLinking(ref, {
|
|
|
182
181
|
navigation.resetRoot(state);
|
|
183
182
|
}
|
|
184
183
|
});
|
|
185
|
-
}, [enabled, history,
|
|
184
|
+
}, [enabled, history, ref, validateRoutesNotExistInRootState]);
|
|
186
185
|
React.useEffect(() => {
|
|
187
186
|
if (!enabled) {
|
|
188
187
|
return;
|
|
@@ -255,7 +254,7 @@ export function useLinking(ref, {
|
|
|
255
254
|
// We should only handle push/pop if path changed from what was in last `popstate`
|
|
256
255
|
// Otherwise it's likely a change triggered by `popstate`
|
|
257
256
|
path !== pendingPath) {
|
|
258
|
-
const historyDelta = (focusedState
|
|
257
|
+
const historyDelta = getTotalHistoryLength(focusedState) - getTotalHistoryLength(previousFocusedState);
|
|
259
258
|
if (historyDelta > 0) {
|
|
260
259
|
// If history length is increased, we should pushState
|
|
261
260
|
// Note that path might not actually change here, for example, drawer open should pushState
|
|
@@ -1 +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":[]}
|
|
1
|
+
{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","getTotalHistoryLength","state","baseHistoryLength","history","length","routes","routeHistoryLength","reduce","acc","r","findMatchingState","a","b","undefined","key","aHistoryLength","bHistoryLength","aRoute","index","bRoute","aChildState","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","Set","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","size","console","error","join","trim","handler","Symbol","add","delete","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","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","push","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import { getActionFromState as getActionFromStateDefault, getStateFromPath as getStateFromPathDefault, useNavigationIndependentTree } from '@react-navigation/core';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { Linking, Platform } from 'react-native';
|
|
6
|
-
import {
|
|
7
|
-
const linkingHandlers =
|
|
6
|
+
import { getStateFromHref } from "./getStateFromHref.js";
|
|
7
|
+
const linkingHandlers = new Set();
|
|
8
8
|
export function useLinking(ref, {
|
|
9
9
|
enabled = true,
|
|
10
|
-
prefixes,
|
|
10
|
+
prefixes = ['*'],
|
|
11
11
|
filter,
|
|
12
12
|
config,
|
|
13
13
|
getInitialURL = () => Promise.race([Linking.getInitialURL(), new Promise(resolve => {
|
|
@@ -20,22 +20,13 @@ export function useLinking(ref, {
|
|
|
20
20
|
url
|
|
21
21
|
}) => listener(url);
|
|
22
22
|
const subscription = Linking.addEventListener('url', callback);
|
|
23
|
-
|
|
24
|
-
// Storing this in a local variable stops Jest from complaining about import after teardown
|
|
25
|
-
// @ts-expect-error: removeEventListener is not present in newer RN versions
|
|
26
|
-
const removeEventListener = Linking.removeEventListener?.bind(Linking);
|
|
27
23
|
return () => {
|
|
28
|
-
|
|
29
|
-
if (subscription?.remove) {
|
|
30
|
-
subscription.remove();
|
|
31
|
-
} else {
|
|
32
|
-
removeEventListener?.('url', callback);
|
|
33
|
-
}
|
|
24
|
+
subscription.remove();
|
|
34
25
|
};
|
|
35
26
|
},
|
|
36
27
|
getStateFromPath = getStateFromPathDefault,
|
|
37
28
|
getActionFromState = getActionFromStateDefault
|
|
38
|
-
}
|
|
29
|
+
}) {
|
|
39
30
|
const independent = useNavigationIndependentTree();
|
|
40
31
|
React.useEffect(() => {
|
|
41
32
|
if (process.env.NODE_ENV === 'production') {
|
|
@@ -44,18 +35,15 @@ export function useLinking(ref, {
|
|
|
44
35
|
if (independent) {
|
|
45
36
|
return undefined;
|
|
46
37
|
}
|
|
47
|
-
if (enabled !== false && linkingHandlers.
|
|
38
|
+
if (enabled !== false && linkingHandlers.size) {
|
|
48
39
|
console.error(['Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:', "- You don't have multiple NavigationContainers in the app each with 'linking' enabled", '- Only a single instance of the root component is rendered', Platform.OS === 'android' ? "- You have set 'android:launchMode=singleTask' in the '<activity />' section of the 'AndroidManifest.xml' file to avoid launching multiple instances" : ''].join('\n').trim());
|
|
49
40
|
}
|
|
50
41
|
const handler = Symbol();
|
|
51
42
|
if (enabled !== false) {
|
|
52
|
-
linkingHandlers.
|
|
43
|
+
linkingHandlers.add(handler);
|
|
53
44
|
}
|
|
54
45
|
return () => {
|
|
55
|
-
|
|
56
|
-
if (index > -1) {
|
|
57
|
-
linkingHandlers.splice(index, 1);
|
|
58
|
-
}
|
|
46
|
+
linkingHandlers.delete(handler);
|
|
59
47
|
};
|
|
60
48
|
}, [enabled, independent]);
|
|
61
49
|
|
|
@@ -79,11 +67,19 @@ export function useLinking(ref, {
|
|
|
79
67
|
getActionFromStateRef.current = getActionFromState;
|
|
80
68
|
});
|
|
81
69
|
const getStateFromURL = React.useCallback(url => {
|
|
82
|
-
if (!url
|
|
70
|
+
if (!url) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
return getStateFromHref(url, {
|
|
75
|
+
prefixes: prefixesRef.current,
|
|
76
|
+
filter: filterRef.current,
|
|
77
|
+
config: configRef.current,
|
|
78
|
+
getStateFromPath: getStateFromPathRef.current
|
|
79
|
+
});
|
|
80
|
+
} catch (e) {
|
|
83
81
|
return undefined;
|
|
84
82
|
}
|
|
85
|
-
const path = extractPathFromURL(prefixesRef.current, url);
|
|
86
|
-
return path !== undefined ? getStateFromPathRef.current(path, configRef.current) : undefined;
|
|
87
83
|
}, []);
|
|
88
84
|
const getInitialState = React.useCallback(() => {
|
|
89
85
|
let state;
|
|
@@ -93,14 +89,8 @@ export function useLinking(ref, {
|
|
|
93
89
|
if (typeof url !== 'string') {
|
|
94
90
|
return url.then(url => {
|
|
95
91
|
const state = getStateFromURL(url);
|
|
96
|
-
if (typeof url === 'string') {
|
|
97
|
-
// If the link were handled, it gets cleared in NavigationContainer
|
|
98
|
-
onUnhandledLinking(extractPathFromURL(prefixes, url));
|
|
99
|
-
}
|
|
100
92
|
return state;
|
|
101
93
|
});
|
|
102
|
-
} else {
|
|
103
|
-
onUnhandledLinking(extractPathFromURL(prefixes, url));
|
|
104
94
|
}
|
|
105
95
|
}
|
|
106
96
|
state = getStateFromURL(url);
|
|
@@ -108,13 +98,10 @@ export function useLinking(ref, {
|
|
|
108
98
|
const thenable = {
|
|
109
99
|
then(onfulfilled) {
|
|
110
100
|
return Promise.resolve(onfulfilled ? onfulfilled(state) : state);
|
|
111
|
-
},
|
|
112
|
-
catch() {
|
|
113
|
-
return thenable;
|
|
114
101
|
}
|
|
115
102
|
};
|
|
116
103
|
return thenable;
|
|
117
|
-
}, [getStateFromURL
|
|
104
|
+
}, [getStateFromURL]);
|
|
118
105
|
React.useEffect(() => {
|
|
119
106
|
const listener = url => {
|
|
120
107
|
if (!enabled) {
|
|
@@ -123,8 +110,6 @@ export function useLinking(ref, {
|
|
|
123
110
|
const navigation = ref.current;
|
|
124
111
|
const state = navigation ? getStateFromURL(url) : undefined;
|
|
125
112
|
if (navigation && state) {
|
|
126
|
-
// If the link were handled, it gets cleared in NavigationContainer
|
|
127
|
-
onUnhandledLinking(extractPathFromURL(prefixes, url));
|
|
128
113
|
const action = getActionFromStateRef.current(state, configRef.current);
|
|
129
114
|
if (action !== undefined) {
|
|
130
115
|
try {
|
|
@@ -140,7 +125,7 @@ export function useLinking(ref, {
|
|
|
140
125
|
}
|
|
141
126
|
};
|
|
142
127
|
return subscribe(listener);
|
|
143
|
-
}, [enabled, getStateFromURL,
|
|
128
|
+
}, [enabled, getStateFromURL, prefixes, ref, subscribe]);
|
|
144
129
|
return {
|
|
145
130
|
getInitialState
|
|
146
131
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getActionFromState","getActionFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","React","Linking","Platform","
|
|
1
|
+
{"version":3,"names":["getActionFromState","getActionFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","React","Linking","Platform","getStateFromHref","linkingHandlers","Set","useLinking","ref","enabled","prefixes","filter","config","getInitialURL","Promise","race","resolve","setTimeout","subscribe","listener","callback","url","subscription","addEventListener","remove","independent","useEffect","process","env","NODE_ENV","undefined","size","console","error","OS","join","trim","handler","Symbol","add","delete","enabledRef","useRef","prefixesRef","filterRef","configRef","getInitialURLRef","getStateFromPathRef","getActionFromStateRef","current","getStateFromURL","useCallback","e","getInitialState","state","then","thenable","onfulfilled","navigation","action","dispatch","warn","message","resetRoot"],"sourceRoot":"../../src","sources":["useLinking.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,6 +32,7 @@ export function useScrollToTop(ref) {
|
|
|
32
32
|
React.useEffect(() => {
|
|
33
33
|
const tabNavigations = [];
|
|
34
34
|
let currentNavigation = navigation;
|
|
35
|
+
|
|
35
36
|
// If the screen is nested inside multiple tab navigators, we should scroll to top for any of them
|
|
36
37
|
// So we need to find all the parent tab navigators and add the listeners there
|
|
37
38
|
while (currentNavigation) {
|