expo-router 7.0.0-canary-20251120-e46b3cc → 7.0.0-canary-20251205-756eb7a

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 (227) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/fork/getStateFromPath-forks.d.ts +5 -10
  3. package/build/fork/getStateFromPath-forks.d.ts.map +1 -1
  4. package/build/fork/getStateFromPath-forks.js +14 -13
  5. package/build/fork/getStateFromPath-forks.js.map +1 -1
  6. package/build/fork/getStateFromPath.js +3 -3
  7. package/build/fork/getStateFromPath.js.map +1 -1
  8. package/build/fork/native-stack/createNativeStackNavigator.d.ts.map +1 -1
  9. package/build/fork/native-stack/createNativeStackNavigator.js +25 -7
  10. package/build/fork/native-stack/createNativeStackNavigator.js.map +1 -1
  11. package/build/fork/native-stack/descriptors-context.d.ts +8 -0
  12. package/build/fork/native-stack/descriptors-context.d.ts.map +1 -0
  13. package/build/fork/native-stack/descriptors-context.js +6 -0
  14. package/build/fork/native-stack/descriptors-context.js.map +1 -0
  15. package/build/internal/utils.d.ts +1 -0
  16. package/build/internal/utils.d.ts.map +1 -1
  17. package/build/internal/utils.js +3 -1
  18. package/build/internal/utils.js.map +1 -1
  19. package/build/layouts/StackClient.d.ts.map +1 -1
  20. package/build/layouts/StackClient.js +39 -5
  21. package/build/layouts/StackClient.js.map +1 -1
  22. package/build/layouts/stack-utils/StackHeaderComponent.js +6 -6
  23. package/build/layouts/stack-utils/StackHeaderComponent.js.map +1 -1
  24. package/build/layouts/stack-utils/StackHeaderTitle.d.ts.map +1 -1
  25. package/build/layouts/stack-utils/StackHeaderTitle.js +3 -8
  26. package/build/layouts/stack-utils/StackHeaderTitle.js.map +1 -1
  27. package/build/layouts/stack-utils/index.d.ts +0 -1
  28. package/build/layouts/stack-utils/index.d.ts.map +1 -1
  29. package/build/layouts/stack-utils/index.js +1 -3
  30. package/build/layouts/stack-utils/index.js.map +1 -1
  31. package/build/link/ExpoLink.d.ts.map +1 -1
  32. package/build/link/ExpoLink.js +12 -4
  33. package/build/link/ExpoLink.js.map +1 -1
  34. package/build/link/Link.d.ts +2 -0
  35. package/build/link/Link.d.ts.map +1 -1
  36. package/build/link/Link.js +2 -0
  37. package/build/link/Link.js.map +1 -1
  38. package/build/link/LinkWithPreview.d.ts +6 -1
  39. package/build/link/LinkWithPreview.d.ts.map +1 -1
  40. package/build/link/LinkWithPreview.js +10 -11
  41. package/build/link/LinkWithPreview.js.map +1 -1
  42. package/build/link/elements.d.ts +8 -0
  43. package/build/link/elements.d.ts.map +1 -1
  44. package/build/link/elements.js +7 -2
  45. package/build/link/elements.js.map +1 -1
  46. package/build/link/preview/native.d.ts +17 -0
  47. package/build/link/preview/native.d.ts.map +1 -1
  48. package/build/link/preview/native.js +22 -0
  49. package/build/link/preview/native.js.map +1 -1
  50. package/build/link/zoom/ZoomTransitionEnabler.d.ts +5 -0
  51. package/build/link/zoom/ZoomTransitionEnabler.d.ts.map +1 -0
  52. package/build/link/zoom/ZoomTransitionEnabler.ios.d.ts +5 -0
  53. package/build/link/zoom/ZoomTransitionEnabler.ios.d.ts.map +1 -0
  54. package/build/link/zoom/ZoomTransitionEnabler.ios.js +44 -0
  55. package/build/link/zoom/ZoomTransitionEnabler.ios.js.map +1 -0
  56. package/build/link/zoom/ZoomTransitionEnabler.js +13 -0
  57. package/build/link/zoom/ZoomTransitionEnabler.js.map +1 -0
  58. package/build/link/zoom/ZoomTransitionEnabler.types.d.ts +4 -0
  59. package/build/link/zoom/ZoomTransitionEnabler.types.d.ts.map +1 -0
  60. package/build/link/zoom/ZoomTransitionEnabler.types.js +3 -0
  61. package/build/link/zoom/ZoomTransitionEnabler.types.js.map +1 -0
  62. package/build/link/zoom/link-apple-zoom.d.ts +23 -0
  63. package/build/link/zoom/link-apple-zoom.d.ts.map +1 -0
  64. package/build/link/zoom/link-apple-zoom.js +40 -0
  65. package/build/link/zoom/link-apple-zoom.js.map +1 -0
  66. package/build/link/zoom/useZoomTransitionPrimitives.d.ts +6 -0
  67. package/build/link/zoom/useZoomTransitionPrimitives.d.ts.map +1 -0
  68. package/build/link/zoom/useZoomTransitionPrimitives.ios.d.ts +11 -0
  69. package/build/link/zoom/useZoomTransitionPrimitives.ios.d.ts.map +1 -0
  70. package/build/link/zoom/useZoomTransitionPrimitives.ios.js +66 -0
  71. package/build/link/zoom/useZoomTransitionPrimitives.ios.js.map +1 -0
  72. package/build/link/zoom/useZoomTransitionPrimitives.js +9 -0
  73. package/build/link/zoom/useZoomTransitionPrimitives.js.map +1 -0
  74. package/build/link/zoom/zoom-transition-context.d.ts +7 -0
  75. package/build/link/zoom/zoom-transition-context.d.ts.map +1 -0
  76. package/build/link/zoom/zoom-transition-context.js +6 -0
  77. package/build/link/zoom/zoom-transition-context.js.map +1 -0
  78. package/build/native-tabs/NativeBottomTabsNavigator.d.ts +3 -15
  79. package/build/native-tabs/NativeBottomTabsNavigator.d.ts.map +1 -1
  80. package/build/native-tabs/NativeBottomTabsNavigator.js +17 -2
  81. package/build/native-tabs/NativeBottomTabsNavigator.js.map +1 -1
  82. package/build/native-tabs/NativeBottomTabsRouter.d.ts.map +1 -1
  83. package/build/native-tabs/NativeBottomTabsRouter.js +12 -1
  84. package/build/native-tabs/NativeBottomTabsRouter.js.map +1 -1
  85. package/build/native-tabs/NativeTabTrigger.d.ts +2 -2
  86. package/build/native-tabs/NativeTabTrigger.d.ts.map +1 -1
  87. package/build/native-tabs/NativeTabTrigger.js +24 -14
  88. package/build/native-tabs/NativeTabTrigger.js.map +1 -1
  89. package/build/native-tabs/NativeTabs.d.ts +6 -3
  90. package/build/native-tabs/NativeTabs.d.ts.map +1 -1
  91. package/build/native-tabs/NativeTabs.js +7 -2
  92. package/build/native-tabs/NativeTabs.js.map +1 -1
  93. package/build/native-tabs/NativeTabsView.d.ts.map +1 -1
  94. package/build/native-tabs/NativeTabsView.js +26 -3
  95. package/build/native-tabs/NativeTabsView.js.map +1 -1
  96. package/build/native-tabs/appearance.d.ts.map +1 -1
  97. package/build/native-tabs/appearance.js +2 -4
  98. package/build/native-tabs/appearance.js.map +1 -1
  99. package/build/native-tabs/common/elements.d.ts +36 -3
  100. package/build/native-tabs/common/elements.d.ts.map +1 -1
  101. package/build/native-tabs/common/elements.js +30 -1
  102. package/build/native-tabs/common/elements.js.map +1 -1
  103. package/build/native-tabs/hooks.d.ts +45 -0
  104. package/build/native-tabs/hooks.d.ts.map +1 -0
  105. package/build/native-tabs/hooks.js +57 -0
  106. package/build/native-tabs/hooks.js.map +1 -0
  107. package/build/native-tabs/index.d.ts +1 -1
  108. package/build/native-tabs/index.d.ts.map +1 -1
  109. package/build/native-tabs/index.js.map +1 -1
  110. package/build/native-tabs/types.d.ts +42 -55
  111. package/build/native-tabs/types.d.ts.map +1 -1
  112. package/build/native-tabs/types.js.map +1 -1
  113. package/build/native-tabs/utils/bottomAccessory.d.ts +9 -0
  114. package/build/native-tabs/utils/bottomAccessory.d.ts.map +1 -0
  115. package/build/native-tabs/utils/bottomAccessory.js +17 -0
  116. package/build/native-tabs/utils/bottomAccessory.js.map +1 -0
  117. package/build/native-tabs/utils/icon.d.ts +3 -0
  118. package/build/native-tabs/utils/icon.d.ts.map +1 -1
  119. package/build/native-tabs/utils/icon.js +16 -0
  120. package/build/native-tabs/utils/icon.js.map +1 -1
  121. package/build/native-tabs/utils/index.d.ts +0 -1
  122. package/build/native-tabs/utils/index.d.ts.map +1 -1
  123. package/build/native-tabs/utils/index.js +1 -4
  124. package/build/native-tabs/utils/index.js.map +1 -1
  125. package/build/native-tabs/utils/label.d.ts.map +1 -1
  126. package/build/native-tabs/utils/label.js +6 -2
  127. package/build/native-tabs/utils/label.js.map +1 -1
  128. package/build/native-tabs/utils/materialIconConverter.android.d.ts +4 -0
  129. package/build/native-tabs/utils/materialIconConverter.android.d.ts.map +1 -0
  130. package/build/native-tabs/utils/materialIconConverter.android.js +10 -0
  131. package/build/native-tabs/utils/materialIconConverter.android.js.map +1 -0
  132. package/build/native-tabs/utils/materialIconConverter.d.ts +4 -0
  133. package/build/native-tabs/utils/materialIconConverter.d.ts.map +1 -0
  134. package/build/native-tabs/utils/materialIconConverter.js +8 -0
  135. package/build/native-tabs/utils/materialIconConverter.js.map +1 -0
  136. package/build/navigationParams.d.ts +5 -1
  137. package/build/navigationParams.d.ts.map +1 -1
  138. package/build/navigationParams.js +32 -8
  139. package/build/navigationParams.js.map +1 -1
  140. package/build/toolbar/elements.d.ts +24 -0
  141. package/build/toolbar/elements.d.ts.map +1 -0
  142. package/build/toolbar/elements.js +36 -0
  143. package/build/toolbar/elements.js.map +1 -0
  144. package/build/toolbar/index.d.ts +9 -0
  145. package/build/toolbar/index.d.ts.map +1 -0
  146. package/build/toolbar/index.js +12 -0
  147. package/build/toolbar/index.js.map +1 -0
  148. package/build/toolbar/native.d.ts +4 -0
  149. package/build/toolbar/native.d.ts.map +1 -0
  150. package/build/toolbar/native.ios.d.ts +4 -0
  151. package/build/toolbar/native.ios.d.ts.map +1 -0
  152. package/build/toolbar/native.ios.js +21 -0
  153. package/build/toolbar/native.ios.js.map +1 -0
  154. package/build/toolbar/native.js +11 -0
  155. package/build/toolbar/native.js.map +1 -0
  156. package/build/toolbar/native.types.d.ts +30 -0
  157. package/build/toolbar/native.types.d.ts.map +1 -0
  158. package/build/toolbar/native.types.js +3 -0
  159. package/build/toolbar/native.types.js.map +1 -0
  160. package/build/useScreens.d.ts.map +1 -1
  161. package/build/useScreens.js +14 -0
  162. package/build/useScreens.js.map +1 -1
  163. package/build/utils/children.d.ts +7 -0
  164. package/build/utils/children.d.ts.map +1 -0
  165. package/build/utils/children.js +24 -0
  166. package/build/utils/children.js.map +1 -0
  167. package/build/utils/style.d.ts +3 -0
  168. package/build/utils/style.d.ts.map +1 -0
  169. package/build/utils/style.js +10 -0
  170. package/build/utils/style.js.map +1 -0
  171. package/build/views/Sitemap.js +3 -2
  172. package/build/views/Sitemap.js.map +1 -1
  173. package/expo-module.config.json +2 -2
  174. package/ios/LinkPreview/LinkPreviewNativeActionView.swift +1 -0
  175. package/ios/LinkPreview/LinkPreviewNativeModule.swift +49 -1
  176. package/ios/LinkPreview/LinkPreviewNativeNavigation.swift +132 -70
  177. package/ios/LinkPreview/LinkPreviewNativeView.swift +34 -17
  178. package/ios/LinkPreview/LinkZoomTransition.swift +227 -0
  179. package/ios/Toolbar/RouterToolbarHostView.swift +140 -0
  180. package/ios/Toolbar/RouterToolbarItemView.swift +171 -0
  181. package/ios/Toolbar/RouterToolbarModule.swift +102 -0
  182. package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.module → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.module} +7 -7
  183. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.module.md5 +1 -0
  184. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.module.sha1 +1 -0
  185. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.module.sha256 +1 -0
  186. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.module.sha512 +1 -0
  187. package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.pom → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.pom} +1 -1
  188. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.pom.md5 +1 -0
  189. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.pom.sha1 +1 -0
  190. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.pom.sha256 +1 -0
  191. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.pom.sha512 +1 -0
  192. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
  193. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
  194. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
  195. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
  196. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
  197. package/package.json +17 -14
  198. package/unstable-toolbar.d.ts +1 -0
  199. package/unstable-toolbar.js +1 -0
  200. package/build/layouts/stack-utils/utils.d.ts +0 -3
  201. package/build/layouts/stack-utils/utils.d.ts.map +0 -1
  202. package/build/layouts/stack-utils/utils.js +0 -8
  203. package/build/layouts/stack-utils/utils.js.map +0 -1
  204. package/build/native-tabs/utils/children.d.ts +0 -5
  205. package/build/native-tabs/utils/children.d.ts.map +0 -1
  206. package/build/native-tabs/utils/children.js +0 -15
  207. package/build/native-tabs/utils/children.js.map +0 -1
  208. package/ios/LinkPreview/LinkPreviewNativeNavigation.h +0 -50
  209. package/ios/LinkPreview/LinkPreviewNativeNavigation.mm +0 -164
  210. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.module.md5 +0 -1
  211. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.module.sha1 +0 -1
  212. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.module.sha256 +0 -1
  213. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.module.sha512 +0 -1
  214. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.pom.md5 +0 -1
  215. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.pom.sha1 +0 -1
  216. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.pom.sha256 +0 -1
  217. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.pom.sha512 +0 -1
  218. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc-sources.jar → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a-sources.jar} +0 -0
  219. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc-sources.jar.md5 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a-sources.jar.md5} +0 -0
  220. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc-sources.jar.sha1 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a-sources.jar.sha1} +0 -0
  221. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc-sources.jar.sha256 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a-sources.jar.sha256} +0 -0
  222. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc-sources.jar.sha512 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a-sources.jar.sha512} +0 -0
  223. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.aar → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.aar} +0 -0
  224. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.aar.md5 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.aar.md5} +0 -0
  225. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.aar.sha1 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.aar.sha1} +0 -0
  226. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.aar.sha256 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.aar.sha256} +0 -0
  227. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251120-e46b3cc/expo.modules.router-7.0.0-canary-20251120-e46b3cc.aar.sha512 → 7.0.0-canary-20251205-756eb7a/expo.modules.router-7.0.0-canary-20251205-756eb7a.aar.sha512} +0 -0
@@ -0,0 +1 @@
1
+ d3662397d95bc64719e5174ee7f777d9a87719d014d21b665c1c4901f35710c90d4daa16bdcec2d032bcdb050ef824115757689d65783d9c994df453899c21b9
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.router</groupId>
4
4
  <artifactId>expo.modules.router</artifactId>
5
5
  <versioning>
6
- <latest>7.0.0-canary-20251120-e46b3cc</latest>
7
- <release>7.0.0-canary-20251120-e46b3cc</release>
6
+ <latest>7.0.0-canary-20251205-756eb7a</latest>
7
+ <release>7.0.0-canary-20251205-756eb7a</release>
8
8
  <versions>
9
- <version>7.0.0-canary-20251120-e46b3cc</version>
9
+ <version>7.0.0-canary-20251205-756eb7a</version>
10
10
  </versions>
11
- <lastUpdated>20251120092106</lastUpdated>
11
+ <lastUpdated>20251205115856</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- ae0117d93ff3e903565536b5a7e7509c
1
+ f6c2d182b5482018da2e467362354ba4
@@ -1 +1 @@
1
- f7cefbbe92561e634752ef04383d9dc7db3197c7
1
+ 87a86aae197923acd98d58cd4d111238b37d1ca9
@@ -1 +1 @@
1
- 6adcccce61fb6d99da31a7afcf6601d66c765fa12287c27587e673d3acfd49c2
1
+ e39ecf0396bd95e0c84ffe26fe36ff614ca4f17424e555a2163627b12bc7dd67
@@ -1 +1 @@
1
- 1e78564bc4dc72733ea5f01cd8477154d5913c2f3b966a0ff7204a8c9aaf5cbe0327150e4f1110df1dd00b10e25bacb9597cb291a2fb758c89199ec27d1745fc
1
+ 103a987a7221bd91bb900466a038aefeae8bae4db0d3efd5d885c2603146da4baee775833770a1a1e22b1cbf50356ba1e6305f4060e6fe4daab2f90879faaaf2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-router",
3
- "version": "7.0.0-canary-20251120-e46b3cc",
3
+ "version": "7.0.0-canary-20251205-756eb7a",
4
4
  "description": "Expo Router is a file-based router for React Native and web applications.",
5
5
  "author": "650 Industries, Inc.",
6
6
  "license": "MIT",
@@ -42,6 +42,8 @@
42
42
  "unstable-native-tabs.d.ts",
43
43
  "unstable-split-view.js",
44
44
  "unstable-split-view.d.ts",
45
+ "unstable-toolbar.js",
46
+ "unstable-toolbar.d.ts",
45
47
  "node",
46
48
  "plugin",
47
49
  "rsc",
@@ -68,7 +70,7 @@
68
70
  },
69
71
  "homepage": "https://docs.expo.dev/routing/introduction/",
70
72
  "scripts": {
71
- "build": "bash -c 'if [ -z \"$1\" ]; then expo-module build -p tsconfig.json; else expo-module build \"$1\"; fi' --",
73
+ "build": "node ./scripts/build.js",
72
74
  "clean": "expo-module clean",
73
75
  "lint": "expo-module lint",
74
76
  "test": "expo-module test",
@@ -81,13 +83,14 @@
81
83
  "expo"
82
84
  ],
83
85
  "peerDependencies": {
84
- "@expo/metro-runtime": "6.2.0-canary-20251120-e46b3cc",
85
- "@expo/log-box": "0.0.13-canary-20251120-e46b3cc",
86
+ "@expo/metro-runtime": "6.2.0-canary-20251205-756eb7a",
87
+ "@expo/log-box": "0.0.13-canary-20251205-756eb7a",
86
88
  "@react-navigation/drawer": "^7.7.2",
87
89
  "@testing-library/react-native": ">= 12.0.0",
88
- "expo": "55.0.0-canary-20251120-e46b3cc",
89
- "expo-constants": "18.1.0-canary-20251120-e46b3cc",
90
- "expo-linking": "8.0.10-canary-20251120-e46b3cc",
90
+ "expo": "55.0.0-canary-20251205-756eb7a",
91
+ "expo-constants": "18.1.0-canary-20251205-756eb7a",
92
+ "expo-linking": "8.0.11-canary-20251205-756eb7a",
93
+ "expo-symbols": "1.1.0-canary-20251205-756eb7a",
91
94
  "react": "*",
92
95
  "react-dom": "*",
93
96
  "react-native": "*",
@@ -96,7 +99,7 @@
96
99
  "react-native-safe-area-context": ">= 5.4.0",
97
100
  "react-native-screens": "*",
98
101
  "react-native-web": "*",
99
- "react-server-dom-webpack": ">= 19.0.0"
102
+ "react-server-dom-webpack": "~19.0.1 || ~19.1.2 || ~19.2.1"
100
103
  },
101
104
  "peerDependenciesMeta": {
102
105
  "@testing-library/react-native": {
@@ -129,20 +132,20 @@
129
132
  "@types/react-dom": "^19.1.7",
130
133
  "@types/semver": "^7.7.0",
131
134
  "immer": "^10.1.1",
132
- "react-server-dom-webpack": "~19.0.0"
135
+ "react-server-dom-webpack": "~19.0.1"
133
136
  },
134
137
  "dependencies": {
135
- "@expo/metro-runtime": "6.2.0-canary-20251120-e46b3cc",
136
- "@expo/schema-utils": "0.1.8-canary-20251120-e46b3cc",
138
+ "@expo/metro-runtime": "6.2.0-canary-20251205-756eb7a",
139
+ "@expo/schema-utils": "0.1.9-canary-20251205-756eb7a",
137
140
  "@radix-ui/react-slot": "1.2.0",
138
141
  "@radix-ui/react-tabs": "^1.1.12",
139
142
  "@react-navigation/bottom-tabs": "^7.7.3",
140
- "@react-navigation/native": "^7.1.19",
141
- "@react-navigation/native-stack": "^7.6.2",
143
+ "@react-navigation/native": "^7.1.21",
144
+ "@react-navigation/native-stack": "^7.8.0",
142
145
  "client-only": "^0.0.1",
143
146
  "debug": "^4.3.4",
144
147
  "escape-string-regexp": "^4.0.0",
145
- "expo-server": "1.0.5-canary-20251120-e46b3cc",
148
+ "expo-server": "1.0.6-canary-20251205-756eb7a",
146
149
  "fast-deep-equal": "^3.1.3",
147
150
  "invariant": "^2.2.4",
148
151
  "nanoid": "^3.3.8",
@@ -0,0 +1 @@
1
+ export * from './build/toolbar';
@@ -0,0 +1 @@
1
+ module.exports = require('./build/toolbar');
@@ -1,3 +0,0 @@
1
- import { type ReactElement } from 'react';
2
- export declare function isChildOfType<PropsT>(element: React.ReactNode, type: (props: PropsT) => unknown): element is ReactElement<PropsT>;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1D,wBAAgB,aAAa,CAAC,MAAM,EAClC,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAC/B,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAEjC"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isChildOfType = isChildOfType;
4
- const react_1 = require("react");
5
- function isChildOfType(element, type) {
6
- return (0, react_1.isValidElement)(element) && element.type === type;
7
- }
8
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/utils.tsx"],"names":[],"mappings":";;AAEA,sCAKC;AAPD,iCAA0D;AAE1D,SAAgB,aAAa,CAC3B,OAAwB,EACxB,IAAgC;IAEhC,OAAO,IAAA,sBAAc,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;AAC1D,CAAC","sourcesContent":["import { isValidElement, type ReactElement } from 'react';\n\nexport function isChildOfType<PropsT>(\n element: React.ReactNode,\n type: (props: PropsT) => unknown\n): element is ReactElement<PropsT> {\n return isValidElement(element) && element.type === type;\n}\n"]}
@@ -1,5 +0,0 @@
1
- import type { JSXElementConstructor, ReactNode } from 'react';
2
- import React from 'react';
3
- export declare function filterAllowedChildrenElements<Components extends JSXElementConstructor<any>[]>(children: ReactNode | ReactNode[], components: Components): React.ReactElement<React.ComponentProps<Components[number]>, Components[number]>[];
4
- export declare function isChildOfType<T extends JSXElementConstructor<any>>(child: ReactNode, type: T): child is React.ReactElement<React.ComponentProps<T>, T>;
5
- //# sourceMappingURL=children.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"children.d.ts","sourceRoot":"","sources":["../../../src/native-tabs/utils/children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,6BAA6B,CAAC,UAAU,SAAS,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAC3F,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,EACjC,UAAU,EAAE,UAAU,GACrB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAOpF;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,CAAC,EAChE,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,CAAC,GACN,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAEzD"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.filterAllowedChildrenElements = filterAllowedChildrenElements;
7
- exports.isChildOfType = isChildOfType;
8
- const react_1 = __importDefault(require("react"));
9
- function filterAllowedChildrenElements(children, components) {
10
- return react_1.default.Children.toArray(children).filter((child) => react_1.default.isValidElement(child) && components.includes(child.type));
11
- }
12
- function isChildOfType(child, type) {
13
- return react_1.default.isValidElement(child) && child.type === type;
14
- }
15
- //# sourceMappingURL=children.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"children.js","sourceRoot":"","sources":["../../../src/native-tabs/utils/children.ts"],"names":[],"mappings":";;;;;AAGA,sEAUC;AAED,sCAKC;AAnBD,kDAA0B;AAE1B,SAAgB,6BAA6B,CAC3C,QAAiC,EACjC,UAAsB;IAEtB,OAAO,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC5C,CACE,KAAK,EACsF,EAAE,CAC7F,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAiC,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAgB,EAChB,IAAO;IAEP,OAAO,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC5D,CAAC","sourcesContent":["import type { JSXElementConstructor, ReactNode } from 'react';\nimport React from 'react';\n\nexport function filterAllowedChildrenElements<Components extends JSXElementConstructor<any>[]>(\n children: ReactNode | ReactNode[],\n components: Components\n): React.ReactElement<React.ComponentProps<Components[number]>, Components[number]>[] {\n return React.Children.toArray(children).filter(\n (\n child\n ): child is React.ReactElement<React.ComponentProps<Components[number]>, Components[number]> =>\n React.isValidElement(child) && components.includes(child.type as (props: any) => ReactNode)\n );\n}\n\nexport function isChildOfType<T extends JSXElementConstructor<any>>(\n child: ReactNode,\n type: T\n): child is React.ReactElement<React.ComponentProps<T>, T> {\n return React.isValidElement(child) && child.type === type;\n}\n"]}
@@ -1,50 +0,0 @@
1
- // Copyright 2015-present 650 Industries. All rights reserved.
2
-
3
- #import <RNScreens/RNSDismissibleModalProtocol.h>
4
- #import <RNScreens/RNSTabBarController.h>
5
-
6
- @interface LinkPreviewNativeNavigationObjC : NSObject
7
-
8
- /*
9
- * Pushes the previously preloaded view.
10
- * This function will set the activity state of the preloaded screen view to 2
11
- */
12
- + (void)pushPreloadedView:(nonnull UIView *)view
13
- ontoStackView:(nonnull UIView *)rawStackView;
14
-
15
- /*
16
- * Helper function to check if the view is a RNSScreenStackView. Can be used in
17
- * Swift
18
- */
19
- + (BOOL)isRNSScreenStackView:(UIView *)view;
20
- /*
21
- * Helper function to get all screen IDs from a RNSScreenStackView.
22
- */
23
- + (nonnull NSArray<NSString *> *)getStackViewScreenIds:(UIView *)view;
24
- /*
25
- * Helper function to get all screen views from a RNSScreenStackView.
26
- */
27
- + (nonnull NSArray<UIView *> *)getScreenViews:(UIView *)view;
28
- /*
29
- * Helper function to get the screen ID of a RNSScreenView.
30
- */
31
- + (nonnull NSString *)getScreenId:(UIView *)view;
32
-
33
- + (nonnull NSString *)getTabKey:(UIView *)view;
34
-
35
- + (BOOL)isRNSBottomTabsScreenComponentView:(UIView *)view;
36
-
37
- + (BOOL)isRNSTabBarController:(UIView *)view;
38
-
39
- + (nullable RNSTabBarController *)getBottomTabControllerFromView:(UIView *)view;
40
-
41
- + (BOOL)isRNSBottomTabsHostComponentView:(UIView *)view;
42
-
43
- + (nullable UIView *)getTab:(UITabBarController *)controller
44
- withKey:(NSString *)key;
45
-
46
- @end
47
-
48
- @protocol LinkPreviewModalDismissible <RNSDismissibleModalProtocol>
49
- @required
50
- @end
@@ -1,164 +0,0 @@
1
- // Copyright 2015-present 650 Industries. All rights reserved.
2
-
3
- #import "LinkPreviewNativeNavigation.h"
4
- #import <Foundation/Foundation.h>
5
- #include <Foundation/NSObjCRuntime.h>
6
- #import <RNScreens/RNSScreen.h>
7
- #import <RNScreens/RNSScreenStack.h>
8
-
9
- @implementation LinkPreviewNativeNavigationObjC {
10
- }
11
-
12
- + (BOOL)isRNSScreenStackView:(UIView *)view {
13
- if (view != nil) {
14
- return [view isKindOfClass:[RNSScreenStackView class]];
15
- }
16
-
17
- return NO;
18
- }
19
-
20
- + (BOOL)isRNSBottomTabsScreenComponentView:(UIView *)view {
21
- if (view != nil) {
22
- return [view isKindOfClass:[RNSBottomTabsScreenComponentView class]];
23
- }
24
-
25
- return NO;
26
- }
27
-
28
- + (BOOL)isRNSBottomTabsHostComponentView:(UIView *)view {
29
- if (view != nil) {
30
- return [view isKindOfClass:[RNSBottomTabsHostComponentView class]];
31
- }
32
-
33
- return NO;
34
- }
35
-
36
- + (nullable UITabBarController *)getBottomTabControllerFromView:(UIView *)view {
37
- if ([view isKindOfClass:[RNSBottomTabsScreenComponentView class]]) {
38
- RNSBottomTabsScreenComponentView *bottomTabsView =
39
- (RNSBottomTabsScreenComponentView *)view;
40
- UIViewController *reactVC = [bottomTabsView reactViewController];
41
- if (reactVC != nil &&
42
- [reactVC.tabBarController isKindOfClass:[RNSTabBarController class]]) {
43
- RNSTabBarController *tabBarController =
44
- (RNSTabBarController *)reactVC.tabBarController;
45
- return tabBarController;
46
- }
47
- }
48
- if ([view isKindOfClass:[RNSBottomTabsHostComponentView class]]) {
49
- RNSBottomTabsHostComponentView *bottomTabsView =
50
- (RNSBottomTabsHostComponentView *)view;
51
- return [bottomTabsView controller];
52
- }
53
- return nil;
54
- }
55
-
56
- + (nullable UIView *)getTab:(UITabBarController *)controller
57
- withKey:(NSString *)key {
58
- if (controller != nil) {
59
- for (UIViewController *subcontroller in controller.viewControllers) {
60
- if ([subcontroller.view
61
- isKindOfClass:[RNSBottomTabsScreenComponentView class]]) {
62
- if (((RNSBottomTabsScreenComponentView *)subcontroller.view).tabKey ==
63
- key) {
64
- return subcontroller.view;
65
- }
66
- }
67
- }
68
- }
69
-
70
- return nil;
71
- }
72
-
73
- + (nonnull NSArray<NSString *> *)getStackViewScreenIds:(UIView *)view {
74
- if (view != nil && [view isKindOfClass:[RNSScreenStackView class]]) {
75
- RNSScreenStackView *stackView = (RNSScreenStackView *)view;
76
- return stackView.screenIds;
77
- }
78
- return @[];
79
- }
80
-
81
- + (nonnull NSArray<UIView *> *)getScreenViews:(UIView *)view {
82
- if (view != nil && [view isKindOfClass:[RNSScreenStackView class]]) {
83
- RNSScreenStackView *stackView = (RNSScreenStackView *)view;
84
- return stackView.reactSubviews;
85
- }
86
- return @[];
87
- }
88
-
89
- + (nonnull NSString *)getScreenId:(UIView *)view {
90
- if (view != nil && [view isKindOfClass:[RNSScreenView class]]) {
91
- RNSScreenView *screenView = (RNSScreenView *)view;
92
- return screenView.screenId;
93
- }
94
- return nil;
95
- }
96
-
97
- + (nonnull NSString *)getTabKey:(UIView *)view {
98
- if (view != nil &&
99
- [view isKindOfClass:[RNSBottomTabsScreenComponentView class]]) {
100
- RNSBottomTabsScreenComponentView *tabScreenView =
101
- (RNSBottomTabsScreenComponentView *)view;
102
- return tabScreenView.tabKey;
103
- }
104
- return @"";
105
- }
106
-
107
- + (void)pushPreloadedView:(nonnull UIView *)view
108
- ontoStackView:(nonnull UIView *)rawStackView {
109
- if (![LinkPreviewNativeNavigationObjC isRNSScreenStackView:rawStackView]) {
110
- NSLog(@"ExpoRouter: The provided stack view is not a RNSScreenStackView.");
111
- return;
112
- }
113
- if (![view isKindOfClass:[RNSScreenView class]]) {
114
- NSLog(@"ExpoRouter: The provided view is not a RNSScreenView.");
115
- return;
116
- }
117
- RNSScreenStackView *stackView = (RNSScreenStackView *)rawStackView;
118
- RNSScreenView *preloadedScreenView = (RNSScreenView *)view;
119
- if (preloadedScreenView != nil && stackView != nil) {
120
- // Instead of pushing the preloaded screen view, we set its activity state
121
- // React native screens will then handle the rest.
122
- [preloadedScreenView setActivityState:2];
123
- [stackView markChildUpdated];
124
- // If the screen is modal with header then it will have exactly one child -
125
- // RNSNavigationController.
126
- // https://github.com/software-mansion/react-native-screens/blob/8b82e081e8fdfa6e0864821134bda9e87a745b00/src/components/ScreenStackItem.tsx#L146-L160
127
- if (preloadedScreenView.isModal &&
128
- preloadedScreenView.controller.childViewControllers.count == 1) {
129
- // The first child should be RNSNavigationController (<ScreenStack>).
130
- UIViewController *navController =
131
- preloadedScreenView.controller.childViewControllers[0];
132
- if ([navController isKindOfClass:[RNSNavigationController class]]) {
133
- RNSNavigationController *rnsNavController =
134
- (RNSNavigationController *)navController;
135
- // The delegate of RNSNavigationController is RNSScreenStackView.
136
- id<UINavigationControllerDelegate> delegate = rnsNavController.delegate;
137
- if ([delegate isKindOfClass:[RNSScreenStackView class]]) {
138
- RNSScreenStackView *innerScreenStack = (RNSScreenStackView *)delegate;
139
- // The first and only child of the inner screen stack should be
140
- // RNSScreenView (<ScreenStackItem>).
141
- UIView *firstChild = innerScreenStack.reactSubviews != nil
142
- ? innerScreenStack.reactSubviews[0]
143
- : nil;
144
- if (firstChild != nil &&
145
- [firstChild isKindOfClass:[RNSScreenView class]]) {
146
- RNSScreenView *screenContentView = (RNSScreenView *)firstChild;
147
- // Same as above, we let React Native Screens handle the transition.
148
- // We need to set the activity of inner screen as well, because its
149
- // react value is the same as the preloaded screen - 0.
150
- // https://github.com/software-mansion/react-native-screens/blob/8b82e081e8fdfa6e0864821134bda9e87a745b00/src/components/ScreenStackItem.tsx#L151
151
- [screenContentView setActivityState:2];
152
- [innerScreenStack markChildUpdated];
153
- }
154
- }
155
- }
156
- }
157
- NSLog(@"ExpoRouter: Preloaded screen view pushed.");
158
- } else {
159
- NSLog(@"ExpoRouter: No preloaded screen view found. Relying on JS "
160
- @"navigation.");
161
- }
162
- }
163
-
164
- @end
@@ -1 +0,0 @@
1
- d6ffd0ac3dcd6b993399538e0d6d72ab7758cd06a098f4c405a38251cc0dd22db779c602206a41948aa172531509236b402ace0ea6a40de6ba00c2be381da89d
@@ -1 +0,0 @@
1
- 972220d4596b9b7bf37571b14374bbe459f2d422304ef057003582ed7b6df7b88e6bbe4c924e6e13d04389b204cb789c9cd96dabd3b1634c578e9a9e95394582