@react-navigation/native 8.0.0-alpha.3 → 8.0.0-alpha.30

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 (416) hide show
  1. package/android/build.gradle +80 -6
  2. package/android/src/main/java/org/reactnavigation/MaterialSymbolModule.kt +33 -12
  3. package/android/src/main/java/org/reactnavigation/MaterialSymbolTypeface.kt +81 -8
  4. package/android/src/main/java/org/reactnavigation/MaterialSymbolView.kt +39 -6
  5. package/android/src/main/java/org/reactnavigation/MaterialSymbolViewManager.kt +14 -7
  6. package/android/src/main/java/org/reactnavigation/ReactNavigationPackage.kt +3 -1
  7. package/assets/fonts/MaterialSymbolsOutlined_100.ttf +0 -0
  8. package/assets/fonts/MaterialSymbolsOutlined_200.ttf +0 -0
  9. package/assets/fonts/MaterialSymbolsOutlined_300.ttf +0 -0
  10. package/assets/fonts/MaterialSymbolsOutlined_500.ttf +0 -0
  11. package/assets/fonts/MaterialSymbolsOutlined_600.ttf +0 -0
  12. package/assets/fonts/MaterialSymbolsOutlined_700.ttf +0 -0
  13. package/assets/fonts/MaterialSymbolsRounded.codepoints +4102 -0
  14. package/assets/fonts/MaterialSymbolsRounded_100.ttf +0 -0
  15. package/assets/fonts/MaterialSymbolsRounded_200.ttf +0 -0
  16. package/assets/fonts/MaterialSymbolsRounded_300.ttf +0 -0
  17. package/assets/fonts/MaterialSymbolsRounded_400.ttf +0 -0
  18. package/assets/fonts/MaterialSymbolsRounded_500.ttf +0 -0
  19. package/assets/fonts/MaterialSymbolsRounded_600.ttf +0 -0
  20. package/assets/fonts/MaterialSymbolsRounded_700.ttf +0 -0
  21. package/assets/fonts/MaterialSymbolsSharp.codepoints +4102 -0
  22. package/assets/fonts/MaterialSymbolsSharp_100.ttf +0 -0
  23. package/assets/fonts/MaterialSymbolsSharp_200.ttf +0 -0
  24. package/assets/fonts/MaterialSymbolsSharp_300.ttf +0 -0
  25. package/assets/fonts/MaterialSymbolsSharp_400.ttf +0 -0
  26. package/assets/fonts/MaterialSymbolsSharp_500.ttf +0 -0
  27. package/assets/fonts/MaterialSymbolsSharp_600.ttf +0 -0
  28. package/assets/fonts/MaterialSymbolsSharp_700.ttf +0 -0
  29. package/ios/ReactNavigationCornerInsetView.h +14 -0
  30. package/ios/ReactNavigationCornerInsetView.mm +182 -0
  31. package/ios/ReactNavigationCornerInsetView.swift +193 -0
  32. package/ios/ReactNavigationCornerInsetViewComponentDescriptor.h +23 -0
  33. package/ios/ReactNavigationCornerInsetViewShadowNode.h +27 -0
  34. package/ios/ReactNavigationCornerInsetViewShadowNode.mm +42 -0
  35. package/ios/ReactNavigationCornerInsetViewState.h +19 -0
  36. package/ios/ReactNavigationSFSymbolView.mm +34 -0
  37. package/ios/ReactNavigationSFSymbolView.swift +543 -7
  38. package/lib/module/NavigationContainer.js +16 -11
  39. package/lib/module/NavigationContainer.js.map +1 -1
  40. package/lib/module/__stubs__/createStackNavigator.js +10 -4
  41. package/lib/module/__stubs__/createStackNavigator.js.map +1 -1
  42. package/lib/module/__stubs__/window.js +3 -0
  43. package/lib/module/__stubs__/window.js.map +1 -1
  44. package/lib/module/createMemoryHistory.js +15 -6
  45. package/lib/module/createMemoryHistory.js.map +1 -1
  46. package/lib/module/createStandardNavigationFactories.js +99 -0
  47. package/lib/module/createStandardNavigationFactories.js.map +1 -0
  48. package/lib/module/createStaticNavigation.js +5 -4
  49. package/lib/module/createStaticNavigation.js.map +1 -1
  50. package/lib/module/extractPathFromURL.js +2 -2
  51. package/lib/module/extractPathFromURL.js.map +1 -1
  52. package/lib/module/getStateFromHref.js +2 -2
  53. package/lib/module/getStateFromHref.js.map +1 -1
  54. package/lib/module/index.js +4 -2
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/native/CornerInset.ios.js +66 -0
  57. package/lib/module/native/CornerInset.ios.js.map +1 -0
  58. package/lib/module/native/CornerInset.js +17 -0
  59. package/lib/module/native/CornerInset.js.map +1 -0
  60. package/lib/module/native/MaterialSymbol.android.js +9 -20
  61. package/lib/module/native/MaterialSymbol.android.js.map +1 -1
  62. package/lib/module/native/MaterialSymbolData.js +0 -7
  63. package/lib/module/native/MaterialSymbolData.js.map +1 -1
  64. package/lib/module/native/MaterialSymbolViewNativeComponent.ts +4 -4
  65. package/lib/module/native/NativeMaterialSymbolModule.js.map +1 -1
  66. package/lib/module/native/ReactNavigationCornerInsetViewNativeComponent.ts +32 -0
  67. package/lib/module/native/SFSymbol.ios.js +45 -1
  68. package/lib/module/native/SFSymbol.ios.js.map +1 -1
  69. package/lib/module/native/SFSymbolViewNativeComponent.ts +28 -1
  70. package/lib/module/native/constants.js +14 -0
  71. package/lib/module/native/constants.js.map +1 -0
  72. package/lib/module/server/ServerContext.js.map +1 -0
  73. package/lib/module/server/index.js +21 -0
  74. package/lib/module/server/index.js.map +1 -0
  75. package/lib/module/theming/DarkTheme.js +4 -4
  76. package/lib/module/theming/{DefaultTheme.js → LightTheme.js} +5 -5
  77. package/lib/module/theming/LightTheme.js.map +1 -0
  78. package/lib/module/theming/MaterialFallbackTheme.js +28 -0
  79. package/lib/module/theming/MaterialFallbackTheme.js.map +1 -0
  80. package/lib/module/theming/MaterialTheme.android.js +33 -0
  81. package/lib/module/theming/MaterialTheme.android.js.map +1 -0
  82. package/lib/module/theming/MaterialTheme.js +4 -0
  83. package/lib/module/theming/MaterialTheme.js.map +1 -0
  84. package/lib/module/useBackButton.js.map +1 -1
  85. package/lib/module/useDocumentTitle.js.map +1 -1
  86. package/lib/module/useLinkBuilder.js +8 -7
  87. package/lib/module/useLinkBuilder.js.map +1 -1
  88. package/lib/module/useLinkProps.js +5 -26
  89. package/lib/module/useLinkProps.js.map +1 -1
  90. package/lib/module/useLinkTo.js +1 -1
  91. package/lib/module/useLinkTo.js.map +1 -1
  92. package/lib/module/useLinking.js +81 -11
  93. package/lib/module/useLinking.js.map +1 -1
  94. package/lib/module/useLinking.native.js +25 -8
  95. package/lib/module/useLinking.native.js.map +1 -1
  96. package/lib/module/useLocale.js +1 -1
  97. package/lib/module/useLocale.js.map +1 -1
  98. package/lib/module/useMemoArray.js +25 -0
  99. package/lib/module/useMemoArray.js.map +1 -0
  100. package/lib/module/useRoutePath.js +1 -1
  101. package/lib/module/useRoutePath.js.map +1 -1
  102. package/lib/module/useScrollToTop.js +3 -2
  103. package/lib/module/useScrollToTop.js.map +1 -1
  104. package/lib/typescript/src/Link.d.ts +1 -1
  105. package/lib/typescript/src/Link.d.ts.map +1 -1
  106. package/lib/typescript/src/LinkingContext.d.ts +1 -1
  107. package/lib/typescript/src/LinkingContext.d.ts.map +1 -1
  108. package/lib/typescript/src/LocaleDirContext.d.ts +1 -1
  109. package/lib/typescript/src/LocaleDirContext.d.ts.map +1 -1
  110. package/lib/typescript/src/NavigationContainer.d.ts +13 -6
  111. package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
  112. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts +6 -9
  113. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -1
  114. package/lib/typescript/src/__stubs__/window.d.ts.map +1 -1
  115. package/lib/typescript/src/createMemoryHistory.d.ts +1 -1
  116. package/lib/typescript/src/createMemoryHistory.d.ts.map +1 -1
  117. package/lib/typescript/src/createStandardNavigationFactories.d.ts +31 -0
  118. package/lib/typescript/src/createStandardNavigationFactories.d.ts.map +1 -0
  119. package/lib/typescript/src/createStaticNavigation.d.ts +7 -7
  120. package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
  121. package/lib/typescript/src/extractPathFromURL.d.ts +1 -1
  122. package/lib/typescript/src/extractPathFromURL.d.ts.map +1 -1
  123. package/lib/typescript/src/getStateFromHref.d.ts +3 -3
  124. package/lib/typescript/src/getStateFromHref.d.ts.map +1 -1
  125. package/lib/typescript/src/index.d.ts +17 -15
  126. package/lib/typescript/src/index.d.ts.map +1 -1
  127. package/lib/typescript/src/native/CornerInset.d.ts +28 -0
  128. package/lib/typescript/src/native/CornerInset.d.ts.map +1 -0
  129. package/lib/typescript/src/native/CornerInset.ios.d.ts +8 -0
  130. package/lib/typescript/src/native/CornerInset.ios.d.ts.map +1 -0
  131. package/lib/typescript/src/native/MaterialSymbol.android.d.ts +3 -3
  132. package/lib/typescript/src/native/MaterialSymbol.android.d.ts.map +1 -1
  133. package/lib/typescript/src/native/MaterialSymbol.d.ts +1 -1
  134. package/lib/typescript/src/native/MaterialSymbol.d.ts.map +1 -1
  135. package/lib/typescript/src/native/MaterialSymbolData.d.ts +0 -3
  136. package/lib/typescript/src/native/MaterialSymbolData.d.ts.map +1 -1
  137. package/lib/typescript/src/native/MaterialSymbolViewNativeComponent.d.ts +3 -3
  138. package/lib/typescript/src/native/MaterialSymbolViewNativeComponent.d.ts.map +1 -1
  139. package/lib/typescript/src/native/NativeMaterialSymbolModule.d.ts +1 -1
  140. package/lib/typescript/src/native/NativeMaterialSymbolModule.d.ts.map +1 -1
  141. package/lib/typescript/src/native/ReactNavigationCornerInsetViewNativeComponent.d.ts +14 -0
  142. package/lib/typescript/src/native/ReactNavigationCornerInsetViewNativeComponent.d.ts.map +1 -0
  143. package/lib/typescript/src/native/SFSymbol.d.ts +1 -1
  144. package/lib/typescript/src/native/SFSymbol.d.ts.map +1 -1
  145. package/lib/typescript/src/native/SFSymbol.ios.d.ts +2 -2
  146. package/lib/typescript/src/native/SFSymbol.ios.d.ts.map +1 -1
  147. package/lib/typescript/src/native/SFSymbolViewNativeComponent.d.ts +28 -1
  148. package/lib/typescript/src/native/SFSymbolViewNativeComponent.d.ts.map +1 -1
  149. package/lib/typescript/src/native/constants.d.ts +12 -0
  150. package/lib/typescript/src/native/constants.d.ts.map +1 -0
  151. package/lib/typescript/src/native/types.d.ts +345 -5
  152. package/lib/typescript/src/native/types.d.ts.map +1 -1
  153. package/lib/typescript/src/{ServerContext.d.ts → server/ServerContext.d.ts} +1 -4
  154. package/lib/typescript/src/server/ServerContext.d.ts.map +1 -0
  155. package/lib/typescript/src/server/index.d.ts +10 -0
  156. package/lib/typescript/src/server/index.d.ts.map +1 -0
  157. package/lib/typescript/src/theming/DarkTheme.d.ts +4 -4
  158. package/lib/typescript/src/theming/{DefaultTheme.d.ts → LightTheme.d.ts} +5 -5
  159. package/lib/typescript/src/theming/LightTheme.d.ts.map +1 -0
  160. package/lib/typescript/src/theming/MaterialFallbackTheme.d.ts +127 -0
  161. package/lib/typescript/src/theming/MaterialFallbackTheme.d.ts.map +1 -0
  162. package/lib/typescript/src/theming/MaterialTheme.android.d.ts +251 -0
  163. package/lib/typescript/src/theming/MaterialTheme.android.d.ts.map +1 -0
  164. package/lib/typescript/src/theming/MaterialTheme.d.ts +2 -0
  165. package/lib/typescript/src/theming/MaterialTheme.d.ts.map +1 -0
  166. package/lib/typescript/src/types.d.ts +13 -16
  167. package/lib/typescript/src/types.d.ts.map +1 -1
  168. package/lib/typescript/src/useBackButton.d.ts +1 -1
  169. package/lib/typescript/src/useBackButton.d.ts.map +1 -1
  170. package/lib/typescript/src/useDocumentTitle.d.ts +2 -2
  171. package/lib/typescript/src/useDocumentTitle.d.ts.map +1 -1
  172. package/lib/typescript/src/useLinkBuilder.d.ts +54 -66
  173. package/lib/typescript/src/useLinkBuilder.d.ts.map +1 -1
  174. package/lib/typescript/src/useLinkProps.d.ts.map +1 -1
  175. package/lib/typescript/src/useLinking.d.ts +17 -19
  176. package/lib/typescript/src/useLinking.d.ts.map +1 -1
  177. package/lib/typescript/src/useLinking.native.d.ts +31 -33
  178. package/lib/typescript/src/useLinking.native.d.ts.map +1 -1
  179. package/lib/typescript/src/useLocale.d.ts +1 -1
  180. package/lib/typescript/src/useMemoArray.d.ts +2 -0
  181. package/lib/typescript/src/useMemoArray.d.ts.map +1 -0
  182. package/lib/typescript/src/useScrollToTop.d.ts.map +1 -1
  183. package/package.json +41 -22
  184. package/src/NavigationContainer.tsx +41 -32
  185. package/src/__stubs__/createStackNavigator.tsx +19 -17
  186. package/src/__stubs__/window.tsx +5 -0
  187. package/src/createMemoryHistory.tsx +19 -6
  188. package/src/createStandardNavigationFactories.tsx +218 -0
  189. package/src/createStaticNavigation.tsx +13 -17
  190. package/src/extractPathFromURL.tsx +5 -3
  191. package/src/getStateFromHref.tsx +8 -3
  192. package/src/index.tsx +11 -2
  193. package/src/native/CornerInset.ios.tsx +85 -0
  194. package/src/native/CornerInset.tsx +40 -0
  195. package/src/native/MaterialSymbol.android.tsx +9 -28
  196. package/src/native/MaterialSymbolData.tsx +0 -4
  197. package/src/native/MaterialSymbolViewNativeComponent.ts +4 -4
  198. package/src/native/NativeMaterialSymbolModule.ts +3 -4
  199. package/src/native/ReactNavigationCornerInsetViewNativeComponent.ts +32 -0
  200. package/src/native/SFSymbol.ios.tsx +84 -2
  201. package/src/native/SFSymbolViewNativeComponent.ts +28 -1
  202. package/src/native/constants.tsx +11 -0
  203. package/src/native/types.tsx +433 -4
  204. package/src/{ServerContext.tsx → server/ServerContext.tsx} +1 -4
  205. package/src/server/index.tsx +19 -0
  206. package/src/theming/DarkTheme.tsx +4 -4
  207. package/src/theming/{DefaultTheme.tsx → LightTheme.tsx} +4 -4
  208. package/src/theming/MaterialFallbackTheme.tsx +29 -0
  209. package/src/theming/MaterialTheme.android.tsx +45 -0
  210. package/src/theming/MaterialTheme.tsx +4 -0
  211. package/src/types.tsx +38 -40
  212. package/src/useBackButton.tsx +2 -2
  213. package/src/useDocumentTitle.tsx +2 -2
  214. package/src/useLinkBuilder.tsx +15 -7
  215. package/src/useLinkProps.tsx +8 -41
  216. package/src/useLinkTo.tsx +1 -1
  217. package/src/useLinking.native.tsx +58 -30
  218. package/src/useLinking.tsx +132 -22
  219. package/src/useLocale.tsx +1 -1
  220. package/src/useMemoArray.tsx +41 -0
  221. package/src/useRoutePath.tsx +1 -1
  222. package/src/useScrollToTop.tsx +3 -2
  223. package/android/build/.transforms/586a73aab4c351d3f13dc604ca6964e8/results.bin +0 -1
  224. package/android/build/.transforms/586a73aab4c351d3f13dc604ca6964e8/transformed/classes/classes_dex/classes.dex +0 -0
  225. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/results.bin +0 -1
  226. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.dex +0 -0
  227. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.dex +0 -0
  228. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.dex +0 -0
  229. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.dex +0 -0
  230. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.dex +0 -0
  231. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/BuildConfig.dex +0 -0
  232. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$Companion.dex +0 -0
  233. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$WhenMappings.dex +0 -0
  234. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule$getImageSource$1.dex +0 -0
  235. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolModule.dex +0 -0
  236. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolTypeface.dex +0 -0
  237. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolView.dex +0 -0
  238. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolViewManager$Companion.dex +0 -0
  239. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/MaterialSymbolViewManager.dex +0 -0
  240. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/org/reactnavigation/ReactNavigationPackage.dex +0 -0
  241. package/android/build/.transforms/fb9c4b42fa16b6541a5819cb4bf06272/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  242. package/android/build/generated/source/buildConfig/debug/org/reactnavigation/BuildConfig.java +0 -10
  243. package/android/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.java +0 -38
  244. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.java +0 -45
  245. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.java +0 -22
  246. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.java +0 -39
  247. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.java +0 -20
  248. package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
  249. package/android/build/generated/source/codegen/jni/ReactNavigationSpec-generated.cpp +0 -32
  250. package/android/build/generated/source/codegen/jni/ReactNavigationSpec.h +0 -31
  251. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ComponentDescriptors.cpp +0 -23
  252. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ComponentDescriptors.h +0 -25
  253. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/EventEmitters.cpp +0 -17
  254. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/EventEmitters.h +0 -30
  255. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/Props.cpp +0 -106
  256. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/Props.h +0 -113
  257. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ReactNavigationSpecJSI-generated.cpp +0 -32
  258. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ReactNavigationSpecJSI.h +0 -71
  259. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ShadowNodes.cpp +0 -18
  260. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/ShadowNodes.h +0 -43
  261. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/States.cpp +0 -16
  262. package/android/build/generated/source/codegen/jni/react/renderer/components/ReactNavigationSpec/States.h +0 -22
  263. package/android/build/generated/source/codegen/schema.json +0 -1
  264. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
  265. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  266. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  267. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  268. package/android/build/intermediates/assets/debug/mergeDebugAssets/fonts/MaterialSymbolsOutlined_400.ttf +0 -0
  269. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  270. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  271. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  272. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  273. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  274. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +0 -2
  275. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  276. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  277. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-navigation_native_debug.kotlin_module +0 -0
  278. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.class +0 -0
  279. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.class +0 -0
  280. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.class +0 -0
  281. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.class +0 -0
  282. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.class +0 -0
  283. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/reactnavigation/BuildConfig.class +0 -0
  284. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  285. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
  286. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
  287. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  288. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  289. package/android/build/intermediates/react-navigation/fonts/MaterialSymbolsOutlined_400.ttf +0 -0
  290. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-navigation_native_debug.kotlin_module +0 -0
  291. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/fbreact/specs/NativeMaterialSymbolModuleSpec.class +0 -0
  292. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerDelegate.class +0 -0
  293. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationMaterialSymbolViewManagerInterface.class +0 -0
  294. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerDelegate.class +0 -0
  295. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/ReactNavigationSFSymbolViewManagerInterface.class +0 -0
  296. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/BuildConfig.class +0 -0
  297. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$Companion.class +0 -0
  298. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$WhenMappings.class +0 -0
  299. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule$getImageSource$1.class +0 -0
  300. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolModule.class +0 -0
  301. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolTypeface.class +0 -0
  302. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolView.class +0 -0
  303. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolViewManager$Companion.class +0 -0
  304. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/MaterialSymbolViewManager.class +0 -0
  305. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/org/reactnavigation/ReactNavigationPackage.class +0 -0
  306. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  307. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  349. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  350. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  351. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  352. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  353. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  354. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  355. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  356. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  357. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  358. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  359. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  360. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  361. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  362. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  363. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  364. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  365. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  366. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  367. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  368. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  369. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  370. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  371. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  372. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  373. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  374. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  375. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  376. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  377. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  378. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  379. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  380. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  381. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  382. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  383. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  384. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  385. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  386. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  387. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  388. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  389. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  390. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  391. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  392. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  393. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  394. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  395. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -16
  396. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  397. package/android/build/tmp/kotlin-classes/debug/META-INF/react-navigation_native_debug.kotlin_module +0 -0
  398. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$Companion.class +0 -0
  399. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$WhenMappings.class +0 -0
  400. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule$getImageSource$1.class +0 -0
  401. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolModule.class +0 -0
  402. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolTypeface.class +0 -0
  403. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolView.class +0 -0
  404. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolViewManager$Companion.class +0 -0
  405. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/MaterialSymbolViewManager.class +0 -0
  406. package/android/build/tmp/kotlin-classes/debug/org/reactnavigation/ReactNavigationPackage.class +0 -0
  407. package/lib/module/ServerContainer.js +0 -55
  408. package/lib/module/ServerContainer.js.map +0 -1
  409. package/lib/module/ServerContext.js.map +0 -1
  410. package/lib/module/theming/DefaultTheme.js.map +0 -1
  411. package/lib/typescript/src/ServerContainer.d.ts +0 -14
  412. package/lib/typescript/src/ServerContainer.d.ts.map +0 -1
  413. package/lib/typescript/src/ServerContext.d.ts.map +0 -1
  414. package/lib/typescript/src/theming/DefaultTheme.d.ts.map +0 -1
  415. package/src/ServerContainer.tsx +0 -57
  416. /package/lib/module/{ServerContext.js → server/ServerContext.js} +0 -0
@@ -0,0 +1,218 @@
1
+ import {
2
+ CommonActions,
3
+ createNavigatorFactory,
4
+ createScreenFactory,
5
+ type DefaultRouterOptions,
6
+ type EventMapBase,
7
+ type NavigationAction,
8
+ type NavigatorTypeBagBase,
9
+ type ParamListBase,
10
+ type RouterFactory,
11
+ useNavigationBuilder,
12
+ } from '@react-navigation/core';
13
+ import * as React from 'react';
14
+ import type {
15
+ createStandardNavigator,
16
+ NavigatorArgs as StandardNavigationArgs,
17
+ } from 'standard-navigation';
18
+
19
+ import { useBuildHref } from './useLinkBuilder';
20
+ import { useMemoArray } from './useMemoArray';
21
+
22
+ type StandardEventMap<EventMap extends EventMapBase> = {
23
+ [EventName in keyof EventMap]: {
24
+ data: EventMap[EventName] extends { data?: infer Data }
25
+ ? Data extends object | undefined
26
+ ? Data
27
+ : object | undefined
28
+ : undefined;
29
+ canPreventDefault: EventMap[EventName] extends { canPreventDefault: true }
30
+ ? true
31
+ : false;
32
+ };
33
+ };
34
+
35
+ export interface StandardNavigationTypeBagBase extends NavigatorTypeBagBase {
36
+ RouterOptions: DefaultRouterOptions;
37
+ Navigator: React.ComponentType<{}>;
38
+ }
39
+
40
+ type StandardNavigationTypeBagFor<
41
+ TypeBag extends StandardNavigationTypeBagBase,
42
+ ParamList extends ParamListBase,
43
+ > = TypeBag & { ParamList: ParamList };
44
+
45
+ type StandardNavigationListFor<
46
+ TypeBag extends StandardNavigationTypeBagBase,
47
+ ParamList extends ParamListBase,
48
+ > = StandardNavigationTypeBagFor<TypeBag, ParamList>['NavigationList'];
49
+
50
+ type StandardNavigationMapperProps<
51
+ TypeBag extends StandardNavigationTypeBagBase,
52
+ > = {
53
+ state: StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'];
54
+ navigation: StandardNavigationListFor<
55
+ TypeBag,
56
+ ParamListBase
57
+ >[keyof StandardNavigationListFor<TypeBag, ParamListBase>];
58
+ };
59
+
60
+ export function createStandardNavigationFactories<
61
+ TypeBag extends StandardNavigationTypeBagBase,
62
+ NavigatorProps extends object = {},
63
+ >(
64
+ navigator: ReturnType<
65
+ typeof createStandardNavigator<
66
+ TypeBag['ScreenOptions'],
67
+ StandardEventMap<TypeBag['EventMap']>,
68
+ NavigatorProps
69
+ >
70
+ >,
71
+ router: RouterFactory<
72
+ StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'],
73
+ NavigationAction,
74
+ TypeBag['RouterOptions']
75
+ >,
76
+ mapper?: (
77
+ props: StandardNavigationMapperProps<TypeBag>
78
+ ) => Partial<NavigatorProps>
79
+ ) {
80
+ const { type, version, NavigatorContent } = navigator;
81
+
82
+ if (type !== 'standard') {
83
+ throw new Error(
84
+ `createStandardNavigationFactories only works with standard navigator objects, but got navigator of ${typeof type === 'string' ? `type "${type}".` : 'unknown type.'}`
85
+ );
86
+ }
87
+
88
+ if (version !== 1) {
89
+ throw new Error(
90
+ `createStandardNavigationFactories only works with version 1 of standard navigator objects, but got version ${version}.`
91
+ );
92
+ }
93
+
94
+ type StandardArgs = StandardNavigationArgs<
95
+ TypeBag['ScreenOptions'],
96
+ StandardEventMap<TypeBag['EventMap']>
97
+ >;
98
+
99
+ function StandardNavigationNavigator(props: any) {
100
+ const builder = useNavigationBuilder<
101
+ TypeBag['State'],
102
+ TypeBag['RouterOptions'],
103
+ TypeBag['ActionHelpers'],
104
+ TypeBag['ScreenOptions'],
105
+ TypeBag['EventMap']
106
+ >(router, props);
107
+
108
+ const buildHref = useBuildHref();
109
+
110
+ const routes = useMemoArray(
111
+ builder.state.routes.map((route) => {
112
+ const href = buildHref(route.name, route.params);
113
+
114
+ return [
115
+ {
116
+ key: route.key,
117
+ name: route.name,
118
+ params: route.params,
119
+ href,
120
+ },
121
+ [route.key, route.name, route.params, href],
122
+ ];
123
+ })
124
+ );
125
+
126
+ const state = React.useMemo(
127
+ (): StandardArgs['state'] => ({
128
+ index: builder.state.index,
129
+ routes,
130
+ }),
131
+ [builder.state.index, routes]
132
+ );
133
+
134
+ const descriptors: StandardArgs['descriptors'] = {};
135
+
136
+ for (const route of state.routes) {
137
+ const descriptor = builder.descriptors[route.key];
138
+
139
+ if (descriptor == null) {
140
+ throw new Error(
141
+ `No descriptor found for route "${route.name}" (${route.key}).`
142
+ );
143
+ }
144
+
145
+ descriptors[route.key] = {
146
+ options: descriptor.options,
147
+ render: descriptor.render,
148
+ };
149
+ }
150
+
151
+ const actions = React.useMemo<StandardArgs['actions']>(
152
+ () => ({
153
+ navigate(name, params) {
154
+ builder.navigation.dispatch({
155
+ ...CommonActions.navigate(name, params),
156
+ target: builder.state.key,
157
+ });
158
+ },
159
+ back() {
160
+ builder.navigation.goBack();
161
+ },
162
+ }),
163
+ [builder.navigation, builder.state.key]
164
+ );
165
+
166
+ const emitter = React.useMemo<StandardArgs['emitter']>(
167
+ () => ({
168
+ // @ts-expect-error - they are compatible
169
+ emit: builder.navigation.emit,
170
+ }),
171
+ [builder.navigation]
172
+ );
173
+
174
+ const mapped = mapper?.({
175
+ state: builder.state as TypeBag['State'],
176
+ navigation: builder.navigation as never,
177
+ });
178
+
179
+ // Omit props used by useNavigationBuilder and routers internally
180
+ const {
181
+ /* eslint-disable @typescript-eslint/no-unused-vars */
182
+ children,
183
+ initialRouteName,
184
+ layout,
185
+ routeNamesChangeBehavior,
186
+ router: routerOverride,
187
+ screenLayout,
188
+ screenListeners,
189
+ screenOptions,
190
+ /* eslint-enable @typescript-eslint/no-unused-vars */
191
+ ...rest
192
+ } = props;
193
+
194
+ return (
195
+ <builder.NavigationContent>
196
+ <NavigatorContent
197
+ {...(rest as NavigatorProps)}
198
+ {...mapped}
199
+ state={state}
200
+ descriptors={descriptors}
201
+ actions={actions}
202
+ emitter={emitter}
203
+ />
204
+ </builder.NavigationContent>
205
+ );
206
+ }
207
+
208
+ const createNavigator = createNavigatorFactory<TypeBag>(
209
+ StandardNavigationNavigator
210
+ );
211
+
212
+ const createScreen = createScreenFactory<TypeBag>();
213
+
214
+ return {
215
+ createNavigator,
216
+ createScreen,
217
+ };
218
+ }
@@ -1,8 +1,6 @@
1
1
  import {
2
- createComponentForStaticNavigation,
3
2
  createPathConfigForStaticNavigation,
4
- type NavigationContainerRef,
5
- type ParamListBase,
3
+ type RootParamList,
6
4
  type StaticNavigation,
7
5
  } from '@react-navigation/core';
8
6
  import * as React from 'react';
@@ -10,14 +8,14 @@ import * as React from 'react';
10
8
  import { NavigationContainer } from './NavigationContainer';
11
9
  import type { LinkingOptions } from './types';
12
10
 
13
- type Props = Omit<
14
- React.ComponentProps<typeof NavigationContainer>,
11
+ type Props<ParamList extends {}> = Omit<
12
+ React.ComponentProps<typeof NavigationContainer<ParamList>>,
15
13
  'linking' | 'children'
16
14
  > & {
17
15
  /**
18
16
  * Options for deep linking.
19
17
  */
20
- linking?: Omit<LinkingOptions<ParamListBase>, 'config' | 'enabled'> & {
18
+ linking?: Omit<LinkingOptions<ParamList>, 'config' | 'enabled'> & {
21
19
  /**
22
20
  * Whether deep link handling should be enabled.
23
21
  * Defaults to `auto`.
@@ -30,10 +28,7 @@ type Props = Omit<
30
28
  /**
31
29
  * Additional configuration
32
30
  */
33
- config?: Omit<
34
- NonNullable<LinkingOptions<ParamListBase>['config']>,
35
- 'screens'
36
- >;
31
+ config?: Omit<NonNullable<LinkingOptions<ParamList>['config']>, 'screens'>;
37
32
  };
38
33
  };
39
34
 
@@ -44,13 +39,14 @@ type Props = Omit<
44
39
  * @param tree Static navigation config.
45
40
  * @returns Navigation component to use in your app.
46
41
  */
47
- export function createStaticNavigation(tree: StaticNavigation<any, any, any>) {
48
- const Component = createComponentForStaticNavigation(tree, 'RootNavigator');
42
+ export function createStaticNavigation(tree: StaticNavigation<any>) {
43
+ const Component = tree.getComponent();
49
44
 
50
- function Navigation(
51
- { linking, ...rest }: Props,
52
- ref: React.Ref<NavigationContainerRef<ParamListBase>>
53
- ) {
45
+ function Navigation<ParamList extends {} = RootParamList>({
46
+ linking,
47
+ ref,
48
+ ...rest
49
+ }: Props<ParamList>) {
54
50
  const linkingConfig = React.useMemo(() => {
55
51
  const screens = createPathConfigForStaticNavigation(
56
52
  tree,
@@ -101,5 +97,5 @@ export function createStaticNavigation(tree: StaticNavigation<any, any, any>) {
101
97
  );
102
98
  }
103
99
 
104
- return React.forwardRef(Navigation);
100
+ return Navigation;
105
101
  }
@@ -18,12 +18,14 @@ export function extractPathFromURL(prefixes: LinkingPrefix[], url: string) {
18
18
  prefixRegex = new RegExp(
19
19
  `^${escapeStringRegexp(protocol)}(/)*${host
20
20
  .split('.')
21
- .map((it) => (it === '*' ? '[^/]+' : escapeStringRegexp(it)))
22
- .join('\\.')}`
21
+ .map((it) => (it === '*' ? '[^/?#]+' : escapeStringRegexp(it)))
22
+ .join('\\.')}${
23
+ host === '' || host.endsWith('/') ? '' : '(?=$|[/?#])'
24
+ }`
23
25
  );
24
26
  }
25
27
 
26
- const [originAndPath, ...searchParams] = url.split('?');
28
+ const [originAndPath = '', ...searchParams] = url.split('?');
27
29
 
28
30
  if (prefixRegex.test(originAndPath)) {
29
31
  const result = originAndPath
@@ -1,11 +1,16 @@
1
- import { getStateFromPath, type ParamListBase } from '@react-navigation/core';
1
+ import {
2
+ getStateFromPath,
3
+ type NavigationState,
4
+ type ParamListBase,
5
+ } from '@react-navigation/core';
2
6
 
3
7
  import { extractPathFromURL } from './extractPathFromURL';
4
8
  import type { LinkingOptions } from './types';
5
9
 
6
10
  export function getStateFromHref(
7
11
  href: string,
8
- options: LinkingOptions<ParamListBase> | undefined
12
+ options: LinkingOptions<ParamListBase> | undefined,
13
+ previous: NavigationState | undefined
9
14
  ): ReturnType<typeof getStateFromPath> {
10
15
  const {
11
16
  prefixes,
@@ -40,7 +45,7 @@ export function getStateFromHref(
40
45
  );
41
46
  }
42
47
 
43
- const state = getStateFromPathHelper(path, config);
48
+ const state = getStateFromPathHelper(path, config, previous);
44
49
 
45
50
  return state;
46
51
  }
package/src/index.tsx CHANGED
@@ -1,16 +1,25 @@
1
+ export {
2
+ createStandardNavigationFactories,
3
+ type StandardNavigationTypeBagBase,
4
+ } from './createStandardNavigationFactories';
1
5
  export { createStaticNavigation } from './createStaticNavigation';
2
6
  export { Link } from './Link';
3
7
  export { LinkingContext } from './LinkingContext';
4
8
  export { LocaleDirContext } from './LocaleDirContext';
9
+ export {
10
+ type CornerInsetProps,
11
+ type CornerInsetRef,
12
+ CornerInset as UNSTABLE_CornerInset,
13
+ } from './native/CornerInset';
5
14
  export {
6
15
  MaterialSymbol,
7
16
  type MaterialSymbolProps,
8
17
  } from './native/MaterialSymbol';
9
18
  export { SFSymbol, type SFSymbolProps } from './native/SFSymbol';
10
19
  export { NavigationContainer } from './NavigationContainer';
11
- export { ServerContainer } from './ServerContainer';
12
20
  export { DarkTheme } from './theming/DarkTheme';
13
- export { DefaultTheme } from './theming/DefaultTheme';
21
+ export { LightTheme as DefaultTheme } from './theming/LightTheme';
22
+ export { MaterialDarkTheme, MaterialLightTheme } from './theming/MaterialTheme';
14
23
  export * from './types';
15
24
  export { useLinkBuilder } from './useLinkBuilder';
16
25
  export { type LinkProps, useLinkProps } from './useLinkProps';
@@ -0,0 +1,85 @@
1
+ import { NavigationContainerRefContext } from '@react-navigation/core';
2
+ import * as React from 'react';
3
+ import { Dimensions } from 'react-native';
4
+
5
+ // eslint-disable-next-line import-x/extensions
6
+ import type { CornerInsetProps, CornerInsetRef } from './CornerInset.tsx';
7
+ import ReactNavigationCornerInsetViewNativeComponent, {
8
+ Commands,
9
+ } from './ReactNavigationCornerInsetViewNativeComponent';
10
+
11
+ type Props = CornerInsetProps & {
12
+ ref?: React.Ref<CornerInsetRef>;
13
+ };
14
+
15
+ export function CornerInset({ ref, ...rest }: Props) {
16
+ const root = React.use(NavigationContainerRefContext);
17
+
18
+ const nativeRef =
19
+ React.useRef<
20
+ React.ElementRef<typeof ReactNavigationCornerInsetViewNativeComponent>
21
+ >(null);
22
+
23
+ const relayout = React.useCallback(() => {
24
+ if (nativeRef.current) {
25
+ Commands.relayout(nativeRef.current);
26
+ }
27
+ }, []);
28
+
29
+ React.useEffect(() => {
30
+ if (root == null) {
31
+ return;
32
+ }
33
+
34
+ let animationFrameHandle: number | null = null;
35
+
36
+ // We freeze the corner insets after initial measurements
37
+ // This is to avoid the insets getting out of sync during transitions
38
+ // We trigger a relayout explicitly on window resize and transition end
39
+ const unsubscribeWindowResize = Dimensions.addEventListener(
40
+ 'change',
41
+ () => {
42
+ relayout();
43
+
44
+ if (animationFrameHandle) {
45
+ cancelAnimationFrame(animationFrameHandle);
46
+ }
47
+
48
+ // When window is unmaximized, calling relayout immediately doesn't work
49
+ // So we delay it to the next frame as a workaround
50
+ animationFrameHandle = requestAnimationFrame(() => {
51
+ animationFrameHandle = requestAnimationFrame(() => {
52
+ relayout();
53
+ });
54
+ });
55
+ }
56
+ );
57
+
58
+ const unsubscribeTransition = root.addListener('__unsafe_event__', (e) => {
59
+ if (e.data.type === 'transitionEnd') {
60
+ relayout();
61
+ }
62
+ });
63
+
64
+ return () => {
65
+ if (animationFrameHandle) {
66
+ cancelAnimationFrame(animationFrameHandle);
67
+ }
68
+
69
+ unsubscribeWindowResize.remove();
70
+ unsubscribeTransition();
71
+ };
72
+ }, [root, relayout]);
73
+
74
+ React.useImperativeHandle(
75
+ ref,
76
+ () => ({
77
+ relayout,
78
+ }),
79
+ [relayout]
80
+ );
81
+
82
+ return (
83
+ <ReactNavigationCornerInsetViewNativeComponent {...rest} ref={nativeRef} />
84
+ );
85
+ }
@@ -0,0 +1,40 @@
1
+ import * as React from 'react';
2
+ import { View } from 'react-native';
3
+
4
+ export type CornerInsetProps = {
5
+ /**
6
+ * The direction of the content that should be inset.
7
+ */
8
+ direction: 'vertical' | 'horizontal';
9
+ /**
10
+ * The edge where the inset should be applied.
11
+ */
12
+ edge: 'top' | 'right' | 'bottom' | 'left';
13
+ /**
14
+ * Whether to collapse to 0 when corner inset matches the baseline inset.
15
+ * e.g. it will be 0 for corners without traffic lights on iPadOS.
16
+ *
17
+ * @default true
18
+ */
19
+ adaptive?: boolean;
20
+ } & React.ComponentProps<typeof View>;
21
+
22
+ export type CornerInsetRef = {
23
+ relayout(): void;
24
+ };
25
+
26
+ type Props = CornerInsetProps & {
27
+ ref?: React.Ref<CornerInsetRef>;
28
+ };
29
+
30
+ export function CornerInset({ ref, ...rest }: Props) {
31
+ React.useImperativeHandle(
32
+ ref,
33
+ () => ({
34
+ relayout() {},
35
+ }),
36
+ []
37
+ );
38
+
39
+ return <View {...rest} />;
40
+ }
@@ -5,30 +5,25 @@ import {
5
5
  type ViewProps,
6
6
  } from 'react-native';
7
7
 
8
- import { MATERIAL_SYMBOL_FONT_HASHES } from './MaterialSymbolData';
8
+ import { FONT_WEIGHTS } from './constants';
9
9
  import MaterialSymbolViewNativeComponent from './MaterialSymbolViewNativeComponent';
10
10
  import NativeMaterialSymbolModule from './NativeMaterialSymbolModule';
11
11
  import type { MaterialSymbolOptions } from './types';
12
12
 
13
13
  export type MaterialSymbolProps = MaterialSymbolOptions & ViewProps;
14
14
 
15
- const imageSourceCache = new Map<string, ImageSourcePropType>();
16
-
17
15
  export function MaterialSymbol({
18
16
  name,
17
+ weight,
19
18
  size = 24,
20
- color = 'black',
19
+ color,
21
20
  style,
22
21
  ...rest
23
22
  }: MaterialSymbolProps): React.ReactElement {
24
- const variant = 'outlined';
25
- const weight = 400;
26
-
27
23
  return (
28
24
  <MaterialSymbolViewNativeComponent
29
25
  name={name}
30
- variant={variant}
31
- weight={weight}
26
+ weight={typeof weight === 'string' ? FONT_WEIGHTS[weight] : (weight ?? 0)}
32
27
  size={size}
33
28
  color={color}
34
29
  style={[
@@ -45,45 +40,31 @@ export function MaterialSymbol({
45
40
 
46
41
  MaterialSymbol.getImageSource = ({
47
42
  name,
43
+ variant,
44
+ weight,
48
45
  size = 24,
49
46
  color = 'black',
50
47
  }: MaterialSymbolOptions): ImageSourcePropType => {
51
- const variant = 'outlined';
52
- const weight = 400;
53
-
54
- const hash = MATERIAL_SYMBOL_FONT_HASHES[`${variant}-${weight}`];
55
48
  const processedColor = processColor(color);
56
49
 
57
50
  if (processedColor == null) {
58
51
  throw new Error(`Invalid color value: ${String(color)}`);
59
52
  }
60
53
 
61
- const scale = PixelRatio.get();
62
-
63
- const cacheKey = `${name}:${variant}:${weight}:${size}:${scale}:${JSON.stringify(processedColor)}:${hash}`;
64
- const cached = imageSourceCache.get(cacheKey);
65
-
66
- if (cached !== undefined) {
67
- return cached;
68
- }
69
-
70
54
  const uri = NativeMaterialSymbolModule.getImageSource(
71
55
  name,
72
56
  variant,
57
+ typeof weight === 'string' ? FONT_WEIGHTS[weight] : weight,
73
58
  size,
74
- weight,
75
- { value: processedColor },
76
- hash
59
+ { value: processedColor }
77
60
  );
78
61
 
79
62
  const source: ImageSourcePropType = {
80
63
  uri,
81
- scale,
64
+ scale: PixelRatio.get(),
82
65
  width: size,
83
66
  height: size,
84
67
  };
85
68
 
86
- imageSourceCache.set(cacheKey, source);
87
-
88
69
  return source;
89
70
  };
@@ -1,10 +1,6 @@
1
1
  // Auto-generated by scripts/update-material-symbols.ts
2
2
  // Do not edit manually
3
3
 
4
- export const MATERIAL_SYMBOL_FONT_HASHES = {
5
- 'outlined-400': 'ec67dff9',
6
- } as const;
7
-
8
4
  export type MaterialSymbolName =
9
5
  | '10k'
10
6
  | '10mp'
@@ -9,13 +9,13 @@ import {
9
9
 
10
10
  export interface NativeProps extends ViewProps {
11
11
  name: string;
12
- variant: string;
12
+ variant?: string;
13
13
  weight?: CodegenTypes.WithDefault<
14
- 100 | 200 | 300 | 400 | 500 | 600 | 700,
15
- 400
14
+ 0 | 100 | 200 | 300 | 400 | 500 | 600 | 700,
15
+ 0
16
16
  >;
17
17
  size: CodegenTypes.Float;
18
- color: ColorValue;
18
+ color?: ColorValue;
19
19
  }
20
20
 
21
21
  export default codegenNativeComponent<NativeProps>(
@@ -5,13 +5,12 @@ import { type TurboModule, TurboModuleRegistry } from 'react-native';
5
5
  export interface Spec extends TurboModule {
6
6
  getImageSource(
7
7
  name: string,
8
- variant: string,
8
+ variant: string | undefined,
9
+ weight: 100 | 200 | 300 | 400 | 500 | 600 | 700 | undefined,
9
10
  size: number,
10
- weight: 100 | 200 | 300 | 400 | 500 | 600 | 700,
11
11
  // Codegen requires using `Object` instead of `object
12
12
  // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
13
- color: Object,
14
- hash: string
13
+ color: Object
15
14
  ): string;
16
15
  }
17
16
 
@@ -0,0 +1,32 @@
1
+ /* eslint-disable import-x/no-default-export */
2
+ import * as React from 'react';
3
+ import {
4
+ codegenNativeCommands,
5
+ codegenNativeComponent,
6
+ CodegenTypes,
7
+ type HostComponent,
8
+ type ViewProps,
9
+ } from 'react-native';
10
+
11
+ export interface NativeProps extends ViewProps {
12
+ direction?: CodegenTypes.WithDefault<'vertical' | 'horizontal', 'vertical'>;
13
+ edge?: CodegenTypes.WithDefault<'top' | 'right' | 'bottom' | 'left', 'top'>;
14
+ adaptive?: CodegenTypes.WithDefault<boolean, true>;
15
+ }
16
+
17
+ interface NativeCommands {
18
+ // FIXME: codegen fails with ComponentRef
19
+ // so we currently use the deprecated ElementRef
20
+ relayout(viewRef: React.ElementRef<HostComponent<NativeProps>>): void;
21
+ }
22
+
23
+ export const Commands = codegenNativeCommands<NativeCommands>({
24
+ supportedCommands: ['relayout'],
25
+ });
26
+
27
+ export default codegenNativeComponent<NativeProps>(
28
+ 'ReactNavigationCornerInsetView',
29
+ {
30
+ interfaceOnly: true,
31
+ }
32
+ ) as HostComponent<NativeProps>;