expo-router 7.0.0-canary-20260114-d8e19f5 → 7.0.0-canary-20260120-bb71700

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 (261) 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-state/routing.d.ts.map +1 -1
  6. package/build/global-state/routing.js +7 -2
  7. package/build/global-state/routing.js.map +1 -1
  8. package/build/global.d.ts +29 -0
  9. package/build/global.d.ts.map +1 -0
  10. package/build/global.js +3 -0
  11. package/build/global.js.map +1 -0
  12. package/build/index.d.ts +1 -0
  13. package/build/index.d.ts.map +1 -1
  14. package/build/index.js +1 -0
  15. package/build/index.js.map +1 -1
  16. package/build/layouts/Stack.d.ts.map +1 -1
  17. package/build/layouts/Stack.js +3 -0
  18. package/build/layouts/Stack.js.map +1 -1
  19. package/build/layouts/Stack.web.js +1 -0
  20. package/build/layouts/Stack.web.js.map +1 -1
  21. package/build/layouts/StackClient.d.ts +13 -14
  22. package/build/layouts/StackClient.d.ts.map +1 -1
  23. package/build/layouts/StackClient.js +3 -2
  24. package/build/layouts/StackClient.js.map +1 -1
  25. package/build/layouts/stack-utils/StackHeaderComponent.d.ts +12 -23
  26. package/build/layouts/stack-utils/StackHeaderComponent.d.ts.map +1 -1
  27. package/build/layouts/stack-utils/StackHeaderComponent.js +15 -55
  28. package/build/layouts/stack-utils/StackHeaderComponent.js.map +1 -1
  29. package/build/layouts/stack-utils/StackScreen.d.ts +5 -0
  30. package/build/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  31. package/build/layouts/stack-utils/StackScreen.js +34 -7
  32. package/build/layouts/stack-utils/StackScreen.js.map +1 -1
  33. package/build/layouts/stack-utils/StackSearchBar.d.ts +28 -0
  34. package/build/layouts/stack-utils/StackSearchBar.d.ts.map +1 -1
  35. package/build/layouts/stack-utils/StackSearchBar.js +29 -0
  36. package/build/layouts/stack-utils/StackSearchBar.js.map +1 -1
  37. package/build/layouts/stack-utils/common-primitives.d.ts +6 -6
  38. package/build/layouts/stack-utils/common-primitives.d.ts.map +1 -1
  39. package/build/layouts/stack-utils/common-primitives.js +4 -4
  40. package/build/layouts/stack-utils/common-primitives.js.map +1 -1
  41. package/build/layouts/stack-utils/index.d.ts +4 -23
  42. package/build/layouts/stack-utils/index.d.ts.map +1 -1
  43. package/build/layouts/stack-utils/index.js +18 -35
  44. package/build/layouts/stack-utils/index.js.map +1 -1
  45. package/build/layouts/stack-utils/screen/StackScreenBackButton.d.ts +68 -0
  46. package/build/layouts/stack-utils/screen/StackScreenBackButton.d.ts.map +1 -0
  47. package/build/layouts/stack-utils/screen/StackScreenBackButton.js +58 -0
  48. package/build/layouts/stack-utils/screen/StackScreenBackButton.js.map +1 -0
  49. package/build/layouts/stack-utils/screen/StackScreenTitle.d.ts +58 -0
  50. package/build/layouts/stack-utils/screen/StackScreenTitle.d.ts.map +1 -0
  51. package/build/layouts/stack-utils/screen/StackScreenTitle.js +75 -0
  52. package/build/layouts/stack-utils/screen/StackScreenTitle.js.map +1 -0
  53. package/build/layouts/stack-utils/screen/index.d.ts +3 -0
  54. package/build/layouts/stack-utils/screen/index.d.ts.map +1 -0
  55. package/build/layouts/stack-utils/screen/index.js +10 -0
  56. package/build/layouts/stack-utils/screen/index.js.map +1 -0
  57. package/build/layouts/stack-utils/shared.js +3 -3
  58. package/build/layouts/stack-utils/shared.js.map +1 -1
  59. package/build/layouts/stack-utils/toolbar/StackToolbar.d.ts +3 -0
  60. package/build/layouts/stack-utils/toolbar/StackToolbar.d.ts.map +1 -0
  61. package/build/layouts/stack-utils/toolbar/StackToolbar.js +24 -0
  62. package/build/layouts/stack-utils/toolbar/StackToolbar.js.map +1 -0
  63. package/build/layouts/stack-utils/toolbar/StackToolbarButton.d.ts +144 -0
  64. package/build/layouts/stack-utils/toolbar/StackToolbarButton.d.ts.map +1 -0
  65. package/build/layouts/stack-utils/toolbar/StackToolbarButton.js +68 -0
  66. package/build/layouts/stack-utils/toolbar/StackToolbarButton.js.map +1 -0
  67. package/build/layouts/stack-utils/toolbar/StackToolbarClient.d.ts +104 -0
  68. package/build/layouts/stack-utils/toolbar/StackToolbarClient.d.ts.map +1 -0
  69. package/build/layouts/stack-utils/toolbar/StackToolbarClient.js +214 -0
  70. package/build/layouts/stack-utils/toolbar/StackToolbarClient.js.map +1 -0
  71. package/build/layouts/stack-utils/{StackHeaderMenu.d.ts → toolbar/StackToolbarMenu.d.ts} +58 -106
  72. package/build/layouts/stack-utils/toolbar/StackToolbarMenu.d.ts.map +1 -0
  73. package/build/layouts/stack-utils/toolbar/StackToolbarMenu.js +190 -0
  74. package/build/layouts/stack-utils/toolbar/StackToolbarMenu.js.map +1 -0
  75. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.d.ts +48 -0
  76. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.d.ts.map +1 -0
  77. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.js +44 -0
  78. package/build/layouts/stack-utils/toolbar/StackToolbarSearchBarSlot.js.map +1 -0
  79. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.d.ts +80 -0
  80. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.d.ts.map +1 -0
  81. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.js +77 -0
  82. package/build/layouts/stack-utils/toolbar/StackToolbarSpacer.js.map +1 -0
  83. package/build/layouts/stack-utils/{StackHeaderView.d.ts → toolbar/StackToolbarView.d.ts} +21 -17
  84. package/build/layouts/stack-utils/toolbar/StackToolbarView.d.ts.map +1 -0
  85. package/build/layouts/stack-utils/toolbar/StackToolbarView.js +61 -0
  86. package/build/layouts/stack-utils/toolbar/StackToolbarView.js.map +1 -0
  87. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.d.ts +93 -0
  88. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.d.ts.map +1 -0
  89. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.js +89 -0
  90. package/build/layouts/stack-utils/toolbar/bottom-toolbar-native-elements.js.map +1 -0
  91. package/build/layouts/stack-utils/toolbar/context.d.ts +9 -0
  92. package/build/layouts/stack-utils/toolbar/context.d.ts.map +1 -0
  93. package/build/layouts/stack-utils/toolbar/context.js +16 -0
  94. package/build/layouts/stack-utils/toolbar/context.js.map +1 -0
  95. package/build/layouts/stack-utils/toolbar/index.d.ts +10 -0
  96. package/build/layouts/stack-utils/toolbar/index.d.ts.map +1 -0
  97. package/build/layouts/stack-utils/toolbar/index.js +23 -0
  98. package/build/layouts/stack-utils/toolbar/index.js.map +1 -0
  99. package/build/link/LinkWithPreview.d.ts.map +1 -1
  100. package/build/link/LinkWithPreview.js +8 -5
  101. package/build/link/LinkWithPreview.js.map +1 -1
  102. package/build/link/NativeMenuContext.d.ts +5 -0
  103. package/build/link/NativeMenuContext.d.ts.map +1 -0
  104. package/build/link/NativeMenuContext.js +9 -0
  105. package/build/link/NativeMenuContext.js.map +1 -0
  106. package/build/link/elements.d.ts +41 -0
  107. package/build/link/elements.d.ts.map +1 -1
  108. package/build/link/elements.js +3 -2
  109. package/build/link/elements.js.map +1 -1
  110. package/build/link/preview/native.d.ts +2 -0
  111. package/build/link/preview/native.d.ts.map +1 -1
  112. package/build/link/preview/native.js +3 -1
  113. package/build/link/preview/native.js.map +1 -1
  114. package/build/loaders/utils.d.ts +5 -2
  115. package/build/loaders/utils.d.ts.map +1 -1
  116. package/build/loaders/utils.js +8 -5
  117. package/build/loaders/utils.js.map +1 -1
  118. package/build/native-tabs/NativeBottomTabsNavigator.d.ts +1 -1
  119. package/build/native-tabs/NativeBottomTabsNavigator.d.ts.map +1 -1
  120. package/build/native-tabs/NativeBottomTabsNavigator.js +2 -1
  121. package/build/native-tabs/NativeBottomTabsNavigator.js.map +1 -1
  122. package/build/native-tabs/NativeTabTrigger.d.ts.map +1 -1
  123. package/build/native-tabs/NativeTabTrigger.js +6 -4
  124. package/build/native-tabs/NativeTabTrigger.js.map +1 -1
  125. package/build/native-tabs/NativeTabsView.d.ts.map +1 -1
  126. package/build/native-tabs/NativeTabsView.js +6 -9
  127. package/build/native-tabs/NativeTabsView.js.map +1 -1
  128. package/build/native-tabs/appearance.d.ts +7 -7
  129. package/build/native-tabs/appearance.d.ts.map +1 -1
  130. package/build/native-tabs/appearance.js.map +1 -1
  131. package/build/native-tabs/common/elements.d.ts +10 -0
  132. package/build/native-tabs/common/elements.d.ts.map +1 -1
  133. package/build/native-tabs/common/elements.js.map +1 -1
  134. package/build/native-tabs/types.d.ts +9 -3
  135. package/build/native-tabs/types.d.ts.map +1 -1
  136. package/build/native-tabs/types.js.map +1 -1
  137. package/build/native-tabs/utils/bottomAccessory.d.ts +2 -2
  138. package/build/native-tabs/utils/bottomAccessory.d.ts.map +1 -1
  139. package/build/native-tabs/utils/bottomAccessory.js.map +1 -1
  140. package/build/native-tabs/utils/icon.d.ts +4 -2
  141. package/build/native-tabs/utils/icon.d.ts.map +1 -1
  142. package/build/native-tabs/utils/icon.js +3 -0
  143. package/build/native-tabs/utils/icon.js.map +1 -1
  144. package/build/navigationEvents/index.d.ts +7 -24
  145. package/build/navigationEvents/index.d.ts.map +1 -1
  146. package/build/navigationEvents/index.js +47 -12
  147. package/build/navigationEvents/index.js.map +1 -1
  148. package/build/navigationEvents/types.d.ts +23 -0
  149. package/build/navigationEvents/types.d.ts.map +1 -0
  150. package/build/navigationEvents/types.js +3 -0
  151. package/build/navigationEvents/types.js.map +1 -0
  152. package/build/navigationEvents/utils.d.ts +9 -0
  153. package/build/navigationEvents/utils.d.ts.map +1 -0
  154. package/build/navigationEvents/utils.js +25 -0
  155. package/build/navigationEvents/utils.js.map +1 -0
  156. package/build/primitives/types.d.ts +6 -6
  157. package/build/primitives/types.d.ts.map +1 -1
  158. package/build/primitives/types.js.map +1 -1
  159. package/build/screensFeatureFlags.d.ts +2 -0
  160. package/build/screensFeatureFlags.d.ts.map +1 -0
  161. package/build/screensFeatureFlags.js +20 -0
  162. package/build/screensFeatureFlags.js.map +1 -0
  163. package/build/split-view/elements.js +3 -3
  164. package/build/split-view/elements.js.map +1 -1
  165. package/build/split-view/index.d.ts +1 -1
  166. package/build/split-view/index.d.ts.map +1 -1
  167. package/build/split-view/index.js.map +1 -1
  168. package/build/split-view/split-view.d.ts +3 -3
  169. package/build/split-view/split-view.d.ts.map +1 -1
  170. package/build/split-view/split-view.js +4 -4
  171. package/build/split-view/split-view.js.map +1 -1
  172. package/build/toolbar/native.types.d.ts +0 -14
  173. package/build/toolbar/native.types.d.ts.map +1 -1
  174. package/build/toolbar/native.types.js.map +1 -1
  175. package/build/ui/TabRouter.d.ts +14 -2
  176. package/build/ui/TabRouter.d.ts.map +1 -1
  177. package/build/ui/TabRouter.js +34 -4
  178. package/build/ui/TabRouter.js.map +1 -1
  179. package/build/useScreens.d.ts.map +1 -1
  180. package/build/useScreens.js +30 -15
  181. package/build/useScreens.js.map +1 -1
  182. package/expo-module.config.json +1 -1
  183. package/ios/LinkPreview/LinkPreviewNativeActionView.swift +18 -2
  184. package/ios/LinkPreview/LinkPreviewNativeModule.swift +3 -0
  185. package/ios/LinkPreview/LinkPreviewNativeNavigation.swift +2 -2
  186. package/ios/LinkPreview/LinkZoomTransition.swift +2 -2
  187. package/ios/Toolbar/RouterToolbarHostView.swift +68 -43
  188. package/ios/Toolbar/RouterToolbarItemView.swift +89 -21
  189. 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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.module} +7 -7
  190. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.module.md5 +1 -0
  191. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.module.sha1 +1 -0
  192. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.module.sha256 +1 -0
  193. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.module.sha512 +1 -0
  194. 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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.pom} +1 -1
  195. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.pom.md5 +1 -0
  196. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.pom.sha1 +1 -0
  197. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.pom.sha256 +1 -0
  198. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.pom.sha512 +1 -0
  199. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
  200. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
  201. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
  202. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
  203. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
  204. package/package.json +11 -13
  205. package/plugin/build/index.js +1 -1
  206. package/plugin/options.json +5 -0
  207. package/plugin/src/index.ts +1 -1
  208. package/build/layouts/stack-utils/StackHeaderBackButton.d.ts +0 -14
  209. package/build/layouts/stack-utils/StackHeaderBackButton.d.ts.map +0 -1
  210. package/build/layouts/stack-utils/StackHeaderBackButton.js +0 -19
  211. package/build/layouts/stack-utils/StackHeaderBackButton.js.map +0 -1
  212. package/build/layouts/stack-utils/StackHeaderButton.d.ts +0 -114
  213. package/build/layouts/stack-utils/StackHeaderButton.d.ts.map +0 -1
  214. package/build/layouts/stack-utils/StackHeaderButton.js +0 -49
  215. package/build/layouts/stack-utils/StackHeaderButton.js.map +0 -1
  216. package/build/layouts/stack-utils/StackHeaderLeftRight.d.ts +0 -119
  217. package/build/layouts/stack-utils/StackHeaderLeftRight.d.ts.map +0 -1
  218. package/build/layouts/stack-utils/StackHeaderLeftRight.js +0 -206
  219. package/build/layouts/stack-utils/StackHeaderLeftRight.js.map +0 -1
  220. package/build/layouts/stack-utils/StackHeaderMenu.d.ts.map +0 -1
  221. package/build/layouts/stack-utils/StackHeaderMenu.js +0 -214
  222. package/build/layouts/stack-utils/StackHeaderMenu.js.map +0 -1
  223. package/build/layouts/stack-utils/StackHeaderSpacer.d.ts +0 -46
  224. package/build/layouts/stack-utils/StackHeaderSpacer.d.ts.map +0 -1
  225. package/build/layouts/stack-utils/StackHeaderSpacer.js +0 -44
  226. package/build/layouts/stack-utils/StackHeaderSpacer.js.map +0 -1
  227. package/build/layouts/stack-utils/StackHeaderTitle.d.ts +0 -22
  228. package/build/layouts/stack-utils/StackHeaderTitle.d.ts.map +0 -1
  229. package/build/layouts/stack-utils/StackHeaderTitle.js +0 -36
  230. package/build/layouts/stack-utils/StackHeaderTitle.js.map +0 -1
  231. package/build/layouts/stack-utils/StackHeaderView.d.ts.map +0 -1
  232. package/build/layouts/stack-utils/StackHeaderView.js +0 -56
  233. package/build/layouts/stack-utils/StackHeaderView.js.map +0 -1
  234. package/build/toolbar/elements.d.ts +0 -417
  235. package/build/toolbar/elements.d.ts.map +0 -1
  236. package/build/toolbar/elements.js +0 -188
  237. package/build/toolbar/elements.js.map +0 -1
  238. package/build/toolbar/index.d.ts +0 -42
  239. package/build/toolbar/index.d.ts.map +0 -1
  240. package/build/toolbar/index.js +0 -49
  241. package/build/toolbar/index.js.map +0 -1
  242. 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
  243. 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
  244. 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
  245. 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
  246. 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
  247. 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
  248. 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
  249. 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
  250. package/unstable-toolbar.d.ts +0 -1
  251. package/unstable-toolbar.js +0 -1
  252. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700-sources.jar} +0 -0
  253. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700-sources.jar.md5} +0 -0
  254. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700-sources.jar.sha1} +0 -0
  255. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700-sources.jar.sha256} +0 -0
  256. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700-sources.jar.sha512} +0 -0
  257. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.aar} +0 -0
  258. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.aar.md5} +0 -0
  259. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.aar.sha1} +0 -0
  260. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.aar.sha256} +0 -0
  261. /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-20260120-bb71700/expo.modules.router-7.0.0-canary-20260120-bb71700.aar.sha512} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"StackSearchBar.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackSearchBar.tsx"],"names":[],"mappings":";;AAWA,wCAGC;AAED,gFAUC;AAzBD,iCAAgC;AAGhC,+CAA4C;AAO5C,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,kCAAkC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAG,CAAC;AAC7C,CAAC;AAED,SAAgB,kCAAkC,CAChD,OAAqC,EACrC,KAA0B;IAE1B,OAAO;QACL,GAAG,OAAO;QACV,sBAAsB,EAAE;YACtB,GAAG,KAAK;SACT;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { NativeStackNavigationOptions } from '@react-navigation/native-stack';\nimport { useMemo } from 'react';\nimport type { SearchBarProps } from 'react-native-screens';\n\nimport { Screen } from '../../views/Screen';\n\n// TODO: Discuss adding SearchBarPreferredSlot to react-native-screens header items\n// and exposing it as Stack.Header.SearchBarPreferredSlot\n// https://linear.app/expo/issue/ENG-18555\nexport interface StackSearchBarProps extends SearchBarProps {}\n\nexport function StackSearchBar(props: StackSearchBarProps) {\n const updatedOptions = useMemo(() => appendStackSearchBarPropsToOptions({}, props), [props]);\n return <Screen options={updatedOptions} />;\n}\n\nexport function appendStackSearchBarPropsToOptions(\n options: NativeStackNavigationOptions,\n props: StackSearchBarProps\n): NativeStackNavigationOptions {\n return {\n ...options,\n headerSearchBarOptions: {\n ...props,\n },\n };\n}\n"]}
1
+ {"version":3,"file":"StackSearchBar.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackSearchBar.tsx"],"names":[],"mappings":";;AAuCA,wCAGC;AAED,gFAWC;AAtDD,iCAAgC;AAGhC,+CAA4C;AAO5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,kCAAkC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAG,CAAC;AAC7C,CAAC;AAED,SAAgB,kCAAkC,CAChD,OAAqC,EACrC,KAA0B;IAE1B,OAAO;QACL,GAAG,OAAO;QACV,WAAW,EAAE,IAAI;QACjB,sBAAsB,EAAE;YACtB,GAAG,KAAK;SACT;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { NativeStackNavigationOptions } from '@react-navigation/native-stack';\nimport { useMemo } from 'react';\nimport type { SearchBarProps } from 'react-native-screens';\n\nimport { Screen } from '../../views/Screen';\n\n// TODO: Discuss adding SearchBarSlot to react-native-screens header items\n// and exposing it as Stack.Header.SearchBarPreferredSlot\n// https://linear.app/expo/issue/ENG-18555\nexport interface StackSearchBarProps extends SearchBarProps {}\n\n/**\n * A search bar component that integrates with the native stack header.\n *\n * > **Note:** Using `Stack.SearchBar` will automatically make the header visible\n * (`headerShown: true`), as the search bar is rendered as part of the native header.\n *\n * To display the search bar in the bottom toolbar on iOS 26+, use\n * `Stack.Toolbar.SearchBarSlot` inside `Stack.Toolbar`.\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n *\n * export default function Page() {\n * return (\n * <>\n * <Stack.SearchBar\n * placeholder=\"Search...\"\n * onChangeText={(text) => console.log(text)}\n * />\n * <ScreenContent />\n * </>\n * );\n * }\n * ```\n *\n * @platform ios\n */\nexport function StackSearchBar(props: StackSearchBarProps) {\n const updatedOptions = useMemo(() => appendStackSearchBarPropsToOptions({}, props), [props]);\n return <Screen options={updatedOptions} />;\n}\n\nexport function appendStackSearchBarPropsToOptions(\n options: NativeStackNavigationOptions,\n props: StackSearchBarProps\n): NativeStackNavigationOptions {\n return {\n ...options,\n headerShown: true,\n headerSearchBarOptions: {\n ...props,\n },\n };\n}\n"]}
@@ -1,24 +1,24 @@
1
1
  import { type ImageSourcePropType, type StyleProp, type TextStyle } from 'react-native';
2
2
  import type { SFSymbol } from 'sf-symbols-typescript';
3
- export interface StackHeaderLabelProps {
3
+ export interface StackToolbarLabelProps {
4
4
  /**
5
5
  * The text to display as the label for the tab.
6
6
  */
7
7
  children?: string;
8
8
  }
9
- export declare const StackHeaderLabel: React.FC<StackHeaderLabelProps>;
10
- export type StackHeaderIconProps = {
9
+ export declare const StackToolbarLabel: React.FC<StackToolbarLabelProps>;
10
+ export type StackToolbarIconProps = {
11
11
  src: ImageSourcePropType;
12
12
  } | {
13
13
  sf: SFSymbol;
14
14
  };
15
- export declare const StackHeaderIcon: React.FC<StackHeaderIconProps>;
16
- export interface StackHeaderBadgeProps {
15
+ export declare const StackToolbarIcon: React.FC<StackToolbarIconProps>;
16
+ export interface StackToolbarBadgeProps {
17
17
  /**
18
18
  * The text to display as the badge
19
19
  */
20
20
  children?: string;
21
21
  style?: StyleProp<Pick<TextStyle, 'fontFamily' | 'fontSize' | 'color' | 'fontWeight' | 'backgroundColor'>>;
22
22
  }
23
- export declare const StackHeaderBadge: React.FC<StackHeaderBadgeProps>;
23
+ export declare const StackToolbarBadge: React.FC<StackToolbarBadgeProps>;
24
24
  //# sourceMappingURL=common-primitives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common-primitives.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/common-primitives.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAS,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAC5B;IAEE,GAAG,EAAE,mBAAmB,CAAC;CAC1B,GACD;IACE,EAAE,EAAE,QAAQ,CAAC;CACd,CAAC;AAEN,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAQ,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,SAAS,CACf,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,iBAAiB,CAAC,CACxF,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAS,CAAC"}
1
+ {"version":3,"file":"common-primitives.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/common-primitives.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAS,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAC7B;IAEE,GAAG,EAAE,mBAAmB,CAAC;CAC1B,GACD;IACE,EAAE,EAAE,QAAQ,CAAC;CACd,CAAC;AAEN,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAQ,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,SAAS,CACf,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,iBAAiB,CAAC,CACxF,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAS,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StackHeaderBadge = exports.StackHeaderIcon = exports.StackHeaderLabel = void 0;
3
+ exports.StackToolbarBadge = exports.StackToolbarIcon = exports.StackToolbarLabel = void 0;
4
4
  const primitives_1 = require("../../primitives");
5
- exports.StackHeaderLabel = primitives_1.Label;
6
- exports.StackHeaderIcon = primitives_1.Icon;
7
- exports.StackHeaderBadge = primitives_1.Badge;
5
+ exports.StackToolbarLabel = primitives_1.Label;
6
+ exports.StackToolbarIcon = primitives_1.Icon;
7
+ exports.StackToolbarBadge = primitives_1.Badge;
8
8
  //# sourceMappingURL=common-primitives.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common-primitives.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/common-primitives.tsx"],"names":[],"mappings":";;;AAGA,iDAAsD;AASzC,QAAA,gBAAgB,GAAoC,kBAAK,CAAC;AAW1D,QAAA,eAAe,GAAmC,iBAAI,CAAC;AAavD,QAAA,gBAAgB,GAAoC,kBAAK,CAAC","sourcesContent":["import { type ImageSourcePropType, type StyleProp, type TextStyle } from 'react-native';\nimport type { SFSymbol } from 'sf-symbols-typescript';\n\nimport { Badge, Icon, Label } from '../../primitives';\n\nexport interface StackHeaderLabelProps {\n /**\n * The text to display as the label for the tab.\n */\n children?: string;\n}\n\nexport const StackHeaderLabel: React.FC<StackHeaderLabelProps> = Label;\n\nexport type StackHeaderIconProps =\n | {\n // TODO: add support for vector icons\n src: ImageSourcePropType;\n }\n | {\n sf: SFSymbol;\n };\n\nexport const StackHeaderIcon: React.FC<StackHeaderIconProps> = Icon;\n\nexport interface StackHeaderBadgeProps {\n /**\n * The text to display as the badge\n */\n children?: string;\n\n style?: StyleProp<\n Pick<TextStyle, 'fontFamily' | 'fontSize' | 'color' | 'fontWeight' | 'backgroundColor'>\n >;\n}\n\nexport const StackHeaderBadge: React.FC<StackHeaderBadgeProps> = Badge;\n"]}
1
+ {"version":3,"file":"common-primitives.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/common-primitives.tsx"],"names":[],"mappings":";;;AAGA,iDAAsD;AASzC,QAAA,iBAAiB,GAAqC,kBAAK,CAAC;AAW5D,QAAA,gBAAgB,GAAoC,iBAAI,CAAC;AAazD,QAAA,iBAAiB,GAAqC,kBAAK,CAAC","sourcesContent":["import { type ImageSourcePropType, type StyleProp, type TextStyle } from 'react-native';\nimport type { SFSymbol } from 'sf-symbols-typescript';\n\nimport { Badge, Icon, Label } from '../../primitives';\n\nexport interface StackToolbarLabelProps {\n /**\n * The text to display as the label for the tab.\n */\n children?: string;\n}\n\nexport const StackToolbarLabel: React.FC<StackToolbarLabelProps> = Label;\n\nexport type StackToolbarIconProps =\n | {\n // TODO: add support for vector icons\n src: ImageSourcePropType;\n }\n | {\n sf: SFSymbol;\n };\n\nexport const StackToolbarIcon: React.FC<StackToolbarIconProps> = Icon;\n\nexport interface StackToolbarBadgeProps {\n /**\n * The text to display as the badge\n */\n children?: string;\n\n style?: StyleProp<\n Pick<TextStyle, 'fontFamily' | 'fontSize' | 'color' | 'fontWeight' | 'backgroundColor'>\n >;\n}\n\nexport const StackToolbarBadge: React.FC<StackToolbarBadgeProps> = Badge;\n"]}
@@ -1,28 +1,9 @@
1
- import { StackHeaderBackButton, type StackHeaderBackButtonProps } from './StackHeaderBackButton';
2
- import { StackHeaderButton, type StackHeaderButtonProps } from './StackHeaderButton';
3
1
  import { StackHeaderComponent, type StackHeaderProps } from './StackHeaderComponent';
4
- import { StackHeaderLeft, type StackHeaderLeftProps, StackHeaderRight, type StackHeaderRightProps } from './StackHeaderLeftRight';
5
- import { StackHeaderMenu, StackHeaderMenuAction, type StackHeaderMenuActionProps, type StackHeaderMenuProps } from './StackHeaderMenu';
6
- import { StackHeaderSpacer, type StackHeaderSpacerProps } from './StackHeaderSpacer';
7
- import { StackHeaderTitle, type StackHeaderTitleProps } from './StackHeaderTitle';
8
- import { StackHeaderView, type StackHeaderViewProps } from './StackHeaderView';
9
2
  import { StackSearchBar, type StackSearchBarProps } from './StackSearchBar';
10
- import { StackHeaderBadge, StackHeaderIcon, StackHeaderLabel, type StackHeaderBadgeProps, type StackHeaderIconProps, type StackHeaderLabelProps } from './common-primitives';
11
3
  import type { StackHeaderItemSharedProps } from './shared';
12
- export declare const StackHeader: typeof StackHeaderComponent & {
13
- Left: import("react").FC<StackHeaderLeftProps>;
14
- Right: import("react").FC<StackHeaderRightProps>;
15
- BackButton: typeof StackHeaderBackButton;
16
- Title: typeof StackHeaderTitle;
17
- Button: import("react").FC<StackHeaderButtonProps>;
18
- Badge: import("react").FC<StackHeaderBadgeProps>;
19
- Label: import("react").FC<StackHeaderLabelProps>;
20
- Icon: import("react").FC<StackHeaderIconProps>;
21
- Menu: import("react").FC<StackHeaderMenuProps>;
22
- MenuAction: import("react").FC<StackHeaderMenuActionProps>;
23
- View: import("react").FC<StackHeaderViewProps>;
24
- Spacer: import("react").FC<StackHeaderSpacerProps>;
25
- };
26
- export { StackHeaderBackButton, type StackHeaderBackButtonProps, type StackHeaderProps, StackHeaderLeft, type StackHeaderLeftProps, StackHeaderRight, type StackHeaderRightProps, StackSearchBar, type StackSearchBarProps, StackHeaderTitle, type StackHeaderTitleProps, StackHeaderButton, type StackHeaderButtonProps, StackHeaderBadge, type StackHeaderBadgeProps, StackHeaderLabel, type StackHeaderLabelProps, StackHeaderIcon, type StackHeaderIconProps, StackHeaderMenu, type StackHeaderMenuProps, StackHeaderMenuAction, type StackHeaderMenuActionProps, StackHeaderView, type StackHeaderViewProps, StackHeaderSpacer, type StackHeaderSpacerProps, type StackHeaderItemSharedProps, };
4
+ export declare const StackHeader: typeof StackHeaderComponent;
5
+ export { type StackHeaderProps, StackSearchBar, type StackSearchBarProps, type StackHeaderItemSharedProps, };
6
+ export * from './toolbar';
7
+ export * from './screen';
27
8
  export { StackScreen, appendScreenStackPropsToOptions, type StackScreenProps } from './StackScreen';
28
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAatB,CAAC;AAEH,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,cAAc,EACd,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,eAAe,EACf,KAAK,oBAAoB,EACzB,eAAe,EACf,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,eAAe,EACf,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,eAAO,MAAM,WAAW,6BAAuB,CAAC;AAEhD,OAAO,EACL,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,CAAC;AAEF,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,43 +1,26 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.appendScreenStackPropsToOptions = exports.StackScreen = exports.StackHeaderSpacer = exports.StackHeaderView = exports.StackHeaderMenuAction = exports.StackHeaderMenu = exports.StackHeaderIcon = exports.StackHeaderLabel = exports.StackHeaderBadge = exports.StackHeaderButton = exports.StackHeaderTitle = exports.StackSearchBar = exports.StackHeaderRight = exports.StackHeaderLeft = exports.StackHeaderBackButton = exports.StackHeader = void 0;
4
- const StackHeaderBackButton_1 = require("./StackHeaderBackButton");
5
- Object.defineProperty(exports, "StackHeaderBackButton", { enumerable: true, get: function () { return StackHeaderBackButton_1.StackHeaderBackButton; } });
6
- const StackHeaderButton_1 = require("./StackHeaderButton");
7
- Object.defineProperty(exports, "StackHeaderButton", { enumerable: true, get: function () { return StackHeaderButton_1.StackHeaderButton; } });
17
+ exports.appendScreenStackPropsToOptions = exports.StackScreen = exports.StackSearchBar = exports.StackHeader = void 0;
8
18
  const StackHeaderComponent_1 = require("./StackHeaderComponent");
9
- const StackHeaderLeftRight_1 = require("./StackHeaderLeftRight");
10
- Object.defineProperty(exports, "StackHeaderLeft", { enumerable: true, get: function () { return StackHeaderLeftRight_1.StackHeaderLeft; } });
11
- Object.defineProperty(exports, "StackHeaderRight", { enumerable: true, get: function () { return StackHeaderLeftRight_1.StackHeaderRight; } });
12
- const StackHeaderMenu_1 = require("./StackHeaderMenu");
13
- Object.defineProperty(exports, "StackHeaderMenu", { enumerable: true, get: function () { return StackHeaderMenu_1.StackHeaderMenu; } });
14
- Object.defineProperty(exports, "StackHeaderMenuAction", { enumerable: true, get: function () { return StackHeaderMenu_1.StackHeaderMenuAction; } });
15
- const StackHeaderSpacer_1 = require("./StackHeaderSpacer");
16
- Object.defineProperty(exports, "StackHeaderSpacer", { enumerable: true, get: function () { return StackHeaderSpacer_1.StackHeaderSpacer; } });
17
- const StackHeaderTitle_1 = require("./StackHeaderTitle");
18
- Object.defineProperty(exports, "StackHeaderTitle", { enumerable: true, get: function () { return StackHeaderTitle_1.StackHeaderTitle; } });
19
- const StackHeaderView_1 = require("./StackHeaderView");
20
- Object.defineProperty(exports, "StackHeaderView", { enumerable: true, get: function () { return StackHeaderView_1.StackHeaderView; } });
21
19
  const StackSearchBar_1 = require("./StackSearchBar");
22
20
  Object.defineProperty(exports, "StackSearchBar", { enumerable: true, get: function () { return StackSearchBar_1.StackSearchBar; } });
23
- const common_primitives_1 = require("./common-primitives");
24
- Object.defineProperty(exports, "StackHeaderBadge", { enumerable: true, get: function () { return common_primitives_1.StackHeaderBadge; } });
25
- Object.defineProperty(exports, "StackHeaderIcon", { enumerable: true, get: function () { return common_primitives_1.StackHeaderIcon; } });
26
- Object.defineProperty(exports, "StackHeaderLabel", { enumerable: true, get: function () { return common_primitives_1.StackHeaderLabel; } });
27
- exports.StackHeader = Object.assign(StackHeaderComponent_1.StackHeaderComponent, {
28
- Left: StackHeaderLeftRight_1.StackHeaderLeft,
29
- Right: StackHeaderLeftRight_1.StackHeaderRight,
30
- BackButton: StackHeaderBackButton_1.StackHeaderBackButton,
31
- Title: StackHeaderTitle_1.StackHeaderTitle,
32
- Button: StackHeaderButton_1.StackHeaderButton,
33
- Badge: common_primitives_1.StackHeaderBadge,
34
- Label: common_primitives_1.StackHeaderLabel,
35
- Icon: common_primitives_1.StackHeaderIcon,
36
- Menu: StackHeaderMenu_1.StackHeaderMenu,
37
- MenuAction: StackHeaderMenu_1.StackHeaderMenuAction,
38
- View: StackHeaderView_1.StackHeaderView,
39
- Spacer: StackHeaderSpacer_1.StackHeaderSpacer,
40
- });
21
+ exports.StackHeader = StackHeaderComponent_1.StackHeaderComponent;
22
+ __exportStar(require("./toolbar"), exports);
23
+ __exportStar(require("./screen"), exports);
41
24
  var StackScreen_1 = require("./StackScreen");
42
25
  Object.defineProperty(exports, "StackScreen", { enumerable: true, get: function () { return StackScreen_1.StackScreen; } });
43
26
  Object.defineProperty(exports, "appendScreenStackPropsToOptions", { enumerable: true, get: function () { return StackScreen_1.appendScreenStackPropsToOptions; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/index.tsx"],"names":[],"mappings":";;;AAAA,mEAAiG;AA6C/F,sGA7CO,6CAAqB,OA6CP;AA5CvB,2DAAqF;AAuDnF,kGAvDO,qCAAiB,OAuDP;AAtDnB,iEAAqF;AACrF,iEAKgC;AAwC9B,gGA5CA,sCAAe,OA4CA;AAEf,iGA5CA,uCAAgB,OA4CA;AAzClB,uDAK2B;AAkDzB,gGAtDA,iCAAe,OAsDA;AAEf,sGAvDA,uCAAqB,OAuDA;AAnDvB,2DAAqF;AAuDnF,kGAvDO,qCAAiB,OAuDP;AAtDnB,yDAAkF;AAsChF,iGAtCO,mCAAgB,OAsCP;AArClB,uDAA+E;AAmD7E,gGAnDO,iCAAe,OAmDP;AAlDjB,qDAA4E;AAkC1E,+FAlCO,+BAAc,OAkCP;AAjChB,2DAO6B;AAgC3B,iGAtCA,oCAAgB,OAsCA;AAIhB,gGAzCA,mCAAe,OAyCA;AAFf,iGAtCA,oCAAgB,OAsCA;AA/BL,QAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,2CAAoB,EAAE;IAC7D,IAAI,EAAE,sCAAe;IACrB,KAAK,EAAE,uCAAgB;IACvB,UAAU,EAAE,6CAAqB;IACjC,KAAK,EAAE,mCAAgB;IACvB,MAAM,EAAE,qCAAiB;IACzB,KAAK,EAAE,oCAAgB;IACvB,KAAK,EAAE,oCAAgB;IACvB,IAAI,EAAE,mCAAe;IACrB,IAAI,EAAE,iCAAe;IACrB,UAAU,EAAE,uCAAqB;IACjC,IAAI,EAAE,iCAAe;IACrB,MAAM,EAAE,qCAAiB;CAC1B,CAAC,CAAC;AAiCH,6CAAoG;AAA3F,0GAAA,WAAW,OAAA;AAAE,8HAAA,+BAA+B,OAAA","sourcesContent":["import { StackHeaderBackButton, type StackHeaderBackButtonProps } from './StackHeaderBackButton';\nimport { StackHeaderButton, type StackHeaderButtonProps } from './StackHeaderButton';\nimport { StackHeaderComponent, type StackHeaderProps } from './StackHeaderComponent';\nimport {\n StackHeaderLeft,\n type StackHeaderLeftProps,\n StackHeaderRight,\n type StackHeaderRightProps,\n} from './StackHeaderLeftRight';\nimport {\n StackHeaderMenu,\n StackHeaderMenuAction,\n type StackHeaderMenuActionProps,\n type StackHeaderMenuProps,\n} from './StackHeaderMenu';\nimport { StackHeaderSpacer, type StackHeaderSpacerProps } from './StackHeaderSpacer';\nimport { StackHeaderTitle, type StackHeaderTitleProps } from './StackHeaderTitle';\nimport { StackHeaderView, type StackHeaderViewProps } from './StackHeaderView';\nimport { StackSearchBar, type StackSearchBarProps } from './StackSearchBar';\nimport {\n StackHeaderBadge,\n StackHeaderIcon,\n StackHeaderLabel,\n type StackHeaderBadgeProps,\n type StackHeaderIconProps,\n type StackHeaderLabelProps,\n} from './common-primitives';\nimport type { StackHeaderItemSharedProps } from './shared';\n\nexport const StackHeader = Object.assign(StackHeaderComponent, {\n Left: StackHeaderLeft,\n Right: StackHeaderRight,\n BackButton: StackHeaderBackButton,\n Title: StackHeaderTitle,\n Button: StackHeaderButton,\n Badge: StackHeaderBadge,\n Label: StackHeaderLabel,\n Icon: StackHeaderIcon,\n Menu: StackHeaderMenu,\n MenuAction: StackHeaderMenuAction,\n View: StackHeaderView,\n Spacer: StackHeaderSpacer,\n});\n\nexport {\n StackHeaderBackButton,\n type StackHeaderBackButtonProps,\n type StackHeaderProps,\n StackHeaderLeft,\n type StackHeaderLeftProps,\n StackHeaderRight,\n type StackHeaderRightProps,\n StackSearchBar,\n type StackSearchBarProps,\n StackHeaderTitle,\n type StackHeaderTitleProps,\n StackHeaderButton,\n type StackHeaderButtonProps,\n StackHeaderBadge,\n type StackHeaderBadgeProps,\n StackHeaderLabel,\n type StackHeaderLabelProps,\n StackHeaderIcon,\n type StackHeaderIconProps,\n StackHeaderMenu,\n type StackHeaderMenuProps,\n StackHeaderMenuAction,\n type StackHeaderMenuActionProps,\n StackHeaderView,\n type StackHeaderViewProps,\n StackHeaderSpacer,\n type StackHeaderSpacerProps,\n type StackHeaderItemSharedProps,\n};\n\nexport { StackScreen, appendScreenStackPropsToOptions, type StackScreenProps } from './StackScreen';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iEAAqF;AACrF,qDAA4E;AAO1E,+FAPO,+BAAc,OAOP;AAJH,QAAA,WAAW,GAAG,2CAAoB,CAAC;AAShD,4CAA0B;AAC1B,2CAAyB;AAEzB,6CAAoG;AAA3F,0GAAA,WAAW,OAAA;AAAE,8HAAA,+BAA+B,OAAA","sourcesContent":["import { StackHeaderComponent, type StackHeaderProps } from './StackHeaderComponent';\nimport { StackSearchBar, type StackSearchBarProps } from './StackSearchBar';\nimport type { StackHeaderItemSharedProps } from './shared';\n\nexport const StackHeader = StackHeaderComponent;\n\nexport {\n type StackHeaderProps,\n StackSearchBar,\n type StackSearchBarProps,\n type StackHeaderItemSharedProps,\n};\n\nexport * from './toolbar';\nexport * from './screen';\n\nexport { StackScreen, appendScreenStackPropsToOptions, type StackScreenProps } from './StackScreen';\n"]}
@@ -0,0 +1,68 @@
1
+ import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import type { ImageSourcePropType } from 'react-native';
3
+ import type { ScreenStackHeaderConfigProps } from 'react-native-screens';
4
+ export interface StackScreenBackButtonProps {
5
+ /**
6
+ * The title to display for the back button.
7
+ */
8
+ children?: string;
9
+ /**
10
+ * Style for the back button title.
11
+ */
12
+ style?: NativeStackNavigationOptions['headerBackTitleStyle'];
13
+ /**
14
+ * Whether to show a context menu when long pressing the back button.
15
+ */
16
+ withMenu?: boolean;
17
+ /**
18
+ * The display mode for the back button.
19
+ */
20
+ displayMode?: ScreenStackHeaderConfigProps['backButtonDisplayMode'];
21
+ /**
22
+ * Whether to hide the back button.
23
+ */
24
+ hidden?: boolean;
25
+ /**
26
+ * Custom image source for the back button.
27
+ */
28
+ src?: ImageSourcePropType;
29
+ }
30
+ /**
31
+ * Component to configure the back button.
32
+ *
33
+ * Can be used inside Stack.Screen in a layout or directly inside a screen component.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * import { Stack } from 'expo-router';
38
+ *
39
+ * export default function Layout() {
40
+ * return (
41
+ * <Stack>
42
+ * <Stack.Screen name="detail">
43
+ * <Stack.Screen.BackButton displayMode="minimal">Back</Stack.Screen.BackButton>
44
+ * </Stack.Screen>
45
+ * </Stack>
46
+ * );
47
+ * }
48
+ * ```
49
+ *
50
+ * @example
51
+ * ```tsx
52
+ * import { Stack } from 'expo-router';
53
+ *
54
+ * export default function Page() {
55
+ * return (
56
+ * <>
57
+ * <Stack.Screen.BackButton hidden />
58
+ * <ScreenContent />
59
+ * </>
60
+ * );
61
+ * }
62
+ * ```
63
+ *
64
+ * @platform ios
65
+ */
66
+ export declare function StackScreenBackButton(props: StackScreenBackButtonProps): import("react").JSX.Element;
67
+ export declare function appendStackScreenBackButtonPropsToOptions(options: NativeStackNavigationOptions, props: StackScreenBackButtonProps): NativeStackNavigationOptions;
68
+ //# sourceMappingURL=StackScreenBackButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackScreenBackButton.d.ts","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/screen/StackScreenBackButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAIzE,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;IAC7D;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,4BAA4B,CAAC,uBAAuB,CAAC,CAAC;IACpE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAMtE;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,0BAA0B,GAChC,4BAA4B,CAU9B"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StackScreenBackButton = StackScreenBackButton;
4
+ exports.appendStackScreenBackButtonPropsToOptions = appendStackScreenBackButtonPropsToOptions;
5
+ const react_1 = require("react");
6
+ const Screen_1 = require("../../../views/Screen");
7
+ /**
8
+ * Component to configure the back button.
9
+ *
10
+ * Can be used inside Stack.Screen in a layout or directly inside a screen component.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * import { Stack } from 'expo-router';
15
+ *
16
+ * export default function Layout() {
17
+ * return (
18
+ * <Stack>
19
+ * <Stack.Screen name="detail">
20
+ * <Stack.Screen.BackButton displayMode="minimal">Back</Stack.Screen.BackButton>
21
+ * </Stack.Screen>
22
+ * </Stack>
23
+ * );
24
+ * }
25
+ * ```
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * import { Stack } from 'expo-router';
30
+ *
31
+ * export default function Page() {
32
+ * return (
33
+ * <>
34
+ * <Stack.Screen.BackButton hidden />
35
+ * <ScreenContent />
36
+ * </>
37
+ * );
38
+ * }
39
+ * ```
40
+ *
41
+ * @platform ios
42
+ */
43
+ function StackScreenBackButton(props) {
44
+ const updatedOptions = (0, react_1.useMemo)(() => appendStackScreenBackButtonPropsToOptions({}, props), [props]);
45
+ return <Screen_1.Screen options={updatedOptions}/>;
46
+ }
47
+ function appendStackScreenBackButtonPropsToOptions(options, props) {
48
+ return {
49
+ ...options,
50
+ headerBackTitle: props.children,
51
+ headerBackTitleStyle: props.style,
52
+ headerBackImageSource: props.src,
53
+ headerBackButtonDisplayMode: props.displayMode,
54
+ headerBackButtonMenuEnabled: props.withMenu,
55
+ headerBackVisible: !props.hidden,
56
+ };
57
+ }
58
+ //# sourceMappingURL=StackScreenBackButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackScreenBackButton.js","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/screen/StackScreenBackButton.tsx"],"names":[],"mappings":";;AAsEA,sDAMC;AAED,8FAaC;AA1FD,iCAAgC;AAIhC,kDAA+C;AA6B/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAgB,qBAAqB,CAAC,KAAiC;IACrE,MAAM,cAAc,GAAG,IAAA,eAAO,EAC5B,GAAG,EAAE,CAAC,yCAAyC,CAAC,EAAE,EAAE,KAAK,CAAC,EAC1D,CAAC,KAAK,CAAC,CACR,CAAC;IACF,OAAO,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAG,CAAC;AAC7C,CAAC;AAED,SAAgB,yCAAyC,CACvD,OAAqC,EACrC,KAAiC;IAEjC,OAAO;QACL,GAAG,OAAO;QACV,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,oBAAoB,EAAE,KAAK,CAAC,KAAK;QACjC,qBAAqB,EAAE,KAAK,CAAC,GAAG;QAChC,2BAA2B,EAAE,KAAK,CAAC,WAAW;QAC9C,2BAA2B,EAAE,KAAK,CAAC,QAAQ;QAC3C,iBAAiB,EAAE,CAAC,KAAK,CAAC,MAAM;KACjC,CAAC;AACJ,CAAC","sourcesContent":["import { NativeStackNavigationOptions } from '@react-navigation/native-stack';\nimport { useMemo } from 'react';\nimport type { ImageSourcePropType } from 'react-native';\nimport type { ScreenStackHeaderConfigProps } from 'react-native-screens';\n\nimport { Screen } from '../../../views/Screen';\n\nexport interface StackScreenBackButtonProps {\n /**\n * The title to display for the back button.\n */\n children?: string;\n /**\n * Style for the back button title.\n */\n style?: NativeStackNavigationOptions['headerBackTitleStyle'];\n /**\n * Whether to show a context menu when long pressing the back button.\n */\n withMenu?: boolean;\n /**\n * The display mode for the back button.\n */\n displayMode?: ScreenStackHeaderConfigProps['backButtonDisplayMode'];\n /**\n * Whether to hide the back button.\n */\n hidden?: boolean;\n /**\n * Custom image source for the back button.\n */\n src?: ImageSourcePropType;\n}\n\n/**\n * Component to configure the back button.\n *\n * Can be used inside Stack.Screen in a layout or directly inside a screen component.\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n *\n * export default function Layout() {\n * return (\n * <Stack>\n * <Stack.Screen name=\"detail\">\n * <Stack.Screen.BackButton displayMode=\"minimal\">Back</Stack.Screen.BackButton>\n * </Stack.Screen>\n * </Stack>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n *\n * export default function Page() {\n * return (\n * <>\n * <Stack.Screen.BackButton hidden />\n * <ScreenContent />\n * </>\n * );\n * }\n * ```\n *\n * @platform ios\n */\nexport function StackScreenBackButton(props: StackScreenBackButtonProps) {\n const updatedOptions = useMemo(\n () => appendStackScreenBackButtonPropsToOptions({}, props),\n [props]\n );\n return <Screen options={updatedOptions} />;\n}\n\nexport function appendStackScreenBackButtonPropsToOptions(\n options: NativeStackNavigationOptions,\n props: StackScreenBackButtonProps\n): NativeStackNavigationOptions {\n return {\n ...options,\n headerBackTitle: props.children,\n headerBackTitleStyle: props.style,\n headerBackImageSource: props.src,\n headerBackButtonDisplayMode: props.displayMode,\n headerBackButtonMenuEnabled: props.withMenu,\n headerBackVisible: !props.hidden,\n };\n}\n"]}
@@ -0,0 +1,58 @@
1
+ import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import { type StyleProp, type TextStyle } from 'react-native';
3
+ export type StackScreenTitleProps = {
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
+ /**
21
+ * Component to set the screen title.
22
+ *
23
+ * Can be used inside Stack.Screen in a layout or directly inside a screen component.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * import { Stack } from 'expo-router';
28
+ *
29
+ * export default function Layout() {
30
+ * return (
31
+ * <Stack>
32
+ * <Stack.Screen name="index">
33
+ * <Stack.Screen.Title large>Home</Stack.Screen.Title>
34
+ * </Stack.Screen>
35
+ * </Stack>
36
+ * );
37
+ * }
38
+ * ```
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * import { Stack } from 'expo-router';
43
+ *
44
+ * export default function Page() {
45
+ * return (
46
+ * <>
47
+ * <Stack.Screen.Title>My Page</Stack.Screen.Title>
48
+ * <ScreenContent />
49
+ * </>
50
+ * );
51
+ * }
52
+ * ```
53
+ *
54
+ * @platform ios
55
+ */
56
+ export declare function StackScreenTitle(props: StackScreenTitleProps): import("react").JSX.Element;
57
+ export declare function appendStackScreenTitlePropsToOptions(options: NativeStackNavigationOptions, props: StackScreenTitleProps): NativeStackNavigationOptions;
58
+ //# sourceMappingURL=StackScreenTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackScreenTitle.d.ts","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/screen/StackScreenTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK1E,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAG5D;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,qBAAqB,GAC3B,4BAA4B,CA0B9B"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StackScreenTitle = StackScreenTitle;
4
+ exports.appendStackScreenTitlePropsToOptions = appendStackScreenTitlePropsToOptions;
5
+ const react_1 = require("react");
6
+ const react_native_1 = require("react-native");
7
+ const style_1 = require("../../../utils/style");
8
+ const Screen_1 = require("../../../views/Screen");
9
+ /**
10
+ * Component to set the screen title.
11
+ *
12
+ * Can be used inside Stack.Screen in a layout or directly inside a screen component.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * import { Stack } from 'expo-router';
17
+ *
18
+ * export default function Layout() {
19
+ * return (
20
+ * <Stack>
21
+ * <Stack.Screen name="index">
22
+ * <Stack.Screen.Title large>Home</Stack.Screen.Title>
23
+ * </Stack.Screen>
24
+ * </Stack>
25
+ * );
26
+ * }
27
+ * ```
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * import { Stack } from 'expo-router';
32
+ *
33
+ * export default function Page() {
34
+ * return (
35
+ * <>
36
+ * <Stack.Screen.Title>My Page</Stack.Screen.Title>
37
+ * <ScreenContent />
38
+ * </>
39
+ * );
40
+ * }
41
+ * ```
42
+ *
43
+ * @platform ios
44
+ */
45
+ function StackScreenTitle(props) {
46
+ const updatedOptions = (0, react_1.useMemo)(() => appendStackScreenTitlePropsToOptions({}, props), [props]);
47
+ return <Screen_1.Screen options={updatedOptions}/>;
48
+ }
49
+ function appendStackScreenTitlePropsToOptions(options, props) {
50
+ const flattenedStyle = react_native_1.StyleSheet.flatten(props.style);
51
+ const flattenedLargeStyle = react_native_1.StyleSheet.flatten(props.largeStyle);
52
+ return {
53
+ ...options,
54
+ title: props.children,
55
+ headerLargeTitle: props.large,
56
+ headerTitleAlign: flattenedStyle?.textAlign,
57
+ headerTitleStyle: {
58
+ ...flattenedStyle,
59
+ ...(flattenedStyle?.fontWeight
60
+ ? {
61
+ fontWeight: (0, style_1.convertFontWeightToStringFontWeight)(flattenedStyle?.fontWeight),
62
+ }
63
+ : {}),
64
+ },
65
+ headerLargeTitleStyle: {
66
+ ...flattenedLargeStyle,
67
+ ...(flattenedLargeStyle?.fontWeight
68
+ ? {
69
+ fontWeight: (0, style_1.convertFontWeightToStringFontWeight)(flattenedLargeStyle?.fontWeight),
70
+ }
71
+ : {}),
72
+ },
73
+ };
74
+ }
75
+ //# sourceMappingURL=StackScreenTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackScreenTitle.js","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/screen/StackScreenTitle.tsx"],"names":[],"mappings":";;AAiEA,4CAGC;AAED,oFA6BC;AAlGD,iCAAgC;AAChC,+CAA0E;AAE1E,gDAA2E;AAC3E,kDAA+C;AAwB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,oCAAoC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,OAAO,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAG,CAAC;AAC7C,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 { useMemo } from 'react';\nimport { StyleSheet, type StyleProp, type TextStyle } from 'react-native';\n\nimport { convertFontWeightToStringFontWeight } from '../../../utils/style';\nimport { Screen } from '../../../views/Screen';\n\nexport type StackScreenTitleProps = {\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\n/**\n * Component to set the screen title.\n *\n * Can be used inside Stack.Screen in a layout or directly inside a screen component.\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n *\n * export default function Layout() {\n * return (\n * <Stack>\n * <Stack.Screen name=\"index\">\n * <Stack.Screen.Title large>Home</Stack.Screen.Title>\n * </Stack.Screen>\n * </Stack>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * import { Stack } from 'expo-router';\n *\n * export default function Page() {\n * return (\n * <>\n * <Stack.Screen.Title>My Page</Stack.Screen.Title>\n * <ScreenContent />\n * </>\n * );\n * }\n * ```\n *\n * @platform ios\n */\nexport function StackScreenTitle(props: StackScreenTitleProps) {\n const updatedOptions = useMemo(() => appendStackScreenTitlePropsToOptions({}, props), [props]);\n return <Screen options={updatedOptions} />;\n}\n\nexport function appendStackScreenTitlePropsToOptions(\n options: NativeStackNavigationOptions,\n props: StackScreenTitleProps\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"]}
@@ -0,0 +1,3 @@
1
+ export { StackScreenTitle, appendStackScreenTitlePropsToOptions, type StackScreenTitleProps, } from './StackScreenTitle';
2
+ export { StackScreenBackButton, appendStackScreenBackButtonPropsToOptions, type StackScreenBackButtonProps, } from './StackScreenBackButton';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/screen/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,yCAAyC,EACzC,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendStackScreenBackButtonPropsToOptions = exports.StackScreenBackButton = exports.appendStackScreenTitlePropsToOptions = exports.StackScreenTitle = void 0;
4
+ var StackScreenTitle_1 = require("./StackScreenTitle");
5
+ Object.defineProperty(exports, "StackScreenTitle", { enumerable: true, get: function () { return StackScreenTitle_1.StackScreenTitle; } });
6
+ Object.defineProperty(exports, "appendStackScreenTitlePropsToOptions", { enumerable: true, get: function () { return StackScreenTitle_1.appendStackScreenTitlePropsToOptions; } });
7
+ var StackScreenBackButton_1 = require("./StackScreenBackButton");
8
+ Object.defineProperty(exports, "StackScreenBackButton", { enumerable: true, get: function () { return StackScreenBackButton_1.StackScreenBackButton; } });
9
+ Object.defineProperty(exports, "appendStackScreenBackButtonPropsToOptions", { enumerable: true, get: function () { return StackScreenBackButton_1.appendStackScreenBackButtonPropsToOptions; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/screen/index.tsx"],"names":[],"mappings":";;;AAAA,uDAI4B;AAH1B,oHAAA,gBAAgB,OAAA;AAChB,wIAAA,oCAAoC,OAAA;AAItC,iEAIiC;AAH/B,8HAAA,qBAAqB,OAAA;AACrB,kJAAA,yCAAyC,OAAA","sourcesContent":["export {\n StackScreenTitle,\n appendStackScreenTitlePropsToOptions,\n type StackScreenTitleProps,\n} from './StackScreenTitle';\n\nexport {\n StackScreenBackButton,\n appendStackScreenBackButtonPropsToOptions,\n type StackScreenBackButtonProps,\n} from './StackScreenBackButton';\n"]}
@@ -10,14 +10,14 @@ function convertStackHeaderSharedPropsToRNSharedHeaderItem(props) {
10
10
  const stringChildren = react_1.Children.toArray(children)
11
11
  .filter((child) => typeof child === 'string')
12
12
  .join('');
13
- const label = (0, children_1.getFirstChildOfType)(children, common_primitives_1.StackHeaderLabel);
13
+ const label = (0, children_1.getFirstChildOfType)(children, common_primitives_1.StackToolbarLabel);
14
14
  const iconPropConvertedToIcon = props.icon
15
15
  ? typeof props.icon === 'string'
16
16
  ? { sf: props.icon }
17
17
  : { src: props.icon }
18
18
  : undefined;
19
- const iconComponentProps = (0, children_1.getFirstChildOfType)(children, common_primitives_1.StackHeaderIcon)?.props ?? iconPropConvertedToIcon;
20
- const badgeComponent = (0, children_1.getFirstChildOfType)(children, common_primitives_1.StackHeaderBadge);
19
+ const iconComponentProps = (0, children_1.getFirstChildOfType)(children, common_primitives_1.StackToolbarIcon)?.props ?? iconPropConvertedToIcon;
20
+ const badgeComponent = (0, children_1.getFirstChildOfType)(children, common_primitives_1.StackToolbarBadge);
21
21
  const rnsIcon = (() => {
22
22
  if (!iconComponentProps) {
23
23
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/shared.ts"],"names":[],"mappings":";;AA2CA,8GAqDC;AA/FD,iCAAiD;AAIjD,2DAA0F;AAC1F,mDAA2D;AAC3D,2CAAsF;AAoCtF,SAAgB,iDAAiD,CAC/D,KAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,cAAc,GAAG,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC9C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC5C,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,IAAA,8BAAmB,EAAC,QAAQ,EAAE,oCAAgB,CAAC,CAAC;IAC9D,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI;QACxC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE;YACpB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;QACvB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,kBAAkB,GACtB,IAAA,8BAAmB,EAAC,QAAQ,EAAE,mCAAe,CAAC,EAAE,KAAK,IAAI,uBAAuB,CAAC;IACnF,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,QAAQ,EAAE,oCAAgB,CAAC,CAAC;IACvE,MAAM,OAAO,GAAwC,CAAC,GAAG,EAAE;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,kBAAkB,CAAC,GAAG;aAC/B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,kBAAkB,CAAC,EAAE;SAC5B,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,IAAI,GAAuB;QAC/B,GAAG,IAAI;QACP,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc;QAC9C,gBAAgB,EAAE,CAAC,kBAAkB;KACtC,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,IAAA,oCAA6B,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;IACnC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE;SAC3C,CAAC;QACF,MAAM,UAAU,GAAG,IAAA,oCAA6B,EAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;QAChC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { NativeStackHeaderItemButton } from '@react-navigation/native-stack';\nimport { Children, type ReactNode } from 'react';\nimport { type ColorValue, type ImageSourcePropType, type StyleProp } from 'react-native';\nimport type { SFSymbol } from 'sf-symbols-typescript';\n\nimport { StackHeaderBadge, StackHeaderIcon, StackHeaderLabel } from './common-primitives';\nimport { getFirstChildOfType } from '../../utils/children';\nimport { convertTextStyleToRNTextStyle, type BasicTextStyle } from '../../utils/font';\n\nexport interface StackHeaderItemSharedProps {\n children?: ReactNode;\n style?: StyleProp<BasicTextStyle>;\n hidesSharedBackground?: boolean;\n separateBackground?: boolean;\n accessibilityLabel?: string;\n accessibilityHint?: string;\n disabled?: boolean;\n tintColor?: ColorValue;\n icon?: SFSymbol | ImageSourcePropType;\n /**\n * @default 'plain'\n */\n variant?: 'plain' | 'done' | 'prominent';\n}\n\n// We need to pick these properties, as the SharedHeaderItem is not exported by React Navigation\ntype RNSharedHeaderItem = Pick<\n NativeStackHeaderItemButton,\n | 'label'\n | 'labelStyle'\n | 'icon'\n | 'variant'\n | 'tintColor'\n | 'disabled'\n | 'width'\n | 'hidesSharedBackground'\n | 'sharesBackground'\n | 'identifier'\n | 'badge'\n | 'accessibilityLabel'\n | 'accessibilityHint'\n>;\n\nexport function convertStackHeaderSharedPropsToRNSharedHeaderItem(\n props: StackHeaderItemSharedProps\n): RNSharedHeaderItem {\n const { children, style, separateBackground, icon, ...rest } = props;\n const stringChildren = Children.toArray(children)\n .filter((child) => typeof child === 'string')\n .join('');\n const label = getFirstChildOfType(children, StackHeaderLabel);\n const iconPropConvertedToIcon = props.icon\n ? typeof props.icon === 'string'\n ? { sf: props.icon }\n : { src: props.icon }\n : undefined;\n const iconComponentProps =\n getFirstChildOfType(children, StackHeaderIcon)?.props ?? iconPropConvertedToIcon;\n const badgeComponent = getFirstChildOfType(children, StackHeaderBadge);\n const rnsIcon: NativeStackHeaderItemButton['icon'] = (() => {\n if (!iconComponentProps) {\n return undefined;\n }\n if ('src' in iconComponentProps) {\n return {\n type: 'image',\n source: iconComponentProps.src,\n };\n }\n return {\n type: 'sfSymbol',\n name: iconComponentProps.sf,\n };\n })();\n const item: RNSharedHeaderItem = {\n ...rest,\n label: label?.props.children ?? stringChildren,\n sharesBackground: !separateBackground,\n };\n if (style) {\n const convertedStyle = convertTextStyleToRNTextStyle(style) ?? {};\n item.labelStyle = convertedStyle;\n }\n if (badgeComponent) {\n item.badge = {\n value: badgeComponent.props.children ?? '',\n };\n const badgeStyle = convertTextStyleToRNTextStyle(badgeComponent.props.style);\n if (badgeStyle) {\n item.badge.style = badgeStyle;\n }\n }\n if (rnsIcon) {\n item.icon = rnsIcon;\n }\n return item;\n}\n"]}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/layouts/stack-utils/shared.ts"],"names":[],"mappings":";;AA2CA,8GAqDC;AA/FD,iCAAiD;AAIjD,2DAA6F;AAC7F,mDAA2D;AAC3D,2CAAsF;AAoCtF,SAAgB,iDAAiD,CAC/D,KAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,cAAc,GAAG,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC9C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC5C,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,IAAA,8BAAmB,EAAC,QAAQ,EAAE,qCAAiB,CAAC,CAAC;IAC/D,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI;QACxC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE;YACpB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;QACvB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,kBAAkB,GACtB,IAAA,8BAAmB,EAAC,QAAQ,EAAE,oCAAgB,CAAC,EAAE,KAAK,IAAI,uBAAuB,CAAC;IACpF,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,QAAQ,EAAE,qCAAiB,CAAC,CAAC;IACxE,MAAM,OAAO,GAAwC,CAAC,GAAG,EAAE;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,kBAAkB,CAAC,GAAG;aAC/B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,kBAAkB,CAAC,EAAE;SAC5B,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,IAAI,GAAuB;QAC/B,GAAG,IAAI;QACP,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc;QAC9C,gBAAgB,EAAE,CAAC,kBAAkB;KACtC,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,IAAA,oCAA6B,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;IACnC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE;SAC3C,CAAC;QACF,MAAM,UAAU,GAAG,IAAA,oCAA6B,EAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;QAChC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { NativeStackHeaderItemButton } from '@react-navigation/native-stack';\nimport { Children, type ReactNode } from 'react';\nimport { type ColorValue, type ImageSourcePropType, type StyleProp } from 'react-native';\nimport type { SFSymbol } from 'sf-symbols-typescript';\n\nimport { StackToolbarBadge, StackToolbarIcon, StackToolbarLabel } from './common-primitives';\nimport { getFirstChildOfType } from '../../utils/children';\nimport { convertTextStyleToRNTextStyle, type BasicTextStyle } from '../../utils/font';\n\nexport interface StackHeaderItemSharedProps {\n children?: ReactNode;\n style?: StyleProp<BasicTextStyle>;\n hidesSharedBackground?: boolean;\n separateBackground?: boolean;\n accessibilityLabel?: string;\n accessibilityHint?: string;\n disabled?: boolean;\n tintColor?: ColorValue;\n icon?: SFSymbol | ImageSourcePropType;\n /**\n * @default 'plain'\n */\n variant?: 'plain' | 'done' | 'prominent';\n}\n\n// We need to pick these properties, as the SharedHeaderItem is not exported by React Navigation\ntype RNSharedHeaderItem = Pick<\n NativeStackHeaderItemButton,\n | 'label'\n | 'labelStyle'\n | 'icon'\n | 'variant'\n | 'tintColor'\n | 'disabled'\n | 'width'\n | 'hidesSharedBackground'\n | 'sharesBackground'\n | 'identifier'\n | 'badge'\n | 'accessibilityLabel'\n | 'accessibilityHint'\n>;\n\nexport function convertStackHeaderSharedPropsToRNSharedHeaderItem(\n props: StackHeaderItemSharedProps\n): RNSharedHeaderItem {\n const { children, style, separateBackground, icon, ...rest } = props;\n const stringChildren = Children.toArray(children)\n .filter((child) => typeof child === 'string')\n .join('');\n const label = getFirstChildOfType(children, StackToolbarLabel);\n const iconPropConvertedToIcon = props.icon\n ? typeof props.icon === 'string'\n ? { sf: props.icon }\n : { src: props.icon }\n : undefined;\n const iconComponentProps =\n getFirstChildOfType(children, StackToolbarIcon)?.props ?? iconPropConvertedToIcon;\n const badgeComponent = getFirstChildOfType(children, StackToolbarBadge);\n const rnsIcon: NativeStackHeaderItemButton['icon'] = (() => {\n if (!iconComponentProps) {\n return undefined;\n }\n if ('src' in iconComponentProps) {\n return {\n type: 'image',\n source: iconComponentProps.src,\n };\n }\n return {\n type: 'sfSymbol',\n name: iconComponentProps.sf,\n };\n })();\n const item: RNSharedHeaderItem = {\n ...rest,\n label: label?.props.children ?? stringChildren,\n sharesBackground: !separateBackground,\n };\n if (style) {\n const convertedStyle = convertTextStyleToRNTextStyle(style) ?? {};\n item.labelStyle = convertedStyle;\n }\n if (badgeComponent) {\n item.badge = {\n value: badgeComponent.props.children ?? '',\n };\n const badgeStyle = convertTextStyleToRNTextStyle(badgeComponent.props.style);\n if (badgeStyle) {\n item.badge.style = badgeStyle;\n }\n }\n if (rnsIcon) {\n item.icon = rnsIcon;\n }\n return item;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import StackToolbar from './StackToolbarClient';
2
+ export { StackToolbar };
3
+ //# sourceMappingURL=StackToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackToolbar.d.ts","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/toolbar/StackToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAiBhD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,24 @@
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.StackToolbar = void 0;
7
+ const StackToolbarButton_1 = require("./StackToolbarButton");
8
+ const StackToolbarClient_1 = __importDefault(require("./StackToolbarClient"));
9
+ exports.StackToolbar = StackToolbarClient_1.default;
10
+ const StackToolbarMenu_1 = require("./StackToolbarMenu");
11
+ const StackToolbarSearchBarSlot_1 = require("./StackToolbarSearchBarSlot");
12
+ const StackToolbarSpacer_1 = require("./StackToolbarSpacer");
13
+ const StackToolbarView_1 = require("./StackToolbarView");
14
+ const common_primitives_1 = require("../common-primitives");
15
+ StackToolbarClient_1.default.Button = StackToolbarButton_1.StackToolbarButton;
16
+ StackToolbarClient_1.default.Menu = StackToolbarMenu_1.StackToolbarMenu;
17
+ StackToolbarClient_1.default.MenuAction = StackToolbarMenu_1.StackToolbarMenuAction;
18
+ StackToolbarClient_1.default.SearchBarSlot = StackToolbarSearchBarSlot_1.StackToolbarSearchBarSlot;
19
+ StackToolbarClient_1.default.Spacer = StackToolbarSpacer_1.StackToolbarSpacer;
20
+ StackToolbarClient_1.default.View = StackToolbarView_1.StackToolbarView;
21
+ StackToolbarClient_1.default.Label = common_primitives_1.StackToolbarLabel;
22
+ StackToolbarClient_1.default.Icon = common_primitives_1.StackToolbarIcon;
23
+ StackToolbarClient_1.default.Badge = common_primitives_1.StackToolbarBadge;
24
+ //# sourceMappingURL=StackToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackToolbar.js","sourceRoot":"","sources":["../../../../src/layouts/stack-utils/toolbar/StackToolbar.tsx"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,8EAAgD;AAiBvC,uBAjBF,4BAAY,CAiBE;AAhBrB,yDAA8E;AAC9E,2EAAwE;AACxE,6DAA0D;AAC1D,yDAAsD;AACtD,4DAA8F;AAE9F,4BAAY,CAAC,MAAM,GAAG,uCAAkB,CAAC;AACzC,4BAAY,CAAC,IAAI,GAAG,mCAAgB,CAAC;AACrC,4BAAY,CAAC,UAAU,GAAG,yCAAsB,CAAC;AACjD,4BAAY,CAAC,aAAa,GAAG,qDAAyB,CAAC;AACvD,4BAAY,CAAC,MAAM,GAAG,uCAAkB,CAAC;AACzC,4BAAY,CAAC,IAAI,GAAG,mCAAgB,CAAC;AACrC,4BAAY,CAAC,KAAK,GAAG,qCAAiB,CAAC;AACvC,4BAAY,CAAC,IAAI,GAAG,oCAAgB,CAAC;AACrC,4BAAY,CAAC,KAAK,GAAG,qCAAiB,CAAC","sourcesContent":["import { StackToolbarButton } from './StackToolbarButton';\nimport StackToolbar from './StackToolbarClient';\nimport { StackToolbarMenu, StackToolbarMenuAction } from './StackToolbarMenu';\nimport { StackToolbarSearchBarSlot } from './StackToolbarSearchBarSlot';\nimport { StackToolbarSpacer } from './StackToolbarSpacer';\nimport { StackToolbarView } from './StackToolbarView';\nimport { StackToolbarBadge, StackToolbarIcon, StackToolbarLabel } from '../common-primitives';\n\nStackToolbar.Button = StackToolbarButton;\nStackToolbar.Menu = StackToolbarMenu;\nStackToolbar.MenuAction = StackToolbarMenuAction;\nStackToolbar.SearchBarSlot = StackToolbarSearchBarSlot;\nStackToolbar.Spacer = StackToolbarSpacer;\nStackToolbar.View = StackToolbarView;\nStackToolbar.Label = StackToolbarLabel;\nStackToolbar.Icon = StackToolbarIcon;\nStackToolbar.Badge = StackToolbarBadge;\n\nexport { StackToolbar };\n"]}