react-native-screens 5.0.0-alpha.2 → 5.0.0-alpha.3

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 (237) hide show
  1. package/Package.swift +87 -0
  2. package/README.md +0 -7
  3. package/android/src/main/cpp/NativeProxy.cpp +30 -6
  4. package/android/src/main/cpp/NativeProxy.h +7 -1
  5. package/android/src/main/java/com/swmansion/rnscreens/common/container/Container.kt +8 -0
  6. package/android/src/main/java/com/swmansion/rnscreens/common/container/ContainerItem.kt +13 -1
  7. package/android/src/main/java/com/swmansion/rnscreens/common/text/ReactTextAppearance.kt +62 -0
  8. package/android/src/main/java/com/swmansion/rnscreens/common/text/TextAppearance.kt +20 -0
  9. package/android/src/main/java/com/swmansion/rnscreens/common/text/TextAppearanceDefaults.kt +65 -0
  10. package/android/src/main/java/com/swmansion/rnscreens/helpers/PropIconResolver.kt +17 -23
  11. package/android/src/main/java/com/swmansion/rnscreens/legacy/Screen.kt +3 -1
  12. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStack.kt +2 -0
  13. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetBehaviorController.kt +49 -18
  14. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetDimensionsCoordinator.kt +65 -40
  15. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetKeyboardCoordinator.kt +101 -0
  16. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetNativeDismissCoordinator.kt +0 -6
  17. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetAvailableHeightProvider.kt +44 -0
  18. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetDialog.kt +35 -3
  19. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetDialogManager.kt +33 -106
  20. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/interfaces/FormSheetDialogEventEmitter.kt +2 -0
  21. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/model/FormSheetDetents.kt +61 -15
  22. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetAnimatorFactory.kt +8 -9
  23. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetDimmingManager.kt +115 -0
  24. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetDismissalOrigin.kt +22 -0
  25. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentation.kt +173 -0
  26. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentationManager.kt +141 -49
  27. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentationState.kt +1 -1
  28. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetStackRegistry.kt +28 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/event/FormSheetDismissEvent.kt +29 -0
  30. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/host/FormSheetHostEventEmitter.kt +7 -0
  31. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/host/FormSheetHostViewManager.kt +2 -0
  32. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderApplicator.kt +369 -58
  33. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderBackPressHandler.kt +11 -0
  34. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderCoordinatorLayout.kt +143 -98
  35. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderAppBarLayout.kt +155 -23
  36. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderContentScrimDrawable.kt +36 -0
  37. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderCollapsedTitleGravityMode.kt +6 -0
  38. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfig.kt +170 -167
  39. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigViewManager.kt +385 -12
  40. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationObserver.kt +0 -4
  41. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationProviding.kt +32 -3
  42. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderDelegate.kt +0 -7
  43. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderInvalidationFlags.kt +7 -2
  44. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuApplicator.kt +27 -280
  45. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuController.kt +448 -0
  46. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuDelegate.kt +10 -0
  47. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuMapper.kt +28 -20
  48. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuConfig.kt +3 -55
  49. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuGroupMetadata.kt +1 -10
  50. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuItemConfig.kt +1 -3
  51. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuModel.kt +180 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementOptions.kt +57 -6
  53. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementRawUpdate.kt +3 -1
  54. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementUpdate.kt +1 -0
  55. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuIconResolver.kt +4 -3
  56. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuUpdateQueue.kt +23 -9
  57. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainer.kt +103 -3
  58. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHost.kt +13 -0
  59. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHostViewManager.kt +14 -0
  60. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreen.kt +4 -0
  61. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragment.kt +20 -1
  62. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragmentDelegate.kt +12 -0
  63. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceCoordinator.kt +2 -4
  64. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/MenuHelpers.kt +5 -23
  65. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/TabsContainer.kt +46 -25
  66. package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHost.kt +10 -0
  67. package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHostA11yCoordinator.kt +23 -2
  68. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreen.kt +17 -0
  69. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenFragment.kt +3 -0
  70. package/android/src/main/java/com/swmansion/rnscreens/utils/DimensionUtils.kt +7 -0
  71. package/android/src/main/java/com/swmansion/rnscreens/utils/StyleUtils.kt +22 -0
  72. package/android/src/main/res/base/layout/rns_collapsing_toolbar_large_available_space.xml +8 -0
  73. package/android/src/main/res/base/layout/rns_collapsing_toolbar_large_entire_space.xml +8 -0
  74. package/android/src/main/res/base/layout/rns_collapsing_toolbar_medium_available_space.xml +8 -0
  75. package/android/src/main/res/base/layout/rns_collapsing_toolbar_medium_entire_space.xml +8 -0
  76. package/cpp/legacy/RNSScreenRemovalListener.cpp +31 -1
  77. package/cpp/legacy/RNSScreenRemovalListener.h +18 -3
  78. package/ios/RNSEnums.h +2 -0
  79. package/ios/conversion/RNSConversions.h +7 -108
  80. package/ios/legacy/RNSFullWindowOverlay.mm +1 -1
  81. package/ios/legacy/RNSModalScreen.mm +1 -1
  82. package/ios/legacy/RNSScreen.mm +8 -19
  83. package/ios/legacy/RNSScreenStackHeaderConfig.mm +3 -1
  84. package/ios/legacy/RNSScreenStackHeaderSubview.mm +1 -1
  85. package/ios/legacy/RNSScreenWindowTraits.mm +5 -13
  86. package/ios/modals/form-sheet/RNSFormSheetConfigurationApplicator.h +1 -3
  87. package/ios/modals/form-sheet/RNSFormSheetConfigurationApplicator.mm +11 -22
  88. package/ios/modals/form-sheet/RNSFormSheetContentController.h +1 -1
  89. package/ios/modals/form-sheet/RNSFormSheetContentController.mm +7 -18
  90. package/ios/modals/form-sheet/RNSFormSheetHostComponentView.mm +4 -4
  91. package/ios/modals/form-sheet/RNSFormSheetHostShadowStateProxy.mm +2 -2
  92. package/ios/modals/form-sheet/RNSFormSheetUpdateFlags.h +3 -0
  93. package/ios/safe-area/RNSSafeAreaViewComponentView.mm +2 -2
  94. package/ios/{conversion → scroll-view-marker/conversion}/RNSConversions-ScrollViewMarker.mm +2 -3
  95. package/ios/split/RNSSplitAppearanceApplicator.h +4 -4
  96. package/ios/split/RNSSplitAppearanceApplicator.mm +53 -56
  97. package/ios/split/RNSSplitHostComponentEventEmitter.h +1 -0
  98. package/ios/split/RNSSplitHostComponentEventEmitter.mm +1 -1
  99. package/ios/split/RNSSplitHostComponentView.h +5 -15
  100. package/ios/split/RNSSplitHostComponentView.mm +55 -6
  101. package/ios/split/RNSSplitHostController.h +25 -6
  102. package/ios/split/RNSSplitHostController.mm +24 -92
  103. package/ios/split/RNSSplitHostProviders.h +67 -0
  104. package/ios/split/RNSSplitScreenComponentView.h +0 -39
  105. package/ios/split/RNSSplitScreenComponentView.mm +27 -10
  106. package/ios/split/RNSSplitScreenController.h +26 -3
  107. package/ios/split/RNSSplitScreenController.mm +13 -30
  108. package/ios/split/RNSSplitScreenShadowStateProxy.h +1 -40
  109. package/ios/split/RNSSplitScreenShadowStateProxy.mm +1 -26
  110. package/ios/split/conversion/RNSConversions-SplitView.h +56 -0
  111. package/ios/{conversion → split/conversion}/RNSConversions-SplitView.mm +4 -1
  112. package/ios/stack/conversion/RNSConversions-Stack.h +32 -0
  113. package/ios/stack/conversion/RNSConversions-Stack.mm +55 -0
  114. package/ios/stack/header/RNSStackHeaderAppearanceMapper.h +26 -0
  115. package/ios/stack/header/RNSStackHeaderAppearanceMapper.mm +88 -0
  116. package/ios/stack/header/RNSStackHeaderConfigComponentView.h +10 -1
  117. package/ios/stack/header/RNSStackHeaderConfigComponentView.mm +67 -35
  118. package/ios/stack/header/RNSStackHeaderConfigDataProviding.h +6 -0
  119. package/ios/stack/header/RNSStackHeaderConfigShadowStateProxy.mm +1 -1
  120. package/ios/stack/header/RNSStackHeaderIconResolver.mm +7 -0
  121. package/ios/stack/header/RNSStackHeaderItemComponentView.h +3 -1
  122. package/ios/stack/header/RNSStackHeaderItemComponentView.mm +15 -2
  123. package/ios/stack/header/RNSStackHeaderItemDataProviding.h +2 -0
  124. package/ios/stack/header/RNSStackHeaderItemShadowStateProxy.mm +1 -1
  125. package/ios/stack/header/RNSStackHeaderItemSpacerComponentView.mm +2 -1
  126. package/ios/stack/header/RNSStackHeaderMenuMapper.mm +4 -0
  127. package/ios/stack/host/RNSStackNavigationBar.h +25 -0
  128. package/ios/stack/host/RNSStackNavigationBar.mm +80 -0
  129. package/ios/stack/host/RNSStackNavigationBarCoordinator.h +8 -0
  130. package/ios/stack/host/RNSStackNavigationBarCoordinator.mm +11 -0
  131. package/ios/stack/host/RNSStackNavigationController.mm +13 -5
  132. package/ios/stack/host/RNSStackOperation.h +0 -2
  133. package/ios/stack/screen/RNSStackScreenComponentView.mm +9 -2
  134. package/ios/stack/screen/RNSStackScreenController.mm +12 -0
  135. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.h +8 -0
  136. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.mm +98 -16
  137. package/ios/tabs/RNSTabBarAppearanceCoordinator.mm +40 -9
  138. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.h +1 -1
  139. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.mm +1 -1
  140. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryContentComponentView.mm +1 -1
  141. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryEventEmitter.mm +1 -1
  142. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryShadowStateProxy.mm +1 -1
  143. package/ios/tabs/conversion/RNSConversions-Tabs.h +78 -0
  144. package/ios/{conversion → tabs/conversion}/RNSConversions-Tabs.mm +8 -71
  145. package/ios/tabs/extensions/RNSTabsHostComponentView+RNSImageLoader.h +1 -1
  146. package/ios/tabs/host/RNSTabsHostComponentView.h +2 -0
  147. package/ios/tabs/host/RNSTabsHostComponentView.mm +10 -3
  148. package/ios/tabs/host/RNSTabsHostEventEmitter.mm +1 -1
  149. package/ios/tabs/screen/RNSTabsScreenComponentView.mm +20 -5
  150. package/ios/utils/RNSDefines.h +3 -0
  151. package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js +34 -19
  152. package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js.map +1 -1
  153. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js +33 -1
  154. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  155. package/lib/commonjs/components/stack/host/StackHost.js +9 -6
  156. package/lib/commonjs/components/stack/host/StackHost.js.map +1 -1
  157. package/lib/commonjs/components/stack/index.js.map +1 -1
  158. package/lib/commonjs/components/tabs/host/TabsHost.ios.js +1 -0
  159. package/lib/commonjs/components/tabs/host/TabsHost.ios.js.map +1 -1
  160. package/lib/commonjs/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
  161. package/lib/commonjs/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  162. package/lib/commonjs/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  163. package/lib/commonjs/fabric/stack/StackHostNativeComponent.js.map +1 -1
  164. package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  165. package/lib/module/components/stack/header/StackHeaderConfig.android.js +35 -20
  166. package/lib/module/components/stack/header/StackHeaderConfig.android.js.map +1 -1
  167. package/lib/module/components/stack/header/StackHeaderConfig.ios.js +34 -2
  168. package/lib/module/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  169. package/lib/module/components/stack/host/StackHost.js +9 -6
  170. package/lib/module/components/stack/host/StackHost.js.map +1 -1
  171. package/lib/module/components/stack/index.js.map +1 -1
  172. package/lib/module/components/tabs/host/TabsHost.ios.js +1 -0
  173. package/lib/module/components/tabs/host/TabsHost.ios.js.map +1 -1
  174. package/lib/module/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
  175. package/lib/module/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  176. package/lib/module/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  177. package/lib/module/fabric/stack/StackHostNativeComponent.js.map +1 -1
  178. package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  179. package/lib/typescript/components/modals/form-sheet/FormSheet.types.d.ts +1 -1
  180. package/lib/typescript/components/stack/header/StackHeaderConfig.android.d.ts.map +1 -1
  181. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts +616 -21
  182. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -1
  183. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts.map +1 -1
  184. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts +226 -2
  185. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -1
  186. package/lib/typescript/components/stack/header/StackHeaderConfig.types.d.ts +2 -2
  187. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts +2 -0
  188. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts.map +1 -1
  189. package/lib/typescript/components/stack/host/StackHost.d.ts +1 -1
  190. package/lib/typescript/components/stack/host/StackHost.d.ts.map +1 -1
  191. package/lib/typescript/components/stack/host/StackHost.types.d.ts +24 -0
  192. package/lib/typescript/components/stack/host/StackHost.types.d.ts.map +1 -1
  193. package/lib/typescript/components/stack/index.d.ts +2 -2
  194. package/lib/typescript/components/stack/index.d.ts.map +1 -1
  195. package/lib/typescript/components/tabs/host/TabsHost.ios.d.ts.map +1 -1
  196. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts +16 -0
  197. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts.map +1 -1
  198. package/lib/typescript/components/tabs/host/TabsHost.types.d.ts +3 -0
  199. package/lib/typescript/components/tabs/host/TabsHost.types.d.ts.map +1 -1
  200. package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts +52 -0
  201. package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts.map +1 -1
  202. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts +25 -1
  203. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -1
  204. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts +2 -0
  205. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts.map +1 -1
  206. package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts +3 -1
  207. package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts.map +1 -1
  208. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +1 -0
  209. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -1
  210. package/package.json +8 -7
  211. package/react-native.config.js +3 -0
  212. package/src/components/modals/form-sheet/FormSheet.types.ts +1 -1
  213. package/src/components/stack/header/StackHeaderConfig.android.tsx +48 -23
  214. package/src/components/stack/header/StackHeaderConfig.android.types.ts +637 -21
  215. package/src/components/stack/header/StackHeaderConfig.ios.tsx +45 -1
  216. package/src/components/stack/header/StackHeaderConfig.ios.types.ts +238 -2
  217. package/src/components/stack/header/StackHeaderConfig.types.ts +2 -2
  218. package/src/components/stack/header/ios/StackHeaderItem.ios.types.ts +2 -0
  219. package/src/components/stack/host/StackHost.tsx +4 -2
  220. package/src/components/stack/host/StackHost.types.ts +26 -0
  221. package/src/components/stack/index.ts +6 -1
  222. package/src/components/tabs/host/TabsHost.ios.tsx +1 -0
  223. package/src/components/tabs/host/TabsHost.ios.types.ts +16 -0
  224. package/src/components/tabs/host/TabsHost.types.ts +3 -0
  225. package/src/fabric/stack/StackHeaderConfigAndroidNativeComponent.ts +78 -0
  226. package/src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts +32 -0
  227. package/src/fabric/stack/StackHeaderItemIOSNativeComponent.ts +2 -0
  228. package/src/fabric/stack/StackHostNativeComponent.ts +11 -2
  229. package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +1 -0
  230. package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingView.kt +0 -83
  231. package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingViewManager.kt +0 -89
  232. package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingViewPointerEvents.kt +0 -18
  233. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuSelectionController.kt +0 -83
  234. package/ios/conversion/RNSConversions-Stack.h +0 -32
  235. package/ios/conversion/RNSConversions-Stack.mm +0 -41
  236. package/ios/conversion/always_false.h +0 -31
  237. /package/ios/{conversion → scroll-view-marker/conversion}/RNSConversions-ScrollViewMarker.h +0 -0
@@ -1,6 +1,24 @@
1
- import type { CodegenTypes as CT, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes as CT, HostComponent, ProcessedColorValue, ViewProps } from 'react-native';
2
2
  import type { PlatformIconIOS, StackHeaderMenuIOS } from './StackHeaderItemIOSNativeComponent';
3
3
  import { UnsafeMixed } from '../codegenUtils';
4
+ type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
5
+ export type HeaderAppearance = {
6
+ titleFontFamily?: string | undefined;
7
+ titleFontSize?: CT.Float | undefined;
8
+ titleFontWeight?: string | undefined;
9
+ titleFontStyle?: string | undefined;
10
+ titleFontColor?: ProcessedColorValue | null | undefined;
11
+ largeTitleFontFamily?: string | undefined;
12
+ largeTitleFontSize?: CT.Float | undefined;
13
+ largeTitleFontWeight?: string | undefined;
14
+ largeTitleFontStyle?: string | undefined;
15
+ largeTitleFontColor?: ProcessedColorValue | null | undefined;
16
+ subtitleFontFamily?: string | undefined;
17
+ subtitleFontSize?: CT.Float | undefined;
18
+ subtitleFontWeight?: string | undefined;
19
+ subtitleFontStyle?: string | undefined;
20
+ subtitleFontColor?: ProcessedColorValue | null | undefined;
21
+ };
4
22
  export type MenuItemPressEvent = Readonly<{
5
23
  menuItemId: string;
6
24
  }>;
@@ -14,10 +32,16 @@ export interface NativeProps extends ViewProps {
14
32
  hidden?: CT.WithDefault<boolean, false>;
15
33
  transparent?: CT.WithDefault<boolean, false>;
16
34
  backButtonHidden?: CT.WithDefault<boolean, false>;
35
+ backButtonTitle?: string | undefined;
36
+ backButtonDisplayMode?: CT.WithDefault<BackButtonDisplayMode, 'default'>;
37
+ backButtonMenuEnabled?: CT.WithDefault<boolean, true>;
17
38
  largeTitle?: string | undefined;
18
39
  largeSubtitle?: string | undefined;
19
40
  largeTitleEnabled?: CT.WithDefault<boolean, false>;
41
+ prompt?: string | undefined;
20
42
  titleMenu?: UnsafeMixed<StackHeaderMenuIOS> | undefined;
43
+ standardAppearance?: UnsafeMixed<HeaderAppearance> | undefined;
44
+ scrollEdgeAppearance?: UnsafeMixed<HeaderAppearance> | undefined;
21
45
  onMenuItemPress?: CT.DirectEventHandler<MenuItemPressEvent> | undefined;
22
46
  onMenuSelectionChange?: CT.DirectEventHandler<MenuSelectionChangeEvent> | undefined;
23
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StackHeaderConfigIOSNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,IAAI,EAAE,EAClB,aAAa,EACb,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAGlD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,iBAAiB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEnD,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAExD,eAAe,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACxE,qBAAqB,CAAC,EAClB,EAAE,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,GAC/C,SAAS,CAAC;CACf;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAMhD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,CAClB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EAC1C,aAAa,EAAE,MAAM,EAErB,OAAO,EAAE,2BAA2B,EAAE,KACnC,IAAI,CAAC;IACV,cAAc,EAAE,CACd,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EAC1C,aAAa,EAAE,MAAM,EAErB,OAAO,EAAE,2BAA2B,EAAE,KACnC,IAAI,CAAC;CACX;AAED,eAAO,MAAM,QAAQ,EAAE,cAErB,CAAC;wBAKG,aAAa,CAAC,WAAW,CAAC;AAHhC,wBAGiC"}
1
+ {"version":3,"file":"StackHeaderConfigIOSNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ export type PlatformIconIOS = PlatformIconIOSSfSymbol | PlatformIconIOSXcasset |
39
39
  export interface NativeProps extends ViewProps {
40
40
  placement?: CT.WithDefault<Placement, 'trailing'>;
41
41
  itemId?: string | undefined;
42
+ identifier?: string | undefined;
43
+ hidesSharedBackground?: CT.WithDefault<boolean, false>;
42
44
  title?: string | undefined;
43
45
  icon?: UnsafeMixed<PlatformIconIOS> | undefined;
44
46
  menu?: UnsafeMixed<StackHeaderMenuIOS> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"StackHeaderItemIOSNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/stack/StackHeaderItemIOSNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,IAAI,EAAE,EAClB,aAAa,EACb,wBAAwB,EACxB,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,UAAU,GACV,OAAO,GACP,UAAU,GACV,eAAe,CAAC;AAEpB,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,yBAAyB,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,sBAAsB,GACtB,kBAAkB,CAAC;AAGvB,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,cAAc,EAAE,wBAAwB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,SAAS,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IAChD,IAAI,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnD,iBAAiB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,iBAAiB,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;CAC7E;wBAKK,aAAa,CAAC,WAAW,CAAC;AAHhC,wBAGiC"}
1
+ {"version":3,"file":"StackHeaderItemIOSNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/stack/StackHeaderItemIOSNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,IAAI,EAAE,EAClB,aAAa,EACb,wBAAwB,EACxB,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,UAAU,GACV,OAAO,GACP,UAAU,GACV,eAAe,CAAC;AAEpB,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,yBAAyB,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,sBAAsB,GACtB,kBAAkB,CAAC;AAGvB,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,cAAc,EAAE,wBAAwB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,SAAS,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qBAAqB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IAChD,IAAI,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnD,iBAAiB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,iBAAiB,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;CAC7E;wBAKK,aAAa,CAAC,WAAW,CAAC;AAHhC,wBAGiC"}
@@ -1,5 +1,7 @@
1
- import type { HostComponent, ViewProps } from 'react-native';
1
+ import type { HostComponent, ViewProps, CodegenTypes as CT } from 'react-native';
2
+ type StackHostColorScheme = 'inherit' | 'light' | 'dark';
2
3
  export interface NativeProps extends ViewProps {
4
+ colorScheme?: CT.WithDefault<StackHostColorScheme, 'inherit'>;
3
5
  }
4
6
  declare const _default: HostComponent<NativeProps>;
5
7
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"StackHostNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/stack/StackHostNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,WAAW,WAAY,SAAQ,SAAS;CAAG;wBAK5C,aAAa,CAAC,WAAW,CAAC;AAH/B,wBAGgC"}
1
+ {"version":3,"file":"StackHostNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/stack/StackHostNativeComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,YAAY,IAAI,EAAE,EACnB,MAAM,cAAc,CAAC;AAGtB,KAAK,oBAAoB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAY,SAAQ,SAAS;IAE5C,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;CAC/D;wBAKI,aAAa,CAAC,WAAW,CAAC;AAH/B,wBAGgC"}
@@ -41,6 +41,7 @@ export interface NativeProps extends ViewProps {
41
41
  nativeContainerBackgroundColor?: ColorValue | undefined;
42
42
  colorScheme?: CT.WithDefault<TabsHostColorScheme, 'inherit'>;
43
43
  layoutDirection?: CT.WithDefault<LayoutDirection, 'inherit'>;
44
+ tabBarHiddenAnimationEnabled?: CT.WithDefault<boolean, true>;
44
45
  tabBarTintColor?: ColorValue | undefined;
45
46
  tabBarMinimizeBehavior?: CT.WithDefault<TabBarMinimizeBehavior, 'automatic'>;
46
47
  tabBarControllerMode?: CT.WithDefault<TabBarControllerMode, 'automatic'>;
@@ -1 +1 @@
1
- {"version":3,"file":"TabsHostIOSNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/tabs/TabsHostIOSNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabsHostIOSNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/tabs/TabsHostIOSNativeComponent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screens",
3
- "version": "5.0.0-alpha.2",
3
+ "version": "5.0.0-alpha.3",
4
4
  "description": "Native navigation primitives for your React Native app.",
5
5
  "scripts": {
6
6
  "submodules": "git submodule update --init --recursive && (cd react-navigation && yarn && yarn build && cd ../)",
@@ -48,6 +48,7 @@
48
48
  "cpp/",
49
49
  "windows/",
50
50
  "RNScreens.podspec",
51
+ "Package.swift",
51
52
  "react-native.config.js",
52
53
  "README.md",
53
54
  "!**/__tests__",
@@ -81,11 +82,11 @@
81
82
  "@react-native-community/cli": "20.2.0",
82
83
  "@react-native-community/cli-platform-android": "20.2.0",
83
84
  "@react-native-community/cli-platform-ios": "20.2.0",
84
- "@react-native/babel-preset": "0.87.0-rc.3",
85
- "@react-native/eslint-config": "0.87.0-rc.3",
86
- "@react-native/jest-preset": "0.87.0-rc.3",
87
- "@react-native/metro-config": "0.87.0-rc.3",
88
- "@react-native/typescript-config": "0.87.0-rc.3",
85
+ "@react-native/babel-preset": "0.87.0",
86
+ "@react-native/eslint-config": "0.87.0",
87
+ "@react-native/jest-preset": "0.87.0",
88
+ "@react-native/metro-config": "0.87.0",
89
+ "@react-native/typescript-config": "0.87.0",
89
90
  "@react-navigation/native": "^5.8.0",
90
91
  "@react-navigation/stack": "^5.10.0",
91
92
  "@types/jest": "^29.5.13",
@@ -108,7 +109,7 @@
108
109
  "prettier": "^2.8.8",
109
110
  "react": "19.2.3",
110
111
  "react-dom": "^19.1.0",
111
- "react-native": "0.87.0-rc.3",
112
+ "react-native": "0.87.0",
112
113
  "react-native-builder-bob": "^0.23.2",
113
114
  "react-native-gesture-handler": "^3.0.1",
114
115
  "react-native-reanimated": "^3.19.0",
@@ -1,4 +1,7 @@
1
1
  module.exports = {
2
+ spm: {
3
+ name: 'RNScreens',
4
+ },
2
5
  dependency: {
3
6
  platforms: {
4
7
  android: {
@@ -183,7 +183,7 @@ export interface FormSheetProps {
183
183
  *
184
184
  * This event is fired when the sheet was dismissed via the `isOpen` prop changing to `false`.
185
185
  *
186
- * @platform ios
186
+ * @platform android, ios
187
187
  */
188
188
  onDismiss?: FormSheetEventHandler<EmptyEventPayload> | undefined;
189
189
 
@@ -6,10 +6,10 @@ import React, {
6
6
  useRef,
7
7
  } from 'react';
8
8
  import {
9
- Image,
10
9
  type NativeSyntheticEvent,
11
10
  processColor,
12
11
  StyleSheet,
12
+ type TextStyle,
13
13
  } from 'react-native';
14
14
  import type {
15
15
  StackHeaderConfigProps,
@@ -59,6 +59,7 @@ function StackHeaderConfig(
59
59
  centerSubview,
60
60
  trailingSubview,
61
61
  backButtonIcon,
62
+ overflowIcon,
62
63
  scrollFlagScroll,
63
64
  scrollFlagEnterAlways,
64
65
  scrollFlagEnterAlwaysCollapsed,
@@ -66,9 +67,27 @@ function StackHeaderConfig(
66
67
  scrollFlagSnap,
67
68
  toolbarMenu,
68
69
  toolbarMenuGroupDividerEnabled,
70
+ titleFontWeight,
71
+ subtitleFontWeight,
72
+ expandedTitleFontWeight,
73
+ collapsedTitleFontWeight,
74
+ expandedSubtitleFontWeight,
75
+ collapsedSubtitleFontWeight,
69
76
  ...filteredAndroidProps
70
77
  } = android ?? {};
71
78
 
79
+ // Native expects font weight as a string; RN allows numeric weights too.
80
+ const fontWeightProps = {
81
+ titleFontWeight: fontWeightToNative(titleFontWeight),
82
+ subtitleFontWeight: fontWeightToNative(subtitleFontWeight),
83
+ expandedTitleFontWeight: fontWeightToNative(expandedTitleFontWeight),
84
+ collapsedTitleFontWeight: fontWeightToNative(collapsedTitleFontWeight),
85
+ expandedSubtitleFontWeight: fontWeightToNative(expandedSubtitleFontWeight),
86
+ collapsedSubtitleFontWeight: fontWeightToNative(
87
+ collapsedSubtitleFontWeight,
88
+ ),
89
+ };
90
+
72
91
  const parsedToolbarMenu = parseToolbarMenuToNativeProps(toolbarMenu);
73
92
  const handleToolbarMenuItemPress = (
74
93
  event: NativeSyntheticEvent<StackHeaderToolbarMenuItemPressEventAndroid>,
@@ -91,6 +110,7 @@ function StackHeaderConfig(
91
110
  };
92
111
 
93
112
  const backButtonIconProps = parseBackButtonIconToNativeProps(backButtonIcon);
113
+ const overflowIconProps = parseOverflowIconToNativeProps(overflowIcon);
94
114
  const scrollFlagProps = resolveScrollFlags(filteredAndroidProps.type, {
95
115
  scrollFlagScroll,
96
116
  scrollFlagEnterAlways,
@@ -110,7 +130,9 @@ function StackHeaderConfig(
110
130
  onToolbarMenuGroupSelectionChange={handleToolbarMenuGroupSelectionChange}
111
131
  {...baseProps}
112
132
  {...filteredAndroidProps}
133
+ {...fontWeightProps}
113
134
  {...backButtonIconProps}
135
+ {...overflowIconProps}
114
136
  {...scrollFlagProps}>
115
137
  {/*
116
138
  Please note that the order of the subviews MUST match
@@ -142,35 +164,38 @@ function StackHeaderConfig(
142
164
  );
143
165
  }
144
166
 
167
+ function fontWeightToNative(
168
+ fontWeight: TextStyle['fontWeight'],
169
+ ): string | undefined {
170
+ return fontWeight == null ? undefined : String(fontWeight);
171
+ }
172
+
145
173
  function parseBackButtonIconToNativeProps(
146
174
  icon: StackHeaderConfigPropsAndroid['backButtonIcon'],
147
175
  ): Pick<
148
176
  StackHeaderConfigAndroidNativeComponentProps,
149
177
  'backButtonImageIconResource' | 'backButtonDrawableIconResourceName'
150
178
  > {
151
- if (!icon) {
152
- return {};
153
- }
179
+ const parsed = parseAndroidIconToNativeProps(icon);
154
180
 
155
- if (icon.type === 'imageSource') {
156
- const resolved = Image.resolveAssetSource(icon.imageSource);
157
- if (!resolved) {
158
- console.error(
159
- '[RNScreens] failed to resolve an asset for back button icon',
160
- );
161
- }
162
- return {
163
- backButtonImageIconResource: resolved || undefined,
164
- };
165
- } else if (icon.type === 'drawableResource') {
166
- return {
167
- backButtonDrawableIconResourceName: icon.name,
168
- };
169
- } else {
170
- throw new Error(
171
- '[RNScreens] Incorrect icon format for Android. You must provide `imageSource` or `drawableResource`.',
172
- );
173
- }
181
+ return {
182
+ backButtonImageIconResource: parsed.imageIconResource,
183
+ backButtonDrawableIconResourceName: parsed.drawableIconResourceName,
184
+ };
185
+ }
186
+
187
+ function parseOverflowIconToNativeProps(
188
+ icon: StackHeaderConfigPropsAndroid['overflowIcon'],
189
+ ): Pick<
190
+ StackHeaderConfigAndroidNativeComponentProps,
191
+ 'overflowIconImageIconResource' | 'overflowIconDrawableIconResourceName'
192
+ > {
193
+ const parsed = parseAndroidIconToNativeProps(icon);
194
+
195
+ return {
196
+ overflowIconImageIconResource: parsed.imageIconResource,
197
+ overflowIconDrawableIconResourceName: parsed.drawableIconResourceName,
198
+ };
174
199
  }
175
200
 
176
201
  type ScrollFlagFields = {