expo-router 7.0.0-canary-20260114-d8e19f5 → 7.0.0-canary-20260119-70f7c28

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 (239) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/ExpoRoot.d.ts.map +1 -1
  3. package/build/ExpoRoot.js +2 -0
  4. package/build/ExpoRoot.js.map +1 -1
  5. package/build/global.d.ts +29 -0
  6. package/build/global.d.ts.map +1 -0
  7. package/build/global.js +3 -0
  8. package/build/global.js.map +1 -0
  9. package/build/index.d.ts +1 -0
  10. package/build/index.d.ts.map +1 -1
  11. package/build/index.js +1 -0
  12. package/build/index.js.map +1 -1
  13. package/build/layouts/Stack.d.ts.map +1 -1
  14. package/build/layouts/Stack.js +3 -0
  15. package/build/layouts/Stack.js.map +1 -1
  16. package/build/layouts/Stack.web.js +1 -0
  17. package/build/layouts/Stack.web.js.map +1 -1
  18. package/build/layouts/StackClient.d.ts +13 -14
  19. package/build/layouts/StackClient.d.ts.map +1 -1
  20. package/build/layouts/StackClient.js +3 -2
  21. package/build/layouts/StackClient.js.map +1 -1
  22. package/build/layouts/stack-utils/StackHeaderComponent.d.ts +12 -23
  23. package/build/layouts/stack-utils/StackHeaderComponent.d.ts.map +1 -1
  24. package/build/layouts/stack-utils/StackHeaderComponent.js +15 -55
  25. package/build/layouts/stack-utils/StackHeaderComponent.js.map +1 -1
  26. package/build/layouts/stack-utils/StackScreen.d.ts +5 -0
  27. package/build/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  28. package/build/layouts/stack-utils/StackScreen.js +34 -7
  29. package/build/layouts/stack-utils/StackScreen.js.map +1 -1
  30. package/build/layouts/stack-utils/StackSearchBar.d.ts +28 -0
  31. package/build/layouts/stack-utils/StackSearchBar.d.ts.map +1 -1
  32. package/build/layouts/stack-utils/StackSearchBar.js +29 -0
  33. package/build/layouts/stack-utils/StackSearchBar.js.map +1 -1
  34. package/build/layouts/stack-utils/common-primitives.d.ts +6 -6
  35. package/build/layouts/stack-utils/common-primitives.d.ts.map +1 -1
  36. package/build/layouts/stack-utils/common-primitives.js +4 -4
  37. package/build/layouts/stack-utils/common-primitives.js.map +1 -1
  38. package/build/layouts/stack-utils/index.d.ts +4 -23
  39. package/build/layouts/stack-utils/index.d.ts.map +1 -1
  40. package/build/layouts/stack-utils/index.js +18 -35
  41. package/build/layouts/stack-utils/index.js.map +1 -1
  42. package/build/layouts/stack-utils/screen/StackScreenBackButton.d.ts +68 -0
  43. package/build/layouts/stack-utils/screen/StackScreenBackButton.d.ts.map +1 -0
  44. package/build/layouts/stack-utils/screen/StackScreenBackButton.js +58 -0
  45. package/build/layouts/stack-utils/screen/StackScreenBackButton.js.map +1 -0
  46. package/build/layouts/stack-utils/screen/StackScreenTitle.d.ts +58 -0
  47. package/build/layouts/stack-utils/screen/StackScreenTitle.d.ts.map +1 -0
  48. package/build/layouts/stack-utils/screen/StackScreenTitle.js +75 -0
  49. package/build/layouts/stack-utils/screen/StackScreenTitle.js.map +1 -0
  50. package/build/layouts/stack-utils/screen/index.d.ts +3 -0
  51. package/build/layouts/stack-utils/screen/index.d.ts.map +1 -0
  52. package/build/layouts/stack-utils/screen/index.js +10 -0
  53. package/build/layouts/stack-utils/screen/index.js.map +1 -0
  54. package/build/layouts/stack-utils/shared.js +3 -3
  55. package/build/layouts/stack-utils/shared.js.map +1 -1
  56. package/build/layouts/stack-utils/toolbar/StackToolbar.d.ts +3 -0
  57. package/build/layouts/stack-utils/toolbar/StackToolbar.d.ts.map +1 -0
  58. package/build/layouts/stack-utils/toolbar/StackToolbar.js +24 -0
  59. package/build/layouts/stack-utils/toolbar/StackToolbar.js.map +1 -0
  60. package/build/layouts/stack-utils/toolbar/StackToolbarButton.d.ts +144 -0
  61. package/build/layouts/stack-utils/toolbar/StackToolbarButton.d.ts.map +1 -0
  62. package/build/layouts/stack-utils/toolbar/StackToolbarButton.js +68 -0
  63. package/build/layouts/stack-utils/toolbar/StackToolbarButton.js.map +1 -0
  64. package/build/layouts/stack-utils/toolbar/StackToolbarClient.d.ts +104 -0
  65. package/build/layouts/stack-utils/toolbar/StackToolbarClient.d.ts.map +1 -0
  66. package/build/layouts/stack-utils/toolbar/StackToolbarClient.js +214 -0
  67. package/build/layouts/stack-utils/toolbar/StackToolbarClient.js.map +1 -0
  68. package/build/layouts/stack-utils/{StackHeaderMenu.d.ts → toolbar/StackToolbarMenu.d.ts} +58 -106
  69. package/build/layouts/stack-utils/toolbar/StackToolbarMenu.d.ts.map +1 -0
  70. package/build/layouts/stack-utils/toolbar/StackToolbarMenu.js +190 -0
  71. package/build/layouts/stack-utils/toolbar/StackToolbarMenu.js.map +1 -0
  72. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.d.ts +48 -0
  73. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.d.ts.map +1 -0
  74. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.js +44 -0
  75. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.js.map +1 -0
  76. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.d.ts +80 -0
  77. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.d.ts.map +1 -0
  78. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.js +77 -0
  79. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.js.map +1 -0
  80. package/build/layouts/stack-utils/{StackHeaderView.d.ts → toolbar/StackToolbarView.d.ts} +21 -17
  81. package/build/layouts/stack-utils/toolbar/StackToolbarView.d.ts.map +1 -0
  82. package/build/layouts/stack-utils/toolbar/StackToolbarView.js +61 -0
  83. package/build/layouts/stack-utils/toolbar/StackToolbarView.js.map +1 -0
  84. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.d.ts +93 -0
  85. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.d.ts.map +1 -0
  86. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.js +89 -0
  87. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.js.map +1 -0
  88. package/build/layouts/stack-utils/toolbar/context.d.ts +9 -0
  89. package/build/layouts/stack-utils/toolbar/context.d.ts.map +1 -0
  90. package/build/layouts/stack-utils/toolbar/context.js +16 -0
  91. package/build/layouts/stack-utils/toolbar/context.js.map +1 -0
  92. package/build/layouts/stack-utils/toolbar/index.d.ts +10 -0
  93. package/build/layouts/stack-utils/toolbar/index.d.ts.map +1 -0
  94. package/build/layouts/stack-utils/toolbar/index.js +23 -0
  95. package/build/layouts/stack-utils/toolbar/index.js.map +1 -0
  96. package/build/link/LinkWithPreview.d.ts.map +1 -1
  97. package/build/link/LinkWithPreview.js +8 -5
  98. package/build/link/LinkWithPreview.js.map +1 -1
  99. package/build/link/NativeMenuContext.d.ts +5 -0
  100. package/build/link/NativeMenuContext.d.ts.map +1 -0
  101. package/build/link/NativeMenuContext.js +9 -0
  102. package/build/link/NativeMenuContext.js.map +1 -0
  103. package/build/link/elements.d.ts +41 -0
  104. package/build/link/elements.d.ts.map +1 -1
  105. package/build/link/elements.js +3 -2
  106. package/build/link/elements.js.map +1 -1
  107. package/build/link/preview/native.d.ts +2 -0
  108. package/build/link/preview/native.d.ts.map +1 -1
  109. package/build/link/preview/native.js +3 -1
  110. package/build/link/preview/native.js.map +1 -1
  111. package/build/native-tabs/NativeBottomTabsNavigator.d.ts +1 -1
  112. package/build/native-tabs/NativeBottomTabsNavigator.d.ts.map +1 -1
  113. package/build/native-tabs/NativeBottomTabsNavigator.js +2 -1
  114. package/build/native-tabs/NativeBottomTabsNavigator.js.map +1 -1
  115. package/build/native-tabs/NativeTabTrigger.d.ts.map +1 -1
  116. package/build/native-tabs/NativeTabTrigger.js +6 -4
  117. package/build/native-tabs/NativeTabTrigger.js.map +1 -1
  118. package/build/native-tabs/NativeTabsView.d.ts.map +1 -1
  119. package/build/native-tabs/NativeTabsView.js +0 -3
  120. package/build/native-tabs/NativeTabsView.js.map +1 -1
  121. package/build/native-tabs/common/elements.d.ts +10 -0
  122. package/build/native-tabs/common/elements.d.ts.map +1 -1
  123. package/build/native-tabs/common/elements.js.map +1 -1
  124. package/build/native-tabs/types.d.ts +6 -0
  125. package/build/native-tabs/types.d.ts.map +1 -1
  126. package/build/native-tabs/types.js.map +1 -1
  127. package/build/native-tabs/utils/icon.d.ts +2 -0
  128. package/build/native-tabs/utils/icon.d.ts.map +1 -1
  129. package/build/native-tabs/utils/icon.js +3 -0
  130. package/build/native-tabs/utils/icon.js.map +1 -1
  131. package/build/navigationEvents/index.d.ts +7 -24
  132. package/build/navigationEvents/index.d.ts.map +1 -1
  133. package/build/navigationEvents/index.js +47 -12
  134. package/build/navigationEvents/index.js.map +1 -1
  135. package/build/navigationEvents/types.d.ts +23 -0
  136. package/build/navigationEvents/types.d.ts.map +1 -0
  137. package/build/navigationEvents/types.js +3 -0
  138. package/build/navigationEvents/types.js.map +1 -0
  139. package/build/navigationEvents/utils.d.ts +9 -0
  140. package/build/navigationEvents/utils.d.ts.map +1 -0
  141. package/build/navigationEvents/utils.js +25 -0
  142. package/build/navigationEvents/utils.js.map +1 -0
  143. package/build/primitives/types.d.ts +6 -6
  144. package/build/primitives/types.d.ts.map +1 -1
  145. package/build/primitives/types.js.map +1 -1
  146. package/build/screensFeatureFlags.d.ts +2 -0
  147. package/build/screensFeatureFlags.d.ts.map +1 -0
  148. package/build/screensFeatureFlags.js +20 -0
  149. package/build/screensFeatureFlags.js.map +1 -0
  150. package/build/toolbar/native.types.d.ts +0 -14
  151. package/build/toolbar/native.types.d.ts.map +1 -1
  152. package/build/toolbar/native.types.js.map +1 -1
  153. package/build/ui/TabRouter.d.ts +14 -2
  154. package/build/ui/TabRouter.d.ts.map +1 -1
  155. package/build/ui/TabRouter.js +34 -4
  156. package/build/ui/TabRouter.js.map +1 -1
  157. package/build/useScreens.d.ts.map +1 -1
  158. package/build/useScreens.js +30 -15
  159. package/build/useScreens.js.map +1 -1
  160. package/expo-module.config.json +1 -1
  161. package/ios/LinkPreview/LinkPreviewNativeActionView.swift +18 -2
  162. package/ios/LinkPreview/LinkPreviewNativeModule.swift +3 -0
  163. package/ios/LinkPreview/LinkPreviewNativeNavigation.swift +2 -2
  164. package/ios/LinkPreview/LinkZoomTransition.swift +2 -2
  165. package/ios/Toolbar/RouterToolbarHostView.swift +68 -43
  166. package/ios/Toolbar/RouterToolbarItemView.swift +89 -21
  167. package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.module} +7 -7
  168. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.module.md5 +1 -0
  169. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.module.sha1 +1 -0
  170. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.module.sha256 +1 -0
  171. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.module.sha512 +1 -0
  172. package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.pom} +1 -1
  173. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.pom.md5 +1 -0
  174. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.pom.sha1 +1 -0
  175. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.pom.sha256 +1 -0
  176. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.pom.sha512 +1 -0
  177. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
  178. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
  179. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
  180. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
  181. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
  182. package/package.json +11 -13
  183. package/plugin/build/index.js +1 -1
  184. package/plugin/options.json +5 -0
  185. package/plugin/src/index.ts +1 -1
  186. package/build/layouts/stack-utils/StackHeaderBackButton.d.ts +0 -14
  187. package/build/layouts/stack-utils/StackHeaderBackButton.d.ts.map +0 -1
  188. package/build/layouts/stack-utils/StackHeaderBackButton.js +0 -19
  189. package/build/layouts/stack-utils/StackHeaderBackButton.js.map +0 -1
  190. package/build/layouts/stack-utils/StackHeaderButton.d.ts +0 -114
  191. package/build/layouts/stack-utils/StackHeaderButton.d.ts.map +0 -1
  192. package/build/layouts/stack-utils/StackHeaderButton.js +0 -49
  193. package/build/layouts/stack-utils/StackHeaderButton.js.map +0 -1
  194. package/build/layouts/stack-utils/StackHeaderLeftRight.d.ts +0 -119
  195. package/build/layouts/stack-utils/StackHeaderLeftRight.d.ts.map +0 -1
  196. package/build/layouts/stack-utils/StackHeaderLeftRight.js +0 -206
  197. package/build/layouts/stack-utils/StackHeaderLeftRight.js.map +0 -1
  198. package/build/layouts/stack-utils/StackHeaderMenu.d.ts.map +0 -1
  199. package/build/layouts/stack-utils/StackHeaderMenu.js +0 -214
  200. package/build/layouts/stack-utils/StackHeaderMenu.js.map +0 -1
  201. package/build/layouts/stack-utils/StackHeaderSpacer.d.ts +0 -46
  202. package/build/layouts/stack-utils/StackHeaderSpacer.d.ts.map +0 -1
  203. package/build/layouts/stack-utils/StackHeaderSpacer.js +0 -44
  204. package/build/layouts/stack-utils/StackHeaderSpacer.js.map +0 -1
  205. package/build/layouts/stack-utils/StackHeaderTitle.d.ts +0 -22
  206. package/build/layouts/stack-utils/StackHeaderTitle.d.ts.map +0 -1
  207. package/build/layouts/stack-utils/StackHeaderTitle.js +0 -36
  208. package/build/layouts/stack-utils/StackHeaderTitle.js.map +0 -1
  209. package/build/layouts/stack-utils/StackHeaderView.d.ts.map +0 -1
  210. package/build/layouts/stack-utils/StackHeaderView.js +0 -56
  211. package/build/layouts/stack-utils/StackHeaderView.js.map +0 -1
  212. package/build/toolbar/elements.d.ts +0 -417
  213. package/build/toolbar/elements.d.ts.map +0 -1
  214. package/build/toolbar/elements.js +0 -188
  215. package/build/toolbar/elements.js.map +0 -1
  216. package/build/toolbar/index.d.ts +0 -42
  217. package/build/toolbar/index.d.ts.map +0 -1
  218. package/build/toolbar/index.js +0 -49
  219. package/build/toolbar/index.js.map +0 -1
  220. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.md5 +0 -1
  221. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.sha1 +0 -1
  222. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.sha256 +0 -1
  223. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.sha512 +0 -1
  224. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.md5 +0 -1
  225. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.sha1 +0 -1
  226. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.sha256 +0 -1
  227. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.sha512 +0 -1
  228. package/unstable-toolbar.d.ts +0 -1
  229. package/unstable-toolbar.js +0 -1
  230. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28-sources.jar} +0 -0
  231. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.md5 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28-sources.jar.md5} +0 -0
  232. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.sha1 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28-sources.jar.sha1} +0 -0
  233. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.sha256 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28-sources.jar.sha256} +0 -0
  234. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.sha512 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28-sources.jar.sha512} +0 -0
  235. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.aar} +0 -0
  236. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.md5 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.aar.md5} +0 -0
  237. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.sha1 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.aar.sha1} +0 -0
  238. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.sha256 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.aar.sha256} +0 -0
  239. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.sha512 → 7.0.0-canary-20260119-70f7c28/expo.modules.router-7.0.0-canary-20260119-70f7c28.aar.sha512} +0 -0
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StackHeaderSpacer = void 0;
4
- exports.convertStackHeaderSpacerPropsToRNHeaderItem = convertStackHeaderSpacerPropsToRNHeaderItem;
5
- /**
6
- * A spacing helper used inside `Stack.Header.Left` or `Stack.Header.Right` to create
7
- * empty space between header items.
8
- *
9
- * @example
10
- * ```tsx
11
- * import { Stack } from 'expo-router';
12
- *
13
- * export default function Screen() {
14
- * return (
15
- * <>
16
- * <ScreenContent />
17
- * <Stack.Screen>
18
- * <Stack.Header>
19
- * <Stack.Header.Left>
20
- * <Stack.Header.Button icon="arrow.left" />
21
- * <Stack.Header.Spacer width={8} />
22
- * <Stack.Header.Button icon="arrow.right" />
23
- * </Stack.Header.Left>
24
- * </Stack.Header>
25
- * </Stack.Screen>
26
- * </>
27
- * );
28
- * }
29
- * ```
30
- *
31
- * @platform ios
32
- */
33
- const StackHeaderSpacer = () => null;
34
- exports.StackHeaderSpacer = StackHeaderSpacer;
35
- function convertStackHeaderSpacerPropsToRNHeaderItem({ hidden, width, }) {
36
- if (hidden) {
37
- return undefined;
38
- }
39
- return {
40
- type: 'spacing',
41
- spacing: width,
42
- };
43
- }
44
- //# sourceMappingURL=StackHeaderSpacer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackHeaderSpacer.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderSpacer.tsx"],"names":[],"mappings":";;;AAmDA,kGAWC;AAzCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,MAAM,iBAAiB,GAAqC,GAAG,EAAE,CAAC,IAAI,CAAC;AAAjE,QAAA,iBAAiB,qBAAgD;AAE9E,SAAgB,2CAA2C,CAAC,EAC1D,MAAM,EACN,KAAK,GACkB;IACvB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC","sourcesContent":["import type { NativeStackHeaderItemSpacing } from '@react-navigation/native-stack';\n\nexport interface StackHeaderSpacerProps {\n /**\n * Whether the spacer should be hidden.\n *\n * @default false\n */\n hidden?: boolean;\n // TODO: implement fluid spacing in react-native-screens\n /**\n * The width of the spacing element.\n *\n * This is typically used to create space between header elements.\n */\n width: number;\n // TODO: implement missing props in react-native-screens\n // hidesSharedBackground?: boolean;\n // sharesBackground?: boolean;\n}\n\n/**\n * A spacing helper used inside `Stack.Header.Left` or `Stack.Header.Right` to create\n * empty space between header items.\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n *\n * export default function Screen() {\n * return (\n * <>\n * <ScreenContent />\n * <Stack.Screen>\n * <Stack.Header>\n * <Stack.Header.Left>\n * <Stack.Header.Button icon=\"arrow.left\" />\n * <Stack.Header.Spacer width={8} />\n * <Stack.Header.Button icon=\"arrow.right\" />\n * </Stack.Header.Left>\n * </Stack.Header>\n * </Stack.Screen>\n * </>\n * );\n * }\n * ```\n *\n * @platform ios\n */\nexport const StackHeaderSpacer: React.FC<StackHeaderSpacerProps> = () => null;\n\nexport function convertStackHeaderSpacerPropsToRNHeaderItem({\n hidden,\n width,\n}: StackHeaderSpacerProps): NativeStackHeaderItemSpacing | undefined {\n if (hidden) {\n return undefined;\n }\n return {\n type: 'spacing',\n spacing: width,\n };\n}\n"]}
@@ -1,22 +0,0 @@
1
- import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
- import { type StyleProp, type TextStyle } from 'react-native';
3
- export type StackHeaderTitleProps = {
4
- children?: string;
5
- style?: StyleProp<{
6
- fontFamily?: TextStyle['fontFamily'];
7
- fontSize?: TextStyle['fontSize'];
8
- fontWeight?: Exclude<TextStyle['fontWeight'], number>;
9
- color?: string;
10
- textAlign?: 'left' | 'center';
11
- }>;
12
- largeStyle?: StyleProp<{
13
- fontFamily?: TextStyle['fontFamily'];
14
- fontSize?: TextStyle['fontSize'];
15
- fontWeight?: Exclude<TextStyle['fontWeight'], number>;
16
- color?: string;
17
- }>;
18
- large?: boolean;
19
- };
20
- export declare function StackHeaderTitle(props: StackHeaderTitleProps): null;
21
- export declare function appendStackHeaderTitlePropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderTitleProps): NativeStackNavigationOptions;
22
- //# sourceMappingURL=StackHeaderTitle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackHeaderTitle.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAChB,UAAU,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACjC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;QAGtD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC/B,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACjC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;QAGtD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,QAE5D;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,qBAAqB,GAC3B,4BAA4B,CA0B9B"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StackHeaderTitle = StackHeaderTitle;
4
- exports.appendStackHeaderTitlePropsToOptions = appendStackHeaderTitlePropsToOptions;
5
- const react_native_1 = require("react-native");
6
- const style_1 = require("../../utils/style");
7
- function StackHeaderTitle(props) {
8
- return null;
9
- }
10
- function appendStackHeaderTitlePropsToOptions(options, props) {
11
- const flattenedStyle = react_native_1.StyleSheet.flatten(props.style);
12
- const flattenedLargeStyle = react_native_1.StyleSheet.flatten(props.largeStyle);
13
- return {
14
- ...options,
15
- title: props.children,
16
- headerLargeTitle: props.large,
17
- headerTitleAlign: flattenedStyle?.textAlign,
18
- headerTitleStyle: {
19
- ...flattenedStyle,
20
- ...(flattenedStyle?.fontWeight
21
- ? {
22
- fontWeight: (0, style_1.convertFontWeightToStringFontWeight)(flattenedStyle?.fontWeight),
23
- }
24
- : {}),
25
- },
26
- headerLargeTitleStyle: {
27
- ...flattenedLargeStyle,
28
- ...(flattenedLargeStyle?.fontWeight
29
- ? {
30
- fontWeight: (0, style_1.convertFontWeightToStringFontWeight)(flattenedLargeStyle?.fontWeight),
31
- }
32
- : {}),
33
- },
34
- };
35
- }
36
- //# sourceMappingURL=StackHeaderTitle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackHeaderTitle.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderTitle.tsx"],"names":[],"mappings":";;AA2BA,4CAEC;AAED,oFA6BC;AA3DD,+CAA0E;AAE1E,6CAAwE;AAwBxE,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,oCAAoC,CAClD,OAAqC,EACrC,KAA4B;IAE5B,MAAM,cAAc,GAAG,yBAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,yBAAU,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEjE,OAAO;QACL,GAAG,OAAO;QACV,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,gBAAgB,EAAE,KAAK,CAAC,KAAK;QAC7B,gBAAgB,EAAE,cAAc,EAAE,SAAS;QAC3C,gBAAgB,EAAE;YAChB,GAAG,cAAc;YACjB,GAAG,CAAC,cAAc,EAAE,UAAU;gBAC5B,CAAC,CAAC;oBACE,UAAU,EAAE,IAAA,2CAAmC,EAAC,cAAc,EAAE,UAAU,CAAC;iBAC5E;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,qBAAqB,EAAE;YACrB,GAAG,mBAAmB;YACtB,GAAG,CAAC,mBAAmB,EAAE,UAAU;gBACjC,CAAC,CAAC;oBACE,UAAU,EAAE,IAAA,2CAAmC,EAAC,mBAAmB,EAAE,UAAU,CAAC;iBACjF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { NativeStackNavigationOptions } from '@react-navigation/native-stack';\nimport { StyleSheet, type StyleProp, type TextStyle } from 'react-native';\n\nimport { convertFontWeightToStringFontWeight } from '../../utils/style';\n\nexport type StackHeaderTitleProps = {\n children?: string;\n style?: StyleProp<{\n fontFamily?: TextStyle['fontFamily'];\n fontSize?: TextStyle['fontSize'];\n fontWeight?: Exclude<TextStyle['fontWeight'], number>;\n // TODO(@ubax): This should be ColorValue, but react-navigation types\n // currently only accept string for color props. In RN v8 we can change this to ColorValue.\n color?: string;\n textAlign?: 'left' | 'center';\n }>;\n largeStyle?: StyleProp<{\n fontFamily?: TextStyle['fontFamily'];\n fontSize?: TextStyle['fontSize'];\n fontWeight?: Exclude<TextStyle['fontWeight'], number>;\n // TODO(@ubax): This should be ColorValue, but react-navigation types\n // currently only accept string for color props. In RN v8 we can change this to ColorValue.\n color?: string;\n }>;\n large?: boolean;\n};\n\nexport function StackHeaderTitle(props: StackHeaderTitleProps) {\n return null;\n}\n\nexport function appendStackHeaderTitlePropsToOptions(\n options: NativeStackNavigationOptions,\n props: StackHeaderTitleProps\n): NativeStackNavigationOptions {\n const flattenedStyle = StyleSheet.flatten(props.style);\n const flattenedLargeStyle = StyleSheet.flatten(props.largeStyle);\n\n return {\n ...options,\n title: props.children,\n headerLargeTitle: props.large,\n headerTitleAlign: flattenedStyle?.textAlign,\n headerTitleStyle: {\n ...flattenedStyle,\n ...(flattenedStyle?.fontWeight\n ? {\n fontWeight: convertFontWeightToStringFontWeight(flattenedStyle?.fontWeight),\n }\n : {}),\n },\n headerLargeTitleStyle: {\n ...flattenedLargeStyle,\n ...(flattenedLargeStyle?.fontWeight\n ? {\n fontWeight: convertFontWeightToStringFontWeight(flattenedLargeStyle?.fontWeight),\n }\n : {}),\n },\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackHeaderView.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAElF,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAClD;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAGjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAc,CAAC;AAE1E,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,oBAAoB,GAC1B,2BAA2B,GAAG,SAAS,CAgBzC"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StackHeaderView = void 0;
4
- exports.convertStackHeaderViewPropsToRNHeaderItem = convertStackHeaderViewPropsToRNHeaderItem;
5
- /**
6
- * A wrapper to render custom content in the header.
7
- *
8
- * Use as `Stack.Header.Item` to render a custom React element into the header
9
- *
10
- * @example
11
- * ```tsx
12
- * import { Stack } from 'expo-router';
13
- * import { Text } from 'react-native';
14
- *
15
- * function CustomHeaderElement() {
16
- * return <Text>Custom Element</Text>;
17
- * }
18
- *
19
- * function Screen() {
20
- * return (
21
- * <>
22
- * <ScreenContent />
23
- * <Stack.Screen>
24
- * <Stack.Header>
25
- * <Stack.Header.Left>
26
- * <Stack.Header.Item>
27
- * <CustomHeaderElement />
28
- * </Stack.Header.Item>
29
- * </Stack.Header.Left>
30
- * </Stack.Header>
31
- * </Stack.Screen>
32
- * </>
33
- * );
34
- * }
35
- * ```
36
- *
37
- * @platform ios
38
- */
39
- const StackHeaderView = () => null;
40
- exports.StackHeaderView = StackHeaderView;
41
- function convertStackHeaderViewPropsToRNHeaderItem(props) {
42
- if (props.hidden) {
43
- return undefined;
44
- }
45
- const { children, hidesSharedBackground } = props;
46
- if (!children) {
47
- console.warn('Stack.Header.View requires a child element to render custom content in the header.');
48
- }
49
- const element = children ? children : <></>;
50
- return {
51
- type: 'custom',
52
- element,
53
- hidesSharedBackground,
54
- };
55
- }
56
- //# sourceMappingURL=StackHeaderView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackHeaderView.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderView.tsx"],"names":[],"mappings":";;;AA6DA,8FAkBC;AAtDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACI,MAAM,eAAe,GAAmC,GAAG,EAAE,CAAC,IAAI,CAAC;AAA7D,QAAA,eAAe,mBAA8C;AAE1E,SAAgB,yCAAyC,CACvD,KAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CACV,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,qBAAqB;KACtB,CAAC;AACJ,CAAC","sourcesContent":["import type { NativeStackHeaderItemCustom } from '@react-navigation/native-stack';\n\nexport interface StackHeaderViewProps {\n /**\n * Can be any React node.\n */\n children?: NativeStackHeaderItemCustom['element'];\n /**\n * Whether the view should be hidden.\n *\n * @default false\n */\n hidden?: boolean;\n /**\n * Whether to hide the shared background.\n *\n * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/hidessharedbackground) for more information.\n *\n * @platform iOS 26+\n */\n hidesSharedBackground?: boolean;\n // TODO: implement missing props in react-native-screens\n // separateBackground?: boolean;\n}\n\n/**\n * A wrapper to render custom content in the header.\n *\n * Use as `Stack.Header.Item` to render a custom React element into the header\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n * import { Text } from 'react-native';\n *\n * function CustomHeaderElement() {\n * return <Text>Custom Element</Text>;\n * }\n *\n * function Screen() {\n * return (\n * <>\n * <ScreenContent />\n * <Stack.Screen>\n * <Stack.Header>\n * <Stack.Header.Left>\n * <Stack.Header.Item>\n * <CustomHeaderElement />\n * </Stack.Header.Item>\n * </Stack.Header.Left>\n * </Stack.Header>\n * </Stack.Screen>\n * </>\n * );\n * }\n * ```\n *\n * @platform ios\n */\nexport const StackHeaderView: React.FC<StackHeaderViewProps> = () => null;\n\nexport function convertStackHeaderViewPropsToRNHeaderItem(\n props: StackHeaderViewProps\n): NativeStackHeaderItemCustom | undefined {\n if (props.hidden) {\n return undefined;\n }\n const { children, hidesSharedBackground } = props;\n if (!children) {\n console.warn(\n 'Stack.Header.View requires a child element to render custom content in the header.'\n );\n }\n const element = children ? children : <></>;\n return {\n type: 'custom',\n element,\n hidesSharedBackground,\n };\n}\n"]}
@@ -1,417 +0,0 @@
1
- import type { ImageRef } from 'expo-image';
2
- import { type ReactNode } from 'react';
3
- import { type ColorValue, type StyleProp } from 'react-native';
4
- import type { SFSymbol } from 'sf-symbols-typescript';
5
- import { LinkMenuAction, type LinkMenuActionProps } from '../link/elements';
6
- import type { BasicTextStyle } from '../utils/font';
7
- export interface ToolbarMenuProps {
8
- accessibilityLabel?: string;
9
- accessibilityHint?: string;
10
- children?: React.ReactNode;
11
- /**
12
- * An optional subtitle for the menu. Does not appear on `inline` menus.
13
- *
14
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uimenuelement/subtitle) for more information.
15
- */
16
- subtitle?: string;
17
- /**
18
- * If `true`, the menu item will be displayed as destructive.
19
- *
20
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uimenu/options-swift.struct/destructive) for more information.
21
- */
22
- destructive?: boolean;
23
- disabled?: boolean;
24
- hidden?: boolean;
25
- /**
26
- * Whether to hide the shared background when `sharesBackground` is enabled.
27
- *
28
- * Only available for root level menus.
29
- *
30
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/hidessharedbackground) for more information.
31
- *
32
- * @platform iOS 26+
33
- */
34
- hidesSharedBackground?: boolean;
35
- /**
36
- * Optional SF Symbol displayed alongside the menu item.
37
- */
38
- icon?: SFSymbol;
39
- /**
40
- * If `true`, the menu will be displayed inline.
41
- * This means that the menu will not be collapsed
42
- *
43
- * > **Note*: Inline menus are only supported in submenus.
44
- *
45
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uimenu/options-swift.struct/displayinline) for more information.
46
- */
47
- inline?: boolean;
48
- /**
49
- * If `true`, the menu will be displayed as a palette.
50
- * This means that the menu will be displayed as one row.
51
- * The `elementSize` property is ignored when palette is used, all items will be `elementSize="small"`. Use `elementSize="medium"` instead of `palette` to display actions with titles horizontally.
52
- *
53
- * > **Note**: Palette menus are only supported in submenus.
54
- *
55
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uimenu/options-swift.struct/displayaspalette) for more information.
56
- */
57
- palette?: boolean;
58
- /**
59
- * Whether to separate the background of this item from other header items.
60
- *
61
- * > **Note**: Text buttons cannot share the background.
62
- *
63
- * This prop reverses the native behavior of `sharesBackground`.
64
- *
65
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/sharesbackground) for more information.
66
- *
67
- * @default false
68
- *
69
- * @platform iOS 26+
70
- */
71
- separateBackground?: boolean;
72
- /**
73
- * Style for the label of the header item.
74
- */
75
- style?: StyleProp<BasicTextStyle>;
76
- /**
77
- * The title of the menu item
78
- */
79
- title?: string;
80
- /**
81
- * Tint color for the menu icon and text.
82
- */
83
- tintColor?: ColorValue;
84
- /**
85
- * Controls the visual style of the menu when represented as a bar button.
86
- *
87
- * @default 'plain'
88
- */
89
- variant?: 'plain' | 'done' | 'prominent';
90
- /**
91
- * The preferred size of the menu elements.
92
- * `elementSize` property is ignored when `palette` is used.
93
- *
94
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uimenu/preferredelementsize) for more information.
95
- *
96
- * @platform iOS 16.0+
97
- */
98
- elementSize?: 'auto' | 'small' | 'medium' | 'large';
99
- }
100
- /**
101
- * Adds a context menu for to a toolbar.
102
- *
103
- * @example
104
- * ```tsx
105
- * <Toolbar>
106
- * <Toolbar.Menu title="Options">
107
- * <Toolbar.MenuAction title="Action 1" onPress={() => {}} />
108
- * <Toolbar.MenuAction title="Action 2" onPress={() => {}} />
109
- * </Toolbar.Menu>
110
- * </Toolbar>
111
- * ```
112
- *
113
- * @platform ios
114
- */
115
- export declare const ToolbarMenu: React.FC<ToolbarMenuProps>;
116
- export type ToolbarMenuActionProps = LinkMenuActionProps;
117
- /**
118
- * A single action item within a toolbar menu.
119
- *
120
- * For available props, see [`LinkMenuActionProps`](./router/#linkmenuactionprops).
121
- *
122
- * @example
123
- * ```tsx
124
- * <Toolbar>
125
- * <Toolbar.Menu title="Options">
126
- * <Toolbar.MenuAction title="Action 1" onPress={() => {}} />
127
- * <Toolbar.MenuAction title="Action 2" onPress={() => {}} />
128
- * </Toolbar.Menu>
129
- * </Toolbar>
130
- * ```
131
- *
132
- * @platform ios
133
- */
134
- export declare const ToolbarMenuAction: typeof LinkMenuAction;
135
- export interface ToolbarButtonProps {
136
- accessibilityLabel?: string;
137
- accessibilityHint?: string;
138
- /**
139
- * The text label for the button.
140
- *
141
- * > **Note**: When icon is used, the label will not be shown and will be used for accessibility purposes only.
142
- *
143
- * @example
144
- * ```tsx
145
- * import { Toolbar } from 'expo-router/unstable-toolbar';
146
- *
147
- * ...
148
- * <Toolbar.Button>This is button label</Toolbar.Button>
149
- * ```
150
- */
151
- children?: ReactNode;
152
- disabled?: boolean;
153
- /**
154
- * Whether the button should be hidden.
155
- *
156
- * @default false
157
- */
158
- hidden?: boolean;
159
- /**
160
- * Whether to hide the shared background.
161
- *
162
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/hidessharedbackground) for more information.
163
- *
164
- * @platform iOS 26+
165
- */
166
- hidesSharedBackground?: boolean;
167
- /**
168
- * The name of the SF Symbol to display as the button icon.
169
- * For a list of available symbols, see [SF Symbols](https://developer.apple.com/sf-symbols/).
170
- */
171
- icon?: SFSymbol;
172
- /**
173
- * Custom image loaded using expo-image's `useImage` hook.
174
- * Takes priority over `icon` (SF Symbol) when both are provided.
175
- *
176
- * @example
177
- * ```tsx
178
- * import { useImage } from 'expo-image';
179
- * import { Toolbar } from 'expo-router/unstable-toolbar';
180
- *
181
- * const customIcon = useImage('https://example.com/icon.png', {
182
- * maxWidth: 44,
183
- * maxHeight: 44,
184
- * });
185
- *
186
- * <Toolbar.Button image={customIcon} onPress={() => {}} />
187
- * ```
188
- */
189
- image?: ImageRef | null;
190
- /**
191
- * Callback function when the button is pressed.
192
- */
193
- onPress?: () => void;
194
- /**
195
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/possibletitles) for more information.
196
- */
197
- possibleTitles?: string[];
198
- /**
199
- * Whether the button is in a selected state
200
- *
201
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/isselected) for more information.
202
- */
203
- selected?: boolean;
204
- /**
205
- * Whether to separate the background of this item from other header items.
206
- *
207
- * > **Note**: Text buttons cannot share the background.
208
- *
209
- * This prop reverses the native behavior of `sharesBackground`.
210
- *
211
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/sharesbackground) for more information.
212
- *
213
- * @default false
214
- *
215
- * @platform iOS 26+
216
- */
217
- separateBackground?: boolean;
218
- /**
219
- * Style for the label of the header item.
220
- */
221
- style?: StyleProp<BasicTextStyle>;
222
- /**
223
- * Tint color for the button icon and text.
224
- */
225
- tintColor?: ColorValue;
226
- /**
227
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.enum) for more information.
228
- *
229
- * @default 'plain'
230
- */
231
- variant?: 'plain' | 'done' | 'prominent';
232
- }
233
- /**
234
- * A button component for use in the toolbar.
235
- * It should only be used as a child of `Toolbar`.
236
- *
237
- * @example
238
- * ```tsx
239
- * <Toolbar>
240
- * <Toolbar.Button icon="magnifyingglass" tintColor={Color.ios.placeholderText} />
241
- * <Toolbar.Button>Text Button</Toolbar.Button>
242
- * <Toolbar.Button hidden={!isSearchFocused} icon="xmark" onPress={handleClear} />
243
- * </Toolbar>
244
- * ```
245
- *
246
- * @platform ios
247
- */
248
- export declare const ToolbarButton: (props: ToolbarButtonProps) => import("react").JSX.Element;
249
- export type ToolbarSpacerProps = {
250
- /**
251
- * Whether to hide the shared background when `sharesBackground` is enabled.
252
- *
253
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/hidessharedbackground) for more information.
254
- *
255
- * @platform iOS 26+
256
- */
257
- hidesSharedBackground?: boolean;
258
- /**
259
- * Whether the spacer should be hidden.
260
- *
261
- * @default false
262
- */
263
- hidden?: boolean;
264
- /**
265
- * Whether the spacer shares the background with adjacent toolbar items.
266
- *
267
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/sharesbackground) for more information.
268
- *
269
- * @platform iOS 26+
270
- * @default false
271
- */
272
- sharesBackground?: boolean;
273
- /**
274
- * By default, the spacer is flexible and expands to fill available space.
275
- * If a width is provided, it creates a [fixed-width spacer](https://developer.apple.com/documentation/uikit/uibarbuttonitem/fixedspace(_:)).
276
- */
277
- width?: number;
278
- };
279
- /**
280
- * A spacer component for the toolbar.
281
- * Without a width, it creates a flexible spacer that expands to fill available space.
282
- * With a width, it creates a fixed-width spacer.
283
- * It should only be used as a child of `Toolbar`.
284
- *
285
- * @example
286
- * ```tsx
287
- * <Toolbar>
288
- * <Toolbar.Spacer />
289
- * <Toolbar.Button icon="magnifyingglass" />
290
- * <Toolbar.Spacer width={20} />
291
- * <Toolbar.Button icon="mic" />
292
- * <Toolbar.Spacer />
293
- * </Toolbar>
294
- * ```
295
- *
296
- * @platform ios
297
- */
298
- export declare const ToolbarSpacer: (props: ToolbarSpacerProps) => import("react").JSX.Element;
299
- export interface ToolbarSearchBarPreferredSlotProps {
300
- /**
301
- * Whether to hide the shared background when `sharesBackground` is enabled.
302
- *
303
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/hidessharedbackground) for more information.
304
- *
305
- * @platform iOS 26+
306
- */
307
- hidesSharedBackground?: boolean;
308
- /**
309
- * Whether the search bar placed in the toolbar should be hidden.
310
- *
311
- * @default false
312
- */
313
- hidden?: boolean;
314
- /**
315
- * Whether the search bar shares the background with adjacent toolbar items.
316
- *
317
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/sharesbackground) for more information.
318
- *
319
- * @platform iOS 26+
320
- * @default false
321
- */
322
- sharesBackground?: boolean;
323
- }
324
- /**
325
- * Declares the position of a search bar within the toolbar.
326
- * It should only be used as a child of `Toolbar`.
327
- *
328
- * > **Note**: On iOS 26+, this component specifies where in the toolbar the search bar
329
- * > (configured via `Stack.SearchBar`) should appear. On iOS 18 and earlier, the search bar
330
- * > will be shown in the header instead.
331
- *
332
- * > **Important**: You must use `Stack.SearchBar` to configure and display the actual
333
- * > search bar. This component only declares its position in the toolbar.
334
- *
335
- * @example
336
- * ```tsx
337
- * <Stack.SearchBar placeholder="Search..." />
338
- * <Toolbar>
339
- * <Toolbar.SearchBarPreferredSlot />
340
- * <Toolbar.Spacer />
341
- * <Toolbar.Button icon="mic" />
342
- * </Toolbar>
343
- * ```
344
- *
345
- * @platform ios 26+
346
- */
347
- export declare const ToolbarSearchBarPreferredSlot: ({ hidesSharedBackground, hidden, sharesBackground, }: ToolbarSearchBarPreferredSlotProps) => import("react").JSX.Element | null;
348
- /**
349
- * Props for the ToolbarView component.
350
- *
351
- * @platform ios
352
- */
353
- export interface ToolbarViewProps {
354
- /**
355
- * React elements to render inside the toolbar view.
356
- */
357
- children: React.ReactNode;
358
- /**
359
- * Whether the view should be hidden.
360
- *
361
- * @default false
362
- */
363
- hidden?: boolean;
364
- /**
365
- * Whether to hide the shared background when `sharesBackground` is enabled.
366
- *
367
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/hidessharedbackground) for more information.
368
- *
369
- * @platform iOS 18+
370
- */
371
- hidesSharedBackground?: boolean;
372
- /**
373
- * Whether to separate the background of this item from other header items.
374
- *
375
- * This prop reverses the native behavior of `sharesBackground`.
376
- *
377
- * @see [Official Apple documentation](https://developer.apple.com/documentation/uikit/uibarbuttonitem/sharesbackground) for more information.
378
- *
379
- * @default false
380
- *
381
- * @platform iOS 26+
382
- */
383
- separateBackground?: boolean;
384
- }
385
- /**
386
- * A custom view component for the toolbar that can contain any React elements.
387
- * Useful for embedding custom components.
388
- * It should only be used as a child of `Toolbar`.
389
- *
390
- * The items within the view will be absolutely positioned, so flexbox styles will not work as expected.
391
- *
392
- * @example
393
- * ```tsx
394
- * <Toolbar>
395
- * <Toolbar.Spacer />
396
- * <Toolbar.View>
397
- * <TextInput
398
- * placeholder="Search"
399
- * placeholderTextColor={Color.ios.placeholderText}
400
- * />
401
- * </Toolbar.View>
402
- * <Toolbar.View separateBackground>
403
- * <Pressable style={{ width: 32, height: 32 }} onPress={handlePress}>
404
- * <SymbolView name="plus" size={22} />
405
- * </Pressable>
406
- * </Toolbar.View>
407
- * </Toolbar>
408
- * ```
409
- *
410
- * @platform ios
411
- */
412
- export declare const ToolbarView: ({ children, hidden, hidesSharedBackground, separateBackground, }: ToolbarViewProps) => import("react").JSX.Element;
413
- export interface ToolbarProps {
414
- children?: React.ReactNode;
415
- }
416
- export declare const ToolbarHost: (props: ToolbarProps) => import("react").JSX.Element;
417
- //# sourceMappingURL=elements.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/toolbar/elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAwB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAI5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IACzC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsDlD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,uBAAiB,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;CAC1C;AAKD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAgCtD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAYtD,CAAC;AAEF,MAAM,WAAW,kCAAkC;IACjD;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,6BAA6B,GAAI,sDAI3C,kCAAkC,uCAgBpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,WAAW,GAAI,kEAKzB,gBAAgB,gCAWlB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,gCAO9C,CAAC"}