@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.
Files changed (332) hide show
  1. package/ReactNavigation.podspec +20 -0
  2. package/android/build/.transforms/586a73aab4c351d3f13dc604ca6964e8/results.bin +1 -0
  3. package/android/build/.transforms/586a73aab4c351d3f13dc604ca6964e8/transformed/classes/classes_dex/classes.dex +0 -0
  4. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/results.bin +1 -0
  5. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.dex +0 -0
  6. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.dex +0 -0
  7. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.dex +0 -0
  8. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.dex +0 -0
  9. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.dex +0 -0
  10. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/BuildConfig.dex +0 -0
  11. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$Companion.dex +0 -0
  12. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$WhenMappings.dex +0 -0
  13. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$getImageSource$future$1$1$1.dex +0 -0
  14. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule.dex +0 -0
  15. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolTypeface.dex +0 -0
  16. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolView.dex +0 -0
  17. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolViewManager$Companion.dex +0 -0
  18. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolViewManager.dex +0 -0
  19. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/ReactNavigationPackage.dex +0 -0
  20. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  21. package/android/build/generated/source/buildConfig/debug/org/reactnavigation/BuildConfig.java +10 -0
  22. package/android/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.java +38 -0
  23. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.java +42 -0
  24. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.java +21 -0
  25. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.java +39 -0
  26. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.java +20 -0
  27. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  28. package/android/build/generated/source/codegen/jni/ReactNavigationSpec-generated.cpp +32 -0
  29. package/android/build/generated/source/codegen/jni/ReactNavigationSpec.h +31 -0
  30. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ComponentDescriptors.cpp +23 -0
  31. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ComponentDescriptors.h +25 -0
  32. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/EventEmitters.cpp +17 -0
  33. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/EventEmitters.h +30 -0
  34. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/Props.cpp +101 -0
  35. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/Props.h +55 -0
  36. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ReactNavigationSpecJSI-generated.cpp +31 -0
  37. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ReactNavigationSpecJSI.h +71 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ShadowNodes.cpp +18 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ShadowNodes.h +43 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/States.cpp +16 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/States.h +22 -0
  42. package/android/build/generated/source/codegen/schema.json +1 -0
  43. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  44. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  45. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  46. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  47. package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsOutlined.ttf +0 -0
  48. package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsRounded.ttf +0 -0
  49. package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsSharp.ttf +0 -0
  50. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  51. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  52. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  53. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  54. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  55. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  56. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  57. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  58. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-navigation_native_debug.kotlin_module +0 -0
  59. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.class +0 -0
  60. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.class +0 -0
  61. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.class +0 -0
  62. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.class +0 -0
  63. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.class +0 -0
  64. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/reactnavigation/BuildConfig.class +0 -0
  65. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  66. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  67. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  68. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  69. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  70. package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsOutlined.ttf +0 -0
  71. package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsRounded.ttf +0 -0
  72. package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsSharp.ttf +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-navigation_native_debug.kotlin_module +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/BuildConfig.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$Companion.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$WhenMappings.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$getImageSource$future$1$1$1.class +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolTypeface.class +0 -0
  85. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolView.class +0 -0
  86. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolViewManager$Companion.class +0 -0
  87. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolViewManager.class +0 -0
  88. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/ReactNavigationPackage.class +0 -0
  89. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  90. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  171. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  172. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  173. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  174. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  175. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  176. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  177. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  178. package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
  179. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/META-INF/react-navigation_native_debug.kotlin_module +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$Companion.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$WhenMappings.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$getImageSource$future$1$1$1.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule.class +0 -0
  185. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolTypeface.class +0 -0
  186. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolView.class +0 -0
  187. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolViewManager$Companion.class +0 -0
  188. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolViewManager.class +0 -0
  189. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/ReactNavigationPackage.class +0 -0
  190. package/android/build.gradle +66 -0
  191. package/android/gradle.properties +5 -0
  192. package/android/src/main/AndroidManifest.xml +2 -0
  193. package/android/src/main/java/org/reactnavigation/MaterialSymbolModule.kt +111 -0
  194. package/android/src/main/java/org/reactnavigation/MaterialSymbolTypeface.kt +26 -0
  195. package/android/src/main/java/org/reactnavigation/MaterialSymbolView.kt +50 -0
  196. package/android/src/main/java/org/reactnavigation/MaterialSymbolViewManager.kt +42 -0
  197. package/android/src/main/java/org/reactnavigation/ReactNavigationPackage.kt +37 -0
  198. package/assets/fonts/MaterialSymbolsOutlined.codepoints +4102 -0
  199. package/assets/fonts/MaterialSymbolsOutlined.ttf +0 -0
  200. package/assets/fonts/MaterialSymbolsRounded.codepoints +4102 -0
  201. package/assets/fonts/MaterialSymbolsRounded.ttf +0 -0
  202. package/assets/fonts/MaterialSymbolsSharp.codepoints +4102 -0
  203. package/assets/fonts/MaterialSymbolsSharp.ttf +0 -0
  204. package/ios/ReactNavigationSFSymbolView.h +14 -0
  205. package/ios/ReactNavigationSFSymbolView.mm +58 -0
  206. package/ios/ReactNavigationSFSymbolView.swift +50 -0
  207. package/lib/module/Link.js.map +1 -1
  208. package/lib/module/NavigationContainer.js +73 -63
  209. package/lib/module/NavigationContainer.js.map +1 -1
  210. package/lib/module/__stubs__/createStackNavigator.js.map +1 -1
  211. package/lib/module/createStaticNavigation.js +3 -6
  212. package/lib/module/createStaticNavigation.js.map +1 -1
  213. package/lib/module/extractPathFromURL.js +12 -7
  214. package/lib/module/extractPathFromURL.js.map +1 -1
  215. package/lib/module/getStateFromHref.js +30 -0
  216. package/lib/module/getStateFromHref.js.map +1 -0
  217. package/lib/module/index.js +2 -1
  218. package/lib/module/index.js.map +1 -1
  219. package/lib/module/native/MaterialSymbol.android.js +57 -0
  220. package/lib/module/native/MaterialSymbol.android.js.map +1 -0
  221. package/lib/module/native/MaterialSymbol.js +9 -0
  222. package/lib/module/native/MaterialSymbol.js.map +1 -0
  223. package/lib/module/native/MaterialSymbolData.js +11 -0
  224. package/lib/module/native/MaterialSymbolData.js.map +1 -0
  225. package/lib/module/native/MaterialSymbolViewNativeComponent.ts +19 -0
  226. package/lib/module/native/NativeMaterialSymbolModule.js +7 -0
  227. package/lib/module/native/NativeMaterialSymbolModule.js.map +1 -0
  228. package/lib/module/native/SFSymbol.ios.js +23 -0
  229. package/lib/module/native/SFSymbol.ios.js.map +1 -0
  230. package/lib/module/native/SFSymbol.js +6 -0
  231. package/lib/module/native/SFSymbol.js.map +1 -0
  232. package/lib/module/native/SFSymbolViewNativeComponent.ts +18 -0
  233. package/lib/module/native/types.js +4 -0
  234. package/lib/module/native/types.js.map +1 -0
  235. package/lib/module/theming/DarkTheme.js.map +1 -1
  236. package/lib/module/theming/DefaultTheme.js +1 -1
  237. package/lib/module/theming/DefaultTheme.js.map +1 -1
  238. package/lib/module/theming/fonts.js.map +1 -1
  239. package/lib/module/useLinkBuilder.js +7 -10
  240. package/lib/module/useLinkBuilder.js.map +1 -1
  241. package/lib/module/useLinkProps.js +20 -0
  242. package/lib/module/useLinkProps.js.map +1 -1
  243. package/lib/module/useLinking.js +23 -24
  244. package/lib/module/useLinking.js.map +1 -1
  245. package/lib/module/useLinking.native.js +21 -36
  246. package/lib/module/useLinking.native.js.map +1 -1
  247. package/lib/module/useScrollToTop.js +1 -0
  248. package/lib/module/useScrollToTop.js.map +1 -1
  249. package/lib/module/useThenable.js +9 -6
  250. package/lib/module/useThenable.js.map +1 -1
  251. package/lib/typescript/src/Link.d.ts +3 -2
  252. package/lib/typescript/src/Link.d.ts.map +1 -1
  253. package/lib/typescript/src/NavigationContainer.d.ts +35 -7
  254. package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
  255. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts +1 -2
  256. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -1
  257. package/lib/typescript/src/createStaticNavigation.d.ts +3 -3
  258. package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
  259. package/lib/typescript/src/extractPathFromURL.d.ts +2 -1
  260. package/lib/typescript/src/extractPathFromURL.d.ts.map +1 -1
  261. package/lib/typescript/src/getStateFromHref.d.ts +4 -0
  262. package/lib/typescript/src/getStateFromHref.d.ts.map +1 -0
  263. package/lib/typescript/src/index.d.ts +2 -1
  264. package/lib/typescript/src/index.d.ts.map +1 -1
  265. package/lib/typescript/src/native/MaterialSymbol.android.d.ts +8 -0
  266. package/lib/typescript/src/native/MaterialSymbol.android.d.ts.map +1 -0
  267. package/lib/typescript/src/native/MaterialSymbol.d.ts +8 -0
  268. package/lib/typescript/src/native/MaterialSymbol.d.ts.map +1 -0
  269. package/lib/typescript/src/native/MaterialSymbolData.d.ts +7 -0
  270. package/lib/typescript/src/native/MaterialSymbolData.d.ts.map +1 -0
  271. package/lib/typescript/src/native/MaterialSymbolViewNativeComponent.d.ts +10 -0
  272. package/lib/typescript/src/native/MaterialSymbolViewNativeComponent.d.ts.map +1 -0
  273. package/lib/typescript/src/native/NativeMaterialSymbolModule.d.ts +7 -0
  274. package/lib/typescript/src/native/NativeMaterialSymbolModule.d.ts.map +1 -0
  275. package/lib/typescript/src/native/SFSymbol.d.ts +5 -0
  276. package/lib/typescript/src/native/SFSymbol.d.ts.map +1 -0
  277. package/lib/typescript/src/native/SFSymbol.ios.d.ts +5 -0
  278. package/lib/typescript/src/native/SFSymbol.ios.d.ts.map +1 -0
  279. package/lib/typescript/src/native/SFSymbolViewNativeComponent.d.ts +9 -0
  280. package/lib/typescript/src/native/SFSymbolViewNativeComponent.d.ts.map +1 -0
  281. package/lib/typescript/src/native/types.d.ts +45 -0
  282. package/lib/typescript/src/native/types.d.ts.map +1 -0
  283. package/lib/typescript/src/theming/DarkTheme.d.ts +63 -2
  284. package/lib/typescript/src/theming/DarkTheme.d.ts.map +1 -1
  285. package/lib/typescript/src/theming/DefaultTheme.d.ts +63 -2
  286. package/lib/typescript/src/theming/DefaultTheme.d.ts.map +1 -1
  287. package/lib/typescript/src/theming/fonts.d.ts.map +1 -1
  288. package/lib/typescript/src/types.d.ts +49 -23
  289. package/lib/typescript/src/types.d.ts.map +1 -1
  290. package/lib/typescript/src/useLinkBuilder.d.ts +21 -13
  291. package/lib/typescript/src/useLinkBuilder.d.ts.map +1 -1
  292. package/lib/typescript/src/useLinkProps.d.ts +3 -3
  293. package/lib/typescript/src/useLinkProps.d.ts.map +1 -1
  294. package/lib/typescript/src/useLinking.d.ts +48 -4
  295. package/lib/typescript/src/useLinking.d.ts.map +1 -1
  296. package/lib/typescript/src/useLinking.native.d.ts +69 -4
  297. package/lib/typescript/src/useLinking.native.d.ts.map +1 -1
  298. package/lib/typescript/src/useScrollToTop.d.ts.map +1 -1
  299. package/lib/typescript/src/useThenable.d.ts +4 -1
  300. package/lib/typescript/src/useThenable.d.ts.map +1 -1
  301. package/package.json +28 -8
  302. package/src/Link.tsx +18 -15
  303. package/src/NavigationContainer.tsx +141 -84
  304. package/src/__stubs__/createStackNavigator.tsx +0 -2
  305. package/src/createStaticNavigation.tsx +8 -12
  306. package/src/extractPathFromURL.tsx +28 -18
  307. package/src/getStateFromHref.tsx +46 -0
  308. package/src/index.tsx +5 -1
  309. package/src/native/MaterialSymbol.android.tsx +81 -0
  310. package/src/native/MaterialSymbol.tsx +17 -0
  311. package/src/native/MaterialSymbolData.tsx +4112 -0
  312. package/src/native/MaterialSymbolViewNativeComponent.ts +19 -0
  313. package/src/native/NativeMaterialSymbolModule.ts +19 -0
  314. package/src/native/SFSymbol.ios.tsx +30 -0
  315. package/src/native/SFSymbol.tsx +9 -0
  316. package/src/native/SFSymbolViewNativeComponent.ts +18 -0
  317. package/src/native/types.tsx +47 -0
  318. package/src/theming/DarkTheme.tsx +4 -3
  319. package/src/theming/DefaultTheme.tsx +5 -4
  320. package/src/theming/fonts.tsx +1 -2
  321. package/src/types.tsx +60 -22
  322. package/src/useLinkBuilder.tsx +8 -11
  323. package/src/useLinkProps.tsx +36 -7
  324. package/src/useLinking.native.tsx +25 -48
  325. package/src/useLinking.tsx +32 -38
  326. package/src/useScrollToTop.tsx +3 -1
  327. package/src/useThenable.tsx +14 -6
  328. package/lib/module/UnhandledLinkingContext.js +0 -14
  329. package/lib/module/UnhandledLinkingContext.js.map +0 -1
  330. package/lib/typescript/src/UnhandledLinkingContext.d.ts +0 -6
  331. package/lib/typescript/src/UnhandledLinkingContext.d.ts.map +0 -1
  332. package/src/UnhandledLinkingContext.tsx +0 -18
@@ -0,0 +1,14 @@
1
+ #import <React/RCTViewComponentView.h>
2
+ #import <UIKit/UIKit.h>
3
+
4
+ #ifndef ReactNavigationSFSymbolViewNativeComponent_h
5
+ #define ReactNavigationSFSymbolViewNativeComponent_h
6
+
7
+ NS_ASSUME_NONNULL_BEGIN
8
+
9
+ @interface ReactNavigationSFSymbolView : RCTViewComponentView
10
+ @end
11
+
12
+ NS_ASSUME_NONNULL_END
13
+
14
+ #endif /* ReactNavigationSFSymbolViewNativeComponent_h */
@@ -0,0 +1,58 @@
1
+ #import "ReactNavigationSFSymbolView.h"
2
+
3
+ #if __has_include("ReactNavigation/ReactNavigation-Swift.h")
4
+ #import "ReactNavigation/ReactNavigation-Swift.h"
5
+ #else
6
+ #import "ReactNavigation-Swift.h"
7
+ #endif
8
+
9
+ #import <React/RCTConversions.h>
10
+ #import <react/renderer/components/ReactNavigationSpec/ComponentDescriptors.h>
11
+ #import <react/renderer/components/ReactNavigationSpec/Props.h>
12
+
13
+ #import "RCTFabricComponentsPlugins.h"
14
+
15
+ using namespace facebook::react;
16
+
17
+ @implementation ReactNavigationSFSymbolView {
18
+ ReactNavigationSFSymbolViewImpl * _view;
19
+ }
20
+
21
+ + (ComponentDescriptorProvider)componentDescriptorProvider
22
+ {
23
+ return concreteComponentDescriptorProvider<ReactNavigationSFSymbolViewComponentDescriptor>();
24
+ }
25
+
26
+ - (instancetype)initWithFrame:(CGRect)frame
27
+ {
28
+ if (self = [super initWithFrame:frame]) {
29
+ static const auto defaultProps = std::make_shared<const ReactNavigationSFSymbolViewProps>();
30
+ _props = defaultProps;
31
+
32
+ _view = [[ReactNavigationSFSymbolViewImpl alloc] init];
33
+
34
+ self.contentView = _view;
35
+ }
36
+
37
+ return self;
38
+ }
39
+
40
+ static ReactNavigationSFSymbolViewImplProps *convertProps(const Props::Shared &props) {
41
+ const auto &viewProps = *std::static_pointer_cast<ReactNavigationSFSymbolViewProps const>(props);
42
+
43
+ ReactNavigationSFSymbolViewImplProps *swiftProps = [[ReactNavigationSFSymbolViewImplProps alloc] init];
44
+
45
+ swiftProps.name = RCTNSStringFromString(viewProps.name);
46
+ swiftProps.size = viewProps.size;
47
+ swiftProps.color = RCTUIColorFromSharedColor(viewProps.color);
48
+
49
+ return swiftProps;
50
+ }
51
+
52
+ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &)oldProps
53
+ {
54
+ [_view updateProps:convertProps(props) oldProps:convertProps(_props)];
55
+ [super updateProps:props oldProps:oldProps];
56
+ }
57
+
58
+ @end
@@ -0,0 +1,50 @@
1
+ import UIKit
2
+
3
+ @objcMembers public class ReactNavigationSFSymbolViewImplProps: NSObject {
4
+ public var name: String?
5
+ public var size: CGFloat = 24
6
+ public var color: UIColor = .black
7
+ }
8
+
9
+ @objc public class ReactNavigationSFSymbolViewImpl: UIView {
10
+ private var imageView: UIImageView
11
+
12
+ override init(frame: CGRect) {
13
+ imageView = UIImageView()
14
+ imageView.contentMode = .center
15
+ imageView.translatesAutoresizingMaskIntoConstraints = false
16
+
17
+ super.init(frame: frame)
18
+
19
+ addSubview(imageView)
20
+
21
+ NSLayoutConstraint.activate([
22
+ imageView.topAnchor.constraint(equalTo: topAnchor),
23
+ imageView.bottomAnchor.constraint(equalTo: bottomAnchor),
24
+ imageView.leadingAnchor.constraint(equalTo: leadingAnchor),
25
+ imageView.trailingAnchor.constraint(equalTo: trailingAnchor),
26
+ ])
27
+ }
28
+
29
+ required init?(coder: NSCoder) {
30
+ // This is only called for storyboard
31
+ // So we don't need to implement it
32
+ fatalError("init(coder:) has not been implemented")
33
+ }
34
+
35
+ @objc public func updateProps(_ props: ReactNavigationSFSymbolViewImplProps, oldProps: ReactNavigationSFSymbolViewImplProps) {
36
+ if props.name != oldProps.name || props.size != oldProps.size {
37
+ if let name = props.name {
38
+ let configuration = UIImage.SymbolConfiguration(pointSize: props.size, weight: .regular)
39
+ let image = UIImage(systemName: name, withConfiguration: configuration)
40
+
41
+ imageView.image = image?.withRenderingMode(.alwaysTemplate)
42
+ imageView.tintColor = props.color
43
+ }
44
+ }
45
+
46
+ if props.color != oldProps.color {
47
+ imageView.tintColor = props.color
48
+ }
49
+ }
50
+ }
@@ -1 +1 @@
1
- {"version":3,"names":["useTheme","React","Platform","Text","useLinkProps","Link","screen","params","action","href","style","rest","colors","fonts","props","onPress","e","defaultPrevented","createElement","select","web","onClick","default","color","primary","regular"],"sourceRoot":"../../src","sources":["Link.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,wBAAwB;AACjD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAEEC,QAAQ,EACRC,IAAI,QAEC,cAAc;AAErB,SAAyBC,YAAY,QAAQ,mBAAgB;AAe7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAAkD;EACpEC,MAAM;EACNC,MAAM;EACNC,MAAM;EACNC,IAAI;EACJC,KAAK;EACL,GAAGC;AACa,CAAC,EAAE;EACnB,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGb,QAAQ,CAAC,CAAC;EACpC;EACA,MAAMc,KAAK,GAAGV,YAAY,CAAY;IAAEE,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,CAAC;EAEvE,MAAMM,OAAO,GACXC,CAA0E,IACvE;IACH,IAAI,SAAS,IAAIL,IAAI,EAAE;MACrBA,IAAI,CAACI,OAAO,GAAGC,CAAC,CAAC;IACnB;;IAEA;IACA,IAAI,CAACA,CAAC,CAACC,gBAAgB,EAAE;MACvBH,KAAK,CAACC,OAAO,CAACC,CAAC,CAAC;IAClB;EACF,CAAC;EAED,oBAAOf,KAAK,CAACiB,aAAa,CAACf,IAAI,EAAE;IAC/B,GAAGW,KAAK;IACR,GAAGH,IAAI;IACP,GAAGT,QAAQ,CAACiB,MAAM,CAAC;MACjBC,GAAG,EAAE;QAAEC,OAAO,EAAEN;MAAQ,CAAQ;MAChCO,OAAO,EAAE;QAAEP;MAAQ;IACrB,CAAC,CAAC;IACFL,KAAK,EAAE,CAAC;MAAEa,KAAK,EAAEX,MAAM,CAACY;IAAQ,CAAC,EAAEX,KAAK,CAACY,OAAO,EAAEf,KAAK;EACzD,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["useTheme","React","Platform","Text","useLinkProps","Link","screen","params","action","href","style","rest","colors","fonts","props","onPress","e","defaultPrevented","createElement","select","web","onClick","default","color","primary","regular"],"sourceRoot":"../../src","sources":["Link.tsx"],"mappings":";;AAAA,SAA6BA,QAAQ,QAAQ,wBAAwB;AACrE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAEEC,QAAQ,EACRC,IAAI,QAEC,cAAc;AAErB,SAAyBC,YAAY,QAAQ,mBAAgB;AAe7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAGlB;EACAC,MAAM;EACNC,MAAM;EACNC,MAAM;EACNC,IAAI;EACJC,KAAK;EACL,GAAGC;AACwB,CAAC,EAAE;EAC9B,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGb,QAAQ,CAAC,CAAC;EACpC;EACA,MAAMc,KAAK,GAAGV,YAAY,CAAY;IAAEE,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,CAAC;EAEvE,MAAMM,OAAO,GACXC,CAA0E,IACvE;IACH,IAAI,SAAS,IAAIL,IAAI,EAAE;MACrBA,IAAI,CAACI,OAAO,GAAGC,CAAC,CAAC;IACnB;;IAEA;IACA,IAAI,CAACA,CAAC,CAACC,gBAAgB,EAAE;MACvBH,KAAK,CAACC,OAAO,CAACC,CAAC,CAAC;IAClB;EACF,CAAC;EAED,oBAAOf,KAAK,CAACiB,aAAa,CAACf,IAAI,EAAE;IAC/B,GAAGW,KAAK;IACR,GAAGH,IAAI;IACP,GAAGT,QAAQ,CAACiB,MAAM,CAAC;MACjBC,GAAG,EAAE;QAAEC,OAAO,EAAEN;MAAQ,CAAQ;MAChCO,OAAO,EAAE;QAAEP;MAAQ;IACrB,CAAC,CAAC;IACFL,KAAK,EAAE,CAAC;MAAEa,KAAK,EAAEX,MAAM,CAACY;IAAQ,CAAC,EAAEX,KAAK,CAACY,OAAO,EAAEf,KAAK;EACzD,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -2,97 +2,107 @@
2
2
 
3
3
  import { BaseNavigationContainer, getActionFromState, getPathFromState, getStateFromPath, ThemeProvider, validatePathConfig } from '@react-navigation/core';
4
4
  import * as React from 'react';
5
- import { I18nManager } from 'react-native';
6
- import useLatestCallback from 'use-latest-callback';
5
+ import { I18nManager, Platform } from 'react-native';
7
6
  import { LinkingContext } from "./LinkingContext.js";
8
7
  import { LocaleDirContext } from "./LocaleDirContext.js";
9
8
  import { DefaultTheme } from "./theming/DefaultTheme.js";
10
- import { UnhandledLinkingContext } from "./UnhandledLinkingContext.js";
11
9
  import { useBackButton } from './useBackButton';
12
10
  import { useDocumentTitle } from './useDocumentTitle';
13
11
  import { useLinking } from './useLinking';
14
12
  import { useThenable } from "./useThenable.js";
15
13
  import { jsx as _jsx } from "react/jsx-runtime";
16
14
  globalThis.REACT_NAVIGATION_DEVTOOLS = new WeakMap();
15
+ const RESTORE_STATE_ERROR = 'Failed to restore navigation state. The state will be initialized based on the navigation tree.';
17
16
  function NavigationContainerInner({
18
17
  direction = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr',
19
18
  theme = DefaultTheme,
20
19
  linking,
20
+ persistor,
21
21
  fallback = null,
22
22
  documentTitle,
23
- onReady,
24
23
  onStateChange,
25
24
  ...rest
26
25
  }, ref) {
27
- const isLinkingEnabled = linking ? linking.enabled !== false : false;
28
26
  if (linking?.config) {
29
27
  validatePathConfig(linking.config);
30
28
  }
31
29
  const refContainer = React.useRef(null);
32
30
  useBackButton(refContainer);
33
31
  useDocumentTitle(refContainer, documentTitle);
34
- const [lastUnhandledLink, setLastUnhandledLink] = React.useState();
32
+ const linkingConfig = React.useMemo(() => {
33
+ if (linking == null) {
34
+ return {
35
+ options: {
36
+ enabled: false
37
+ }
38
+ };
39
+ }
40
+ return {
41
+ options: {
42
+ ...linking,
43
+ enabled: linking.enabled !== false,
44
+ prefixes: linking.prefixes ?? ['*'],
45
+ getStateFromPath: linking?.getStateFromPath ?? getStateFromPath,
46
+ getPathFromState: linking?.getPathFromState ?? getPathFromState,
47
+ getActionFromState: linking?.getActionFromState ?? getActionFromState
48
+ }
49
+ };
50
+ }, [linking]);
35
51
  const {
36
52
  getInitialState
37
- } = useLinking(refContainer, {
38
- enabled: isLinkingEnabled,
39
- prefixes: [],
40
- ...linking
41
- }, setLastUnhandledLink);
42
- const linkingContext = React.useMemo(() => ({
43
- options: linking
44
- }), [linking]);
45
- const unhandledLinkingContext = React.useMemo(() => ({
46
- lastUnhandledLink,
47
- setLastUnhandledLink
48
- }), [lastUnhandledLink, setLastUnhandledLink]);
49
- const onReadyForLinkingHandling = useLatestCallback(() => {
50
- // If the screen path matches lastUnhandledLink, we do not track it
51
- const path = refContainer.current?.getCurrentRoute()?.path;
52
- setLastUnhandledLink(previousLastUnhandledLink => {
53
- if (previousLastUnhandledLink === path) {
54
- return undefined;
55
- }
56
- return previousLastUnhandledLink;
57
- });
58
- onReady?.();
59
- });
60
- const onStateChangeForLinkingHandling = useLatestCallback(state => {
61
- // If the screen path matches lastUnhandledLink, we do not track it
62
- const path = refContainer.current?.getCurrentRoute()?.path;
63
- setLastUnhandledLink(previousLastUnhandledLink => {
64
- if (previousLastUnhandledLink === path) {
65
- return undefined;
66
- }
67
- return previousLastUnhandledLink;
68
- });
69
- onStateChange?.(state);
70
- });
53
+ } = useLinking(refContainer, linkingConfig.options);
54
+
71
55
  // Add additional linking related info to the ref
72
56
  // This will be used by the devtools
73
57
  React.useEffect(() => {
74
58
  if (refContainer.current) {
75
59
  REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {
76
60
  get linking() {
77
- return {
78
- ...linking,
79
- enabled: isLinkingEnabled,
80
- prefixes: linking?.prefixes ?? [],
81
- getStateFromPath: linking?.getStateFromPath ?? getStateFromPath,
82
- getPathFromState: linking?.getPathFromState ?? getPathFromState,
83
- getActionFromState: linking?.getActionFromState ?? getActionFromState
84
- };
61
+ return linkingConfig.options;
85
62
  }
86
63
  });
87
64
  }
88
65
  });
89
- const [isResolved, initialState] = useThenable(getInitialState);
66
+ const [isLinkStateResolved, initialStateFromLink] = useThenable(() => {
67
+ if (rest.initialState != null || !linkingConfig.options.enabled) {
68
+ return undefined;
69
+ }
70
+ return getInitialState();
71
+ });
72
+ const isPersistenceSupported = Platform.OS === 'web' ? !linkingConfig.options.enabled : true;
73
+ const [isPersistedStateResolved, initialStateFromPersisted] = useThenable(() => {
74
+ if (isPersistenceSupported === false || rest.initialState != null || persistor == null) {
75
+ return undefined;
76
+ }
77
+ let restoredState;
78
+ try {
79
+ restoredState = persistor.restore();
80
+ } catch (e) {
81
+ console.error(RESTORE_STATE_ERROR, e);
82
+ return undefined;
83
+ }
84
+ if (restoredState == null) {
85
+ return undefined;
86
+ }
87
+ if ('then' in restoredState) {
88
+ return restoredState.then(state => state, error => {
89
+ console.error(RESTORE_STATE_ERROR, error);
90
+ return undefined;
91
+ });
92
+ }
93
+ const thenable = {
94
+ then(onfulfilled) {
95
+ return Promise.resolve(onfulfilled ? onfulfilled(restoredState) : restoredState);
96
+ }
97
+ };
98
+ return thenable;
99
+ });
90
100
 
91
101
  // FIXME
92
102
  // @ts-expect-error not sure why this is not working
93
103
  React.useImperativeHandle(ref, () => refContainer.current);
94
- const isLinkingReady = rest.initialState != null || !isLinkingEnabled || isResolved;
95
- if (!isLinkingReady) {
104
+ const isStateReady = rest.initialState != null || isLinkStateResolved && isPersistedStateResolved;
105
+ if (!isStateReady) {
96
106
  return /*#__PURE__*/_jsx(LocaleDirContext.Provider, {
97
107
  value: direction,
98
108
  children: /*#__PURE__*/_jsx(ThemeProvider, {
@@ -103,18 +113,17 @@ function NavigationContainerInner({
103
113
  }
104
114
  return /*#__PURE__*/_jsx(LocaleDirContext.Provider, {
105
115
  value: direction,
106
- children: /*#__PURE__*/_jsx(UnhandledLinkingContext.Provider, {
107
- value: unhandledLinkingContext,
108
- children: /*#__PURE__*/_jsx(LinkingContext.Provider, {
109
- value: linkingContext,
110
- children: /*#__PURE__*/_jsx(BaseNavigationContainer, {
111
- ...rest,
112
- theme: theme,
113
- onReady: onReadyForLinkingHandling,
114
- onStateChange: onStateChangeForLinkingHandling,
115
- initialState: rest.initialState == null ? initialState : rest.initialState,
116
- ref: refContainer
117
- })
116
+ children: /*#__PURE__*/_jsx(LinkingContext.Provider, {
117
+ value: linkingConfig,
118
+ children: /*#__PURE__*/_jsx(BaseNavigationContainer, {
119
+ ...rest,
120
+ theme: theme,
121
+ initialState: rest.initialState ?? initialStateFromLink ?? initialStateFromPersisted,
122
+ onStateChange: state => {
123
+ onStateChange?.(state);
124
+ persistor?.persist(state);
125
+ },
126
+ ref: refContainer
118
127
  })
119
128
  })
120
129
  });
@@ -122,6 +131,7 @@ function NavigationContainerInner({
122
131
 
123
132
  /**
124
133
  * Container component that manages the navigation state.
134
+ *
125
135
  * This should be rendered at the root wrapping the whole app.
126
136
  */
127
137
  export const NavigationContainer = /*#__PURE__*/React.forwardRef(NavigationContainerInner);
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavigationContainer","getActionFromState","getPathFromState","getStateFromPath","ThemeProvider","validatePathConfig","React","I18nManager","useLatestCallback","LinkingContext","LocaleDirContext","DefaultTheme","UnhandledLinkingContext","useBackButton","useDocumentTitle","useLinking","useThenable","jsx","_jsx","globalThis","REACT_NAVIGATION_DEVTOOLS","WeakMap","NavigationContainerInner","direction","getConstants","isRTL","theme","linking","fallback","documentTitle","onReady","onStateChange","rest","ref","isLinkingEnabled","enabled","config","refContainer","useRef","lastUnhandledLink","setLastUnhandledLink","useState","getInitialState","prefixes","linkingContext","useMemo","options","unhandledLinkingContext","onReadyForLinkingHandling","path","current","getCurrentRoute","previousLastUnhandledLink","undefined","onStateChangeForLinkingHandling","state","useEffect","set","isResolved","initialState","useImperativeHandle","isLinkingReady","Provider","value","children","NavigationContainer","forwardRef"],"sourceRoot":"../../src","sources":["NavigationContainer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseNavigationContainer","getActionFromState","getPathFromState","getStateFromPath","ThemeProvider","validatePathConfig","React","I18nManager","Platform","LinkingContext","LocaleDirContext","DefaultTheme","useBackButton","useDocumentTitle","useLinking","useThenable","jsx","_jsx","globalThis","REACT_NAVIGATION_DEVTOOLS","WeakMap","RESTORE_STATE_ERROR","NavigationContainerInner","direction","getConstants","isRTL","theme","linking","persistor","fallback","documentTitle","onStateChange","rest","ref","config","refContainer","useRef","linkingConfig","useMemo","options","enabled","prefixes","getInitialState","useEffect","current","set","isLinkStateResolved","initialStateFromLink","initialState","undefined","isPersistenceSupported","OS","isPersistedStateResolved","initialStateFromPersisted","restoredState","restore","e","console","error","then","state","thenable","onfulfilled","Promise","resolve","useImperativeHandle","isStateReady","Provider","value","children","persist","NavigationContainer","forwardRef"],"sourceRoot":"../../src","sources":["NavigationContainer.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","StackRouter","useNavigationBuilder","jsx","_jsx","StackNavigator","props","state","descriptors","NavigationContent","children","routes","index","key","render","createStackNavigator"],"sourceRoot":"../../../src","sources":["__stubs__/createStackNavigator.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EAKtBC,WAAW,EAEXC,oBAAoB,QACf,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhC,MAAMC,cAAc,GAClBC,KAOC,IACE;EACH,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GAAGP,oBAAoB,CACpED,WAAW,EACXK,KACF,CAAC;EAED,oBACEF,IAAA,CAACK,iBAAiB;IAAAC,QAAA,EACfF,WAAW,CAACD,KAAK,CAACI,MAAM,CAACJ,KAAK,CAACK,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,MAAM,CAAC;EAAC,CACnC,CAAC;AAExB,CAAC;AAED,OAAO,SAASC,oBAAoBA,CAAA,EAUjC;EACD,OAAOf,sBAAsB,CAACK,cAAc,CAAC,CAAC,CAAC;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["createNavigatorFactory","StackRouter","useNavigationBuilder","jsx","_jsx","StackNavigator","props","state","descriptors","NavigationContent","children","routes","index","key","render","createStackNavigator"],"sourceRoot":"../../../src","sources":["__stubs__/createStackNavigator.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EAKtBC,WAAW,EAEXC,oBAAoB,QACf,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhC,MAAMC,cAAc,GAClBC,KAMC,IACE;EACH,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GAAGP,oBAAoB,CACpED,WAAW,EACXK,KACF,CAAC;EAED,oBACEF,IAAA,CAACK,iBAAiB;IAAAC,QAAA,EACfF,WAAW,CAACD,KAAK,CAACI,MAAM,CAACJ,KAAK,CAACK,KAAK,CAAC,CAACC,GAAG,CAAC,CAACC,MAAM,CAAC;EAAC,CACnC,CAAC;AAExB,CAAC;AAED,OAAO,SAASC,oBAAoBA,CAAA,EASjC;EACD,OAAOf,sBAAsB,CAACK,cAAc,CAAC,CAAC,CAAC;AACjD","ignoreList":[]}
@@ -20,7 +20,7 @@ export function createStaticNavigation(tree) {
20
20
  const linkingConfig = React.useMemo(() => {
21
21
  const screens = createPathConfigForStaticNavigation(tree, {
22
22
  initialRouteName: linking?.config?.initialRouteName
23
- }, linking?.enabled === 'auto');
23
+ }, linking?.enabled == null || linking.enabled === 'auto');
24
24
  if (!screens) return;
25
25
  return {
26
26
  path: linking?.config?.path,
@@ -29,10 +29,7 @@ export function createStaticNavigation(tree) {
29
29
  };
30
30
  }, [linking?.enabled, linking?.config?.path, linking?.config?.initialRouteName]);
31
31
  const memoizedLinking = React.useMemo(() => {
32
- if (!linking) {
33
- return undefined;
34
- }
35
- const enabled = typeof linking.enabled === 'boolean' ? linking.enabled : linkingConfig?.screens != null;
32
+ const enabled = linking?.enabled == null || linking.enabled === 'auto' ? true : linking.enabled;
36
33
  return {
37
34
  ...linking,
38
35
  enabled,
@@ -40,7 +37,7 @@ export function createStaticNavigation(tree) {
40
37
  };
41
38
  }, [linking, linkingConfig]);
42
39
  if (linking?.enabled === true && linkingConfig?.screens == null) {
43
- throw new Error('Linking is enabled but no linking configuration was found for the screens.\n\n' + 'To solve this:\n' + "- Specify a 'linking' property for the screens you want to link to.\n" + "- Or set 'linking.enabled' to 'auto' to generate paths automatically.\n\n" + 'See usage guide: https://reactnavigation.org/docs/static-configuration#linking');
40
+ throw new Error('Linking is enabled but no linking configuration was found for the screens.\n\n' + 'To solve this:\n' + "- Specify a 'linking' property in each of the screen configs that you want to link to.\n" + "- Or set 'linking.enabled' to 'auto' to generate paths automatically.\n\n" + 'See usage guide: https://reactnavigation.org/docs/static-configuration#linking');
44
41
  }
45
42
  return /*#__PURE__*/_jsx(NavigationContainer, {
46
43
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"names":["createComponentForStaticNavigation","createPathConfigForStaticNavigation","React","NavigationContainer","jsx","_jsx","createStaticNavigation","tree","Component","Navigation","linking","rest","ref","linkingConfig","useMemo","screens","initialRouteName","config","enabled","path","memoizedLinking","undefined","Error","children","forwardRef"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":";;AAAA,SACEA,kCAAkC,EAClCC,mCAAmC,QAI9B,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA8B5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,IAAqC,EAAE;EAC5E,MAAMC,SAAS,GAAGR,kCAAkC,CAACO,IAAI,EAAE,eAAe,CAAC;EAE3E,SAASE,UAAUA,CACjB;IAAEC,OAAO;IAAE,GAAGC;EAAY,CAAC,EAC3BC,GAAqD,EACrD;IACA,MAAMC,aAAa,GAAGX,KAAK,CAACY,OAAO,CAAC,MAAM;MACxC,MAAMC,OAAO,GAAGd,mCAAmC,CACjDM,IAAI,EACJ;QAAES,gBAAgB,EAAEN,OAAO,EAAEO,MAAM,EAAED;MAAiB,CAAC,EACvDN,OAAO,EAAEQ,OAAO,KAAK,MACvB,CAAC;MAED,IAAI,CAACH,OAAO,EAAE;MAEd,OAAO;QACLI,IAAI,EAAET,OAAO,EAAEO,MAAM,EAAEE,IAAI;QAC3BH,gBAAgB,EAAEN,OAAO,EAAEO,MAAM,EAAED,gBAAgB;QACnDD;MACF,CAAC;IACH,CAAC,EAAE,CACDL,OAAO,EAAEQ,OAAO,EAChBR,OAAO,EAAEO,MAAM,EAAEE,IAAI,EACrBT,OAAO,EAAEO,MAAM,EAAED,gBAAgB,CAClC,CAAC;IAEF,MAAMI,eAAe,GAAGlB,KAAK,CAACY,OAAO,CAAC,MAAM;MAC1C,IAAI,CAACJ,OAAO,EAAE;QACZ,OAAOW,SAAS;MAClB;MAEA,MAAMH,OAAO,GACX,OAAOR,OAAO,CAACQ,OAAO,KAAK,SAAS,GAChCR,OAAO,CAACQ,OAAO,GACfL,aAAa,EAAEE,OAAO,IAAI,IAAI;MAEpC,OAAO;QACL,GAAGL,OAAO;QACVQ,OAAO;QACPD,MAAM,EAAEJ;MACV,CAAC;IACH,CAAC,EAAE,CAACH,OAAO,EAAEG,aAAa,CAAC,CAAC;IAE5B,IAAIH,OAAO,EAAEQ,OAAO,KAAK,IAAI,IAAIL,aAAa,EAAEE,OAAO,IAAI,IAAI,EAAE;MAC/D,MAAM,IAAIO,KAAK,CACb,gFAAgF,GAC9E,kBAAkB,GAClB,uEAAuE,GACvE,2EAA2E,GAC3E,gFACJ,CAAC;IACH;IAEA,oBACEjB,IAAA,CAACF,mBAAmB;MAAA,GAAKQ,IAAI;MAAEC,GAAG,EAAEA,GAAI;MAACF,OAAO,EAAEU,eAAgB;MAAAG,QAAA,eAChElB,IAAA,CAACG,SAAS,IAAE;IAAC,CACM,CAAC;EAE1B;EAEA,oBAAON,KAAK,CAACsB,UAAU,CAACf,UAAU,CAAC;AACrC","ignoreList":[]}
1
+ {"version":3,"names":["createComponentForStaticNavigation","createPathConfigForStaticNavigation","React","NavigationContainer","jsx","_jsx","createStaticNavigation","tree","Component","Navigation","linking","rest","ref","linkingConfig","useMemo","screens","initialRouteName","config","enabled","path","memoizedLinking","Error","children","forwardRef"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":";;AAAA,SACEA,kCAAkC,EAClCC,mCAAmC,QAI9B,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA8B5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,IAAqC,EAAE;EAC5E,MAAMC,SAAS,GAAGR,kCAAkC,CAACO,IAAI,EAAE,eAAe,CAAC;EAE3E,SAASE,UAAUA,CACjB;IAAEC,OAAO;IAAE,GAAGC;EAAY,CAAC,EAC3BC,GAAqD,EACrD;IACA,MAAMC,aAAa,GAAGX,KAAK,CAACY,OAAO,CAAC,MAAM;MACxC,MAAMC,OAAO,GAAGd,mCAAmC,CACjDM,IAAI,EACJ;QAAES,gBAAgB,EAAEN,OAAO,EAAEO,MAAM,EAAED;MAAiB,CAAC,EACvDN,OAAO,EAAEQ,OAAO,IAAI,IAAI,IAAIR,OAAO,CAACQ,OAAO,KAAK,MAClD,CAAC;MAED,IAAI,CAACH,OAAO,EAAE;MAEd,OAAO;QACLI,IAAI,EAAET,OAAO,EAAEO,MAAM,EAAEE,IAAI;QAC3BH,gBAAgB,EAAEN,OAAO,EAAEO,MAAM,EAAED,gBAAgB;QACnDD;MACF,CAAC;IACH,CAAC,EAAE,CACDL,OAAO,EAAEQ,OAAO,EAChBR,OAAO,EAAEO,MAAM,EAAEE,IAAI,EACrBT,OAAO,EAAEO,MAAM,EAAED,gBAAgB,CAClC,CAAC;IAEF,MAAMI,eAAe,GAAGlB,KAAK,CAACY,OAAO,CAAC,MAAM;MAC1C,MAAMI,OAAO,GACXR,OAAO,EAAEQ,OAAO,IAAI,IAAI,IAAIR,OAAO,CAACQ,OAAO,KAAK,MAAM,GAClD,IAAI,GACJR,OAAO,CAACQ,OAAO;MAErB,OAAO;QACL,GAAGR,OAAO;QACVQ,OAAO;QACPD,MAAM,EAAEJ;MACV,CAAC;IACH,CAAC,EAAE,CAACH,OAAO,EAAEG,aAAa,CAAC,CAAC;IAE5B,IAAIH,OAAO,EAAEQ,OAAO,KAAK,IAAI,IAAIL,aAAa,EAAEE,OAAO,IAAI,IAAI,EAAE;MAC/D,MAAM,IAAIM,KAAK,CACb,gFAAgF,GAC9E,kBAAkB,GAClB,0FAA0F,GAC1F,2EAA2E,GAC3E,gFACJ,CAAC;IACH;IAEA,oBACEhB,IAAA,CAACF,mBAAmB;MAAA,GAAKQ,IAAI;MAAEC,GAAG,EAAEA,GAAI;MAACF,OAAO,EAAEU,eAAgB;MAAAE,QAAA,eAChEjB,IAAA,CAACG,SAAS,IAAE;IAAC,CACM,CAAC;EAE1B;EAEA,oBAAON,KAAK,CAACqB,UAAU,CAACd,UAAU,CAAC;AACrC","ignoreList":[]}
@@ -3,15 +3,20 @@
3
3
  import escapeStringRegexp from 'escape-string-regexp';
4
4
  export function extractPathFromURL(prefixes, url) {
5
5
  for (const prefix of prefixes) {
6
- const protocol = prefix.match(/^[^:]+:/)?.[0] ?? '';
7
- const host = prefix.replace(new RegExp(`^${escapeStringRegexp(protocol)}`), '').replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
8
- .replace(/^\//, ''); // Remove extra leading slash
6
+ let prefixRegex;
7
+ if (prefix === '*') {
8
+ prefixRegex = /^(((https?:\/\/)[^/]+)|([^/]+:(\/\/)?))/;
9
+ } else {
10
+ const protocol = prefix.match(/^[^:]+:/)?.[0] ?? '';
11
+ const host = prefix.replace(new RegExp(`^${escapeStringRegexp(protocol)}`), '').replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
12
+ .replace(/^\//, ''); // Remove extra leading slash
9
13
 
10
- const prefixRegex = new RegExp(`^${escapeStringRegexp(protocol)}(/)*${host.split('.').map(it => it === '*' ? '[^/]+' : escapeStringRegexp(it)).join('\\.')}`);
14
+ prefixRegex = new RegExp(`^${escapeStringRegexp(protocol)}(/)*${host.split('.').map(it => it === '*' ? '[^/]+' : escapeStringRegexp(it)).join('\\.')}`);
15
+ }
11
16
  const [originAndPath, ...searchParams] = url.split('?');
12
- const normalizedURL = originAndPath.replace(/\/+/g, '/').concat(searchParams.length ? `?${searchParams.join('?')}` : '');
13
- if (prefixRegex.test(normalizedURL)) {
14
- return normalizedURL.replace(prefixRegex, '');
17
+ if (prefixRegex.test(originAndPath)) {
18
+ const result = originAndPath.replace(prefixRegex, '').replace(/\/+/g, '/').concat(searchParams.length ? `?${searchParams.join('?')}` : '');
19
+ return result.startsWith('/') ? result : `/${result}`;
15
20
  }
16
21
  }
17
22
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["escapeStringRegexp","extractPathFromURL","prefixes","url","prefix","protocol","match","host","replace","RegExp","prefixRegex","split","map","it","join","originAndPath","searchParams","normalizedURL","concat","length","test","undefined"],"sourceRoot":"../../src","sources":["extractPathFromURL.tsx"],"mappings":";;AAAA,OAAOA,kBAAkB,MAAM,sBAAsB;AAErD,OAAO,SAASC,kBAAkBA,CAACC,QAAkB,EAAEC,GAAW,EAAE;EAClE,KAAK,MAAMC,MAAM,IAAIF,QAAQ,EAAE;IAC7B,MAAMG,QAAQ,GAAGD,MAAM,CAACE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACnD,MAAMC,IAAI,GAAGH,MAAM,CAChBI,OAAO,CAAC,IAAIC,MAAM,CAAC,IAAIT,kBAAkB,CAACK,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3DG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAA,CACrBA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;;IAEvB,MAAME,WAAW,GAAG,IAAID,MAAM,CAC5B,IAAIT,kBAAkB,CAACK,QAAQ,CAAC,OAAOE,IAAI,CACxCI,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAAEC,EAAE,IAAMA,EAAE,KAAK,GAAG,GAAG,OAAO,GAAGb,kBAAkB,CAACa,EAAE,CAAE,CAAC,CAC5DC,IAAI,CAAC,KAAK,CAAC,EAChB,CAAC;IAED,MAAM,CAACC,aAAa,EAAE,GAAGC,YAAY,CAAC,GAAGb,GAAG,CAACQ,KAAK,CAAC,GAAG,CAAC;IACvD,MAAMM,aAAa,GAAGF,aAAa,CAChCP,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBU,MAAM,CAACF,YAAY,CAACG,MAAM,GAAG,IAAIH,YAAY,CAACF,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAElE,IAAIJ,WAAW,CAACU,IAAI,CAACH,aAAa,CAAC,EAAE;MACnC,OAAOA,aAAa,CAACT,OAAO,CAACE,WAAW,EAAE,EAAE,CAAC;IAC/C;EACF;EAEA,OAAOW,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["escapeStringRegexp","extractPathFromURL","prefixes","url","prefix","prefixRegex","protocol","match","host","replace","RegExp","split","map","it","join","originAndPath","searchParams","test","result","concat","length","startsWith","undefined"],"sourceRoot":"../../src","sources":["extractPathFromURL.tsx"],"mappings":";;AAAA,OAAOA,kBAAkB,MAAM,sBAAsB;AAIrD,OAAO,SAASC,kBAAkBA,CAACC,QAAyB,EAAEC,GAAW,EAAE;EACzE,KAAK,MAAMC,MAAM,IAAIF,QAAQ,EAAE;IAC7B,IAAIG,WAAW;IAEf,IAAID,MAAM,KAAK,GAAG,EAAE;MAClBC,WAAW,GAAG,yCAAyC;IACzD,CAAC,MAAM;MACL,MAAMC,QAAQ,GAAGF,MAAM,CAACG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;MACnD,MAAMC,IAAI,GAAGJ,MAAM,CAChBK,OAAO,CAAC,IAAIC,MAAM,CAAC,IAAIV,kBAAkB,CAACM,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3DG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;MAAA,CACrBA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;;MAEvBJ,WAAW,GAAG,IAAIK,MAAM,CACtB,IAAIV,kBAAkB,CAACM,QAAQ,CAAC,OAAOE,IAAI,CACxCG,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAAEC,EAAE,IAAMA,EAAE,KAAK,GAAG,GAAG,OAAO,GAAGb,kBAAkB,CAACa,EAAE,CAAE,CAAC,CAC5DC,IAAI,CAAC,KAAK,CAAC,EAChB,CAAC;IACH;IAEA,MAAM,CAACC,aAAa,EAAE,GAAGC,YAAY,CAAC,GAAGb,GAAG,CAACQ,KAAK,CAAC,GAAG,CAAC;IAEvD,IAAIN,WAAW,CAACY,IAAI,CAACF,aAAa,CAAC,EAAE;MACnC,MAAMG,MAAM,GAAGH,aAAa,CACzBN,OAAO,CAACJ,WAAW,EAAE,EAAE,CAAC,CACxBI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBU,MAAM,CAACH,YAAY,CAACI,MAAM,GAAG,IAAIJ,YAAY,CAACF,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;MAElE,OAAOI,MAAM,CAACG,UAAU,CAAC,GAAG,CAAC,GAAGH,MAAM,GAAG,IAAIA,MAAM,EAAE;IACvD;EACF;EAEA,OAAOI,SAAS;AAClB","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { getStateFromPath } from '@react-navigation/core';
4
+ import { extractPathFromURL } from "./extractPathFromURL.js";
5
+ export function getStateFromHref(href, options) {
6
+ const {
7
+ prefixes,
8
+ filter,
9
+ config,
10
+ getStateFromPath: getStateFromPathHelper = getStateFromPath
11
+ } = options || {};
12
+ let path;
13
+ if (href.startsWith('/')) {
14
+ path = href;
15
+ } else if (href) {
16
+ if (filter && !filter(href)) {
17
+ throw new Error(`Failed to parse href '${href}'. It doesn't match the filter specified in linking config.`);
18
+ }
19
+ if (prefixes == null || prefixes.length === 0) {
20
+ throw new Error(`Failed to parse href '${href}'. It doesn't start with '/' and no prefixes are defined in linking config.`);
21
+ }
22
+ path = extractPathFromURL(prefixes, href);
23
+ }
24
+ if (path == null) {
25
+ throw new Error(`Got invalid href '${href}'. It must start with '/' or match one of the prefixes: ${options?.prefixes?.map(prefix => `'${prefix}'`).join(', ')}.`);
26
+ }
27
+ const state = getStateFromPathHelper(path, config);
28
+ return state;
29
+ }
30
+ //# sourceMappingURL=getStateFromHref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getStateFromPath","extractPathFromURL","getStateFromHref","href","options","prefixes","filter","config","getStateFromPathHelper","path","startsWith","Error","length","map","prefix","join","state"],"sourceRoot":"../../src","sources":["getStateFromHref.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,QAA4B,wBAAwB;AAE7E,SAASC,kBAAkB,QAAQ,yBAAsB;AAGzD,OAAO,SAASC,gBAAgBA,CAC9BC,IAAY,EACZC,OAAkD,EACb;EACrC,MAAM;IACJC,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNP,gBAAgB,EAAEQ,sBAAsB,GAAGR;EAC7C,CAAC,GAAGI,OAAO,IAAI,CAAC,CAAC;EAEjB,IAAIK,IAAI;EAER,IAAIN,IAAI,CAACO,UAAU,CAAC,GAAG,CAAC,EAAE;IACxBD,IAAI,GAAGN,IAAI;EACb,CAAC,MAAM,IAAIA,IAAI,EAAE;IACf,IAAIG,MAAM,IAAI,CAACA,MAAM,CAACH,IAAI,CAAC,EAAE;MAC3B,MAAM,IAAIQ,KAAK,CACb,yBAAyBR,IAAI,6DAC/B,CAAC;IACH;IAEA,IAAIE,QAAQ,IAAI,IAAI,IAAIA,QAAQ,CAACO,MAAM,KAAK,CAAC,EAAE;MAC7C,MAAM,IAAID,KAAK,CACb,yBAAyBR,IAAI,6EAC/B,CAAC;IACH;IAEAM,IAAI,GAAGR,kBAAkB,CAACI,QAAQ,EAAEF,IAAI,CAAC;EAC3C;EAEA,IAAIM,IAAI,IAAI,IAAI,EAAE;IAChB,MAAM,IAAIE,KAAK,CACb,qBAAqBR,IAAI,2DAA2DC,OAAO,EAAEC,QAAQ,EAAEQ,GAAG,CAAEC,MAAM,IAAK,IAAIA,MAAM,GAAG,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAClJ,CAAC;EACH;EAEA,MAAMC,KAAK,GAAGR,sBAAsB,CAACC,IAAI,EAAEF,MAAM,CAAC;EAElD,OAAOS,KAAK;AACd","ignoreList":[]}
@@ -4,12 +4,13 @@ export { createStaticNavigation } from "./createStaticNavigation.js";
4
4
  export { Link } from "./Link.js";
5
5
  export { LinkingContext } from "./LinkingContext.js";
6
6
  export { LocaleDirContext } from "./LocaleDirContext.js";
7
+ export { MaterialSymbol } from './native/MaterialSymbol';
8
+ export { SFSymbol } from './native/SFSymbol';
7
9
  export { NavigationContainer } from "./NavigationContainer.js";
8
10
  export { ServerContainer } from "./ServerContainer.js";
9
11
  export { DarkTheme } from "./theming/DarkTheme.js";
10
12
  export { DefaultTheme } from "./theming/DefaultTheme.js";
11
13
  export * from "./types.js";
12
- export { UnhandledLinkingContext as UNSTABLE_UnhandledLinkingContext } from "./UnhandledLinkingContext.js";
13
14
  export { useLinkBuilder } from "./useLinkBuilder.js";
14
15
  export { useLinkProps } from "./useLinkProps.js";
15
16
  export { useLinkTo } from "./useLinkTo.js";
@@ -1 +1 @@
1
- {"version":3,"names":["createStaticNavigation","Link","LinkingContext","LocaleDirContext","NavigationContainer","ServerContainer","DarkTheme","DefaultTheme","UnhandledLinkingContext","UNSTABLE_UnhandledLinkingContext","useLinkBuilder","useLinkProps","useLinkTo","useLocale","useRoutePath","useScrollToTop"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,SAAS,QAAQ,wBAAqB;AAC/C,SAASC,YAAY,QAAQ,2BAAwB;AACrD,cAAc,YAAS;AACvB,SAASC,uBAAuB,IAAIC,gCAAgC,QAAQ,8BAA2B;AACvG,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAAyBC,YAAY,QAAQ,mBAAgB;AAC7D,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,cAAc,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["createStaticNavigation","Link","LinkingContext","LocaleDirContext","MaterialSymbol","SFSymbol","NavigationContainer","ServerContainer","DarkTheme","DefaultTheme","useLinkBuilder","useLinkProps","useLinkTo","useLocale","useRoutePath","useScrollToTop"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SACEC,cAAc,QAET,yBAAyB;AAChC,SAASC,QAAQ,QAA4B,mBAAmB;AAChE,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,SAAS,QAAQ,wBAAqB;AAC/C,SAASC,YAAY,QAAQ,2BAAwB;AACrD,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAAyBC,YAAY,QAAQ,mBAAgB;AAC7D,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,cAAc,wBAAwB","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ import { PixelRatio, processColor } from 'react-native';
4
+ import { MATERIAL_SYMBOL_FONT_HASHES } from "./MaterialSymbolData.js";
5
+ import MaterialSymbolViewNativeComponent from './MaterialSymbolViewNativeComponent';
6
+ import NativeMaterialSymbolModule from "./NativeMaterialSymbolModule.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const imageSourceCache = new Map();
9
+ export function MaterialSymbol({
10
+ name,
11
+ variant = 'outlined',
12
+ size = 24,
13
+ color = 'black',
14
+ style,
15
+ ...rest
16
+ }) {
17
+ return /*#__PURE__*/_jsx(MaterialSymbolViewNativeComponent, {
18
+ name: name,
19
+ variant: variant,
20
+ size: size,
21
+ color: color,
22
+ style: [{
23
+ width: size,
24
+ height: size
25
+ }, style],
26
+ ...rest
27
+ });
28
+ }
29
+ MaterialSymbol.getImageSource = ({
30
+ name,
31
+ variant = 'outlined',
32
+ size = 24,
33
+ color = 'black'
34
+ }) => {
35
+ const hash = MATERIAL_SYMBOL_FONT_HASHES[variant];
36
+ const processedColor = processColor(color);
37
+ if (processedColor == null) {
38
+ throw new Error(`Invalid color value: ${String(color)}`);
39
+ }
40
+ const cacheKey = `${name}:${variant}:${size}:${JSON.stringify(processedColor)}:${hash}`;
41
+ const cached = imageSourceCache.get(cacheKey);
42
+ if (cached !== undefined) {
43
+ return cached;
44
+ }
45
+ const uri = NativeMaterialSymbolModule.getImageSource(name, variant, size, {
46
+ value: processedColor
47
+ }, hash);
48
+ const source = {
49
+ uri,
50
+ scale: PixelRatio.get(),
51
+ width: size,
52
+ height: size
53
+ };
54
+ imageSourceCache.set(cacheKey, source);
55
+ return source;
56
+ };
57
+ //# sourceMappingURL=MaterialSymbol.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PixelRatio","processColor","MATERIAL_SYMBOL_FONT_HASHES","MaterialSymbolViewNativeComponent","NativeMaterialSymbolModule","jsx","_jsx","imageSourceCache","Map","MaterialSymbol","name","variant","size","color","style","rest","width","height","getImageSource","hash","processedColor","Error","String","cacheKey","JSON","stringify","cached","get","undefined","uri","value","source","scale","set"],"sourceRoot":"../../../src","sources":["native/MaterialSymbol.android.tsx"],"mappings":";;AAAA,SAEEA,UAAU,EACVC,YAAY,QAEP,cAAc;AAErB,SAASC,2BAA2B,QAAQ,yBAAsB;AAClE,OAAOC,iCAAiC,MAAM,qCAAqC;AACnF,OAAOC,0BAA0B,MAAM,iCAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKtE,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAA8B,CAAC;AAE/D,OAAO,SAASC,cAAcA,CAAC;EAC7BC,IAAI;EACJC,OAAO,GAAG,UAAU;EACpBC,IAAI,GAAG,EAAE;EACTC,KAAK,GAAG,OAAO;EACfC,KAAK;EACL,GAAGC;AACgB,CAAC,EAAsB;EAC1C,oBACET,IAAA,CAACH,iCAAiC;IAChCO,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,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;AAEAN,cAAc,CAACS,cAAc,GAAG,CAAC;EAC/BR,IAAI;EACJC,OAAO,GAAG,UAAU;EACpBC,IAAI,GAAG,EAAE;EACTC,KAAK,GAAG;AACa,CAAC,KAA0B;EAChD,MAAMM,IAAI,GAAGjB,2BAA2B,CAACS,OAAO,CAAC;EACjD,MAAMS,cAAc,GAAGnB,YAAY,CAACY,KAAK,CAAC;EAE1C,IAAIO,cAAc,IAAI,IAAI,EAAE;IAC1B,MAAM,IAAIC,KAAK,CAAC,wBAAwBC,MAAM,CAACT,KAAK,CAAC,EAAE,CAAC;EAC1D;EAEA,MAAMU,QAAQ,GAAG,GAAGb,IAAI,IAAIC,OAAO,IAAIC,IAAI,IAAIY,IAAI,CAACC,SAAS,CAACL,cAAc,CAAC,IAAID,IAAI,EAAE;EACvF,MAAMO,MAAM,GAAGnB,gBAAgB,CAACoB,GAAG,CAACJ,QAAQ,CAAC;EAE7C,IAAIG,MAAM,KAAKE,SAAS,EAAE;IACxB,OAAOF,MAAM;EACf;EAEA,MAAMG,GAAG,GAAGzB,0BAA0B,CAACc,cAAc,CACnDR,IAAI,EACJC,OAAO,EACPC,IAAI,EACJ;IAAEkB,KAAK,EAAEV;EAAe,CAAC,EACzBD,IACF,CAAC;EAED,MAAMY,MAA2B,GAAG;IAClCF,GAAG;IACHG,KAAK,EAAEhC,UAAU,CAAC2B,GAAG,CAAC,CAAC;IACvBX,KAAK,EAAEJ,IAAI;IACXK,MAAM,EAAEL;EACV,CAAC;EAEDL,gBAAgB,CAAC0B,GAAG,CAACV,QAAQ,EAAEQ,MAAM,CAAC;EAEtC,OAAOA,MAAM;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export function MaterialSymbol(_) {
4
+ throw new Error('MaterialSymbol is only supported on Android.');
5
+ }
6
+ MaterialSymbol.getImageSource = _ => {
7
+ throw new Error('MaterialSymbol.getImageSource is only supported on Android.');
8
+ };
9
+ //# sourceMappingURL=MaterialSymbol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MaterialSymbol","_","Error","getImageSource"],"sourceRoot":"../../../src","sources":["native/MaterialSymbol.tsx"],"mappings":";;AAMA,OAAO,SAASA,cAAcA,CAACC,CAAsB,EAAsB;EACzE,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;AACjE;AAEAF,cAAc,CAACG,cAAc,GAC3BF,CAAwB,IACA;EACxB,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ // Auto-generated by scripts/update-material-symbols.ts
4
+ // Do not edit manually
5
+
6
+ export const MATERIAL_SYMBOL_FONT_HASHES = {
7
+ outlined: 'bc5ec91a',
8
+ rounded: 'eb75c001',
9
+ sharp: '66ecc6b8'
10
+ };
11
+ //# sourceMappingURL=MaterialSymbolData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MATERIAL_SYMBOL_FONT_HASHES","outlined","rounded","sharp"],"sourceRoot":"../../../src","sources":["native/MaterialSymbolData.tsx"],"mappings":";;AAAA;AACA;;AAEA,OAAO,MAAMA,2BAA2B,GAAG;EACzCC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,UAAU;EACnBC,KAAK,EAAE;AACT,CAAU","ignoreList":[]}