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

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 (456) hide show
  1. package/Package.swift +87 -0
  2. package/README.md +0 -11
  3. package/android/build.gradle +1 -0
  4. package/android/consumer-rules.pro +3 -0
  5. package/android/src/fabric/java/com/swmansion/rnscreens/legacy/FabricEnabledHeaderConfigViewGroup.kt +2 -0
  6. package/android/src/fabric/java/com/swmansion/rnscreens/legacy/FabricEnabledHeaderSubviewViewGroup.kt +2 -0
  7. package/android/src/fabric/java/com/swmansion/rnscreens/legacy/FabricEnabledViewGroup.kt +18 -3
  8. package/android/src/main/cpp/NativeProxy.cpp +30 -6
  9. package/android/src/main/cpp/NativeProxy.h +7 -1
  10. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +2 -2
  11. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +7 -3
  12. package/android/src/main/java/com/swmansion/rnscreens/common/colorscheme/ColorSchemeCoordinator.kt +11 -1
  13. package/android/src/main/java/com/swmansion/rnscreens/common/container/Container.kt +17 -0
  14. package/android/src/main/java/com/swmansion/rnscreens/common/container/ContainerItem.kt +13 -1
  15. package/android/src/main/java/com/swmansion/rnscreens/common/text/ReactTextAppearance.kt +62 -0
  16. package/android/src/main/java/com/swmansion/rnscreens/common/text/TextAppearance.kt +20 -0
  17. package/android/src/main/java/com/swmansion/rnscreens/common/text/TextAppearanceDefaults.kt +65 -0
  18. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetAppearanceCoordinator.kt +2 -2
  19. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetBehaviorController.kt +51 -20
  20. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/coordinator/FormSheetDimensionsCoordinator.kt +159 -0
  21. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/coordinator/FormSheetKeyboardCoordinator.kt +101 -0
  22. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetNativeDismissCoordinator.kt +2 -8
  23. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/dialog/FormSheetAvailableHeightProvider.kt +44 -0
  24. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native/core → core/modals/formsheet/dialog}/FormSheetContainer.kt +1 -1
  25. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native/core → core/modals/formsheet/dialog}/FormSheetDialog.kt +36 -4
  26. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/dialog/FormSheetDialogManager.kt +107 -0
  27. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/interfaces/FormSheetContentSizeChangeDelegate.kt +1 -1
  28. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/interfaces/FormSheetContentSizeChangeProvider.kt +1 -1
  29. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/interfaces/FormSheetDialogEventEmitter.kt +3 -1
  30. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/model/FormSheetConfig.kt +1 -1
  31. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/model/FormSheetDetents.kt +152 -0
  32. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetAnimatorFactory.kt +9 -10
  33. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/presentation/FormSheetDimmingManager.kt +103 -0
  34. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/presentation/FormSheetDismissalOrigin.kt +22 -0
  35. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/presentation/FormSheetPresentation.kt +173 -0
  36. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/presentation/FormSheetPresentationManager.kt +290 -0
  37. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetPresentationState.kt +2 -2
  38. package/android/src/main/java/com/swmansion/rnscreens/core/modals/formsheet/presentation/FormSheetStackRegistry.kt +28 -0
  39. package/android/src/main/java/com/swmansion/rnscreens/ext/FragmentManagerExt.kt +6 -0
  40. package/android/src/main/java/com/swmansion/rnscreens/helpers/FragmentManagerHelper.kt +0 -3
  41. package/android/src/main/java/com/swmansion/rnscreens/helpers/NoTintDrawable.kt +31 -0
  42. package/android/src/main/java/com/swmansion/rnscreens/helpers/PropIconResolver.kt +17 -23
  43. package/android/src/main/java/com/swmansion/rnscreens/helpers/ViewFinder.kt +0 -17
  44. package/android/src/main/java/com/swmansion/rnscreens/legacy/Screen.kt +32 -3
  45. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenContainer.kt +35 -3
  46. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStack.kt +15 -0
  47. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackHeaderConfig.kt +7 -1
  48. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackHeaderSubviewManager.kt +7 -0
  49. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackViewManager.kt +6 -0
  50. package/android/src/main/java/com/swmansion/rnscreens/legacy/bottomsheet/DimmingView.kt +2 -0
  51. package/android/src/main/java/com/swmansion/rnscreens/legacy/stack/views/ScreensCoordinatorLayout.kt +2 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/contentwrapper/FormSheetContentWrapper.kt +3 -3
  53. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/contentwrapper/FormSheetContentWrapperViewManager.kt +1 -1
  54. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDetentChangedEvent.kt +1 -1
  55. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDidAppearEvent.kt +1 -1
  56. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDidDisappearEvent.kt +1 -1
  57. package/android/src/main/java/com/swmansion/rnscreens/react/modals/formsheet/event/FormSheetDismissEvent.kt +29 -0
  58. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetNativeDismissEvent.kt +1 -1
  59. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetNativeDismissPreventedEvent.kt +1 -1
  60. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetSyncFlushEvent.kt +1 -1
  61. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetWillAppearEvent.kt +1 -1
  62. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetWillDisappearEvent.kt +1 -1
  63. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetContentView.kt +3 -3
  64. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetHost.kt +5 -3
  65. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetHostEventEmitter.kt +17 -10
  66. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetHostViewManager.kt +11 -9
  67. package/android/src/main/java/com/swmansion/rnscreens/safearea/OnInterfaceInsetsChangeListener.kt +15 -0
  68. package/android/src/main/java/com/swmansion/rnscreens/safearea/SafeAreaProvider.kt +8 -8
  69. package/android/src/main/java/com/swmansion/rnscreens/safearea/SafeAreaView.kt +3 -2
  70. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderApplicator.kt +360 -101
  71. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderBackPressHandler.kt +11 -0
  72. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderCoordinatorLayout.kt +211 -113
  73. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderAppBarLayout.kt +156 -24
  74. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderContentScrimDrawable.kt +36 -0
  75. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderToolbar.kt +74 -0
  76. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderCollapsedTitleGravityMode.kt +6 -0
  77. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfig.kt +162 -228
  78. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigViewManager.kt +385 -12
  79. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationObserver.kt +5 -6
  80. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationProviding.kt +29 -6
  81. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderDelegate.kt +0 -7
  82. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderInvalidationFlags.kt +8 -7
  83. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuApplicator.kt +27 -280
  84. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuController.kt +448 -0
  85. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuDelegate.kt +10 -0
  86. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuMapper.kt +28 -20
  87. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuConfig.kt +3 -55
  88. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuGroupMetadata.kt +1 -10
  89. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuItemConfig.kt +1 -3
  90. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/model/StackHeaderToolbarMenuModel.kt +180 -0
  91. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementOptions.kt +57 -6
  92. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementRawUpdate.kt +3 -1
  93. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementUpdate.kt +1 -0
  94. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuIconResolver.kt +4 -3
  95. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuUpdateQueue.kt +23 -9
  96. package/android/src/main/java/com/swmansion/rnscreens/stack/host/FragmentOperation.kt +1 -0
  97. package/android/src/main/java/com/swmansion/rnscreens/stack/host/FragmentOperationExecutor.kt +2 -1
  98. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainer.kt +159 -21
  99. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainerDelegate.kt +7 -0
  100. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainerUpdateCoordinator.kt +5 -3
  101. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHost.kt +27 -5
  102. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHostViewManager.kt +14 -0
  103. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackUpdateBatchStateProviding.kt +10 -0
  104. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/PreventNativeDismissCallback.kt +2 -2
  105. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreen.kt +4 -0
  106. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragment.kt +50 -10
  107. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragmentDelegate.kt +12 -0
  108. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceApplicator.kt +106 -10
  109. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceCoordinator.kt +46 -7
  110. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceModel.kt +3 -0
  111. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/CustomBottomNavigationView.kt +21 -1
  112. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/MenuHelpers.kt +5 -23
  113. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/TabsContainer.kt +72 -36
  114. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/TabsContainerDelegate.kt +11 -0
  115. package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHost.kt +22 -2
  116. package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHostA11yCoordinator.kt +23 -2
  117. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreen.kt +58 -17
  118. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenDelegate.kt +6 -0
  119. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenFragment.kt +3 -0
  120. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenIcon.kt +82 -0
  121. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenIconTinting.kt +17 -0
  122. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenViewManager.kt +26 -19
  123. package/android/src/main/java/com/swmansion/rnscreens/utils/DimensionUtils.kt +20 -6
  124. package/android/src/main/java/com/swmansion/rnscreens/utils/RNSLog.kt +22 -6
  125. package/android/src/main/java/com/swmansion/rnscreens/utils/StyleUtils.kt +22 -0
  126. package/android/src/main/res/base/layout/rns_collapsing_toolbar_large_available_space.xml +8 -0
  127. package/android/src/main/res/base/layout/rns_collapsing_toolbar_large_entire_space.xml +8 -0
  128. package/android/src/main/res/base/layout/rns_collapsing_toolbar_medium_available_space.xml +8 -0
  129. package/android/src/main/res/base/layout/rns_collapsing_toolbar_medium_entire_space.xml +8 -0
  130. package/cpp/legacy/RNSScreenRemovalListener.cpp +31 -1
  131. package/cpp/legacy/RNSScreenRemovalListener.h +18 -3
  132. package/ios/RNSEnums.h +16 -1
  133. package/ios/conversion/RNSConversions.h +7 -108
  134. package/ios/helpers/image/RNSImageLoadingHelper.h +7 -0
  135. package/ios/helpers/image/RNSImageLoadingHelper.mm +9 -0
  136. package/ios/legacy/RNSBarButtonItem.mm +15 -0
  137. package/ios/legacy/RNSConvert.h +6 -0
  138. package/ios/legacy/RNSConvert.mm +17 -0
  139. package/ios/legacy/RNSFullWindowOverlay.mm +1 -1
  140. package/ios/legacy/RNSModalScreen.mm +1 -1
  141. package/ios/legacy/RNSNavigationBar.h +31 -0
  142. package/ios/legacy/RNSNavigationBar.mm +15 -0
  143. package/ios/legacy/RNSScreen.mm +130 -31
  144. package/ios/legacy/RNSScreenContentWrapper.mm +4 -1
  145. package/ios/legacy/RNSScreenStack.mm +202 -15
  146. package/ios/legacy/RNSScreenStackHeaderConfig.h +30 -0
  147. package/ios/legacy/RNSScreenStackHeaderConfig.mm +72 -17
  148. package/ios/legacy/RNSScreenStackHeaderSubview.mm +34 -1
  149. package/ios/legacy/RNSScreenWindowTraits.mm +5 -13
  150. package/ios/modals/form-sheet/RNSFormSheetConfigurationApplicator.h +1 -3
  151. package/ios/modals/form-sheet/RNSFormSheetConfigurationApplicator.mm +11 -22
  152. package/ios/modals/form-sheet/RNSFormSheetContentController.h +1 -1
  153. package/ios/modals/form-sheet/RNSFormSheetContentController.mm +7 -18
  154. package/ios/modals/form-sheet/RNSFormSheetHostComponentView.mm +4 -4
  155. package/ios/modals/form-sheet/RNSFormSheetHostShadowStateProxy.mm +2 -2
  156. package/ios/modals/form-sheet/RNSFormSheetUpdateFlags.h +3 -0
  157. package/ios/safe-area/RNSSafeAreaViewComponentView.mm +3 -14
  158. package/ios/{conversion → scroll-view-marker/conversion}/RNSConversions-ScrollViewMarker.mm +2 -3
  159. package/ios/split/RNSSplitAppearanceApplicator.h +4 -4
  160. package/ios/split/RNSSplitAppearanceApplicator.mm +53 -56
  161. package/ios/split/RNSSplitHostComponentEventEmitter.h +1 -0
  162. package/ios/split/RNSSplitHostComponentEventEmitter.mm +1 -1
  163. package/ios/split/RNSSplitHostComponentView.h +5 -15
  164. package/ios/split/RNSSplitHostComponentView.mm +55 -6
  165. package/ios/split/RNSSplitHostController.h +25 -6
  166. package/ios/split/RNSSplitHostController.mm +24 -92
  167. package/ios/split/RNSSplitHostProviders.h +67 -0
  168. package/ios/split/RNSSplitScreenComponentView.h +0 -39
  169. package/ios/split/RNSSplitScreenComponentView.mm +27 -10
  170. package/ios/split/RNSSplitScreenController.h +26 -3
  171. package/ios/split/RNSSplitScreenController.mm +13 -30
  172. package/ios/split/RNSSplitScreenShadowStateProxy.h +1 -40
  173. package/ios/split/RNSSplitScreenShadowStateProxy.mm +1 -26
  174. package/ios/split/conversion/RNSConversions-SplitView.h +56 -0
  175. package/ios/{conversion → split/conversion}/RNSConversions-SplitView.mm +4 -1
  176. package/ios/stack/conversion/RNSConversions-Stack.h +62 -0
  177. package/ios/stack/conversion/RNSConversions-Stack.mm +134 -0
  178. package/ios/stack/header/RNSHeaderItemVisibilityPriority.h +9 -0
  179. package/ios/stack/header/RNSStackHeaderAppearanceMapper.h +26 -0
  180. package/ios/stack/header/RNSStackHeaderAppearanceMapper.mm +88 -0
  181. package/ios/stack/header/RNSStackHeaderConfigComponentView.h +14 -1
  182. package/ios/stack/header/RNSStackHeaderConfigComponentView.mm +103 -37
  183. package/ios/stack/header/RNSStackHeaderConfigDataProviding.h +11 -0
  184. package/ios/stack/header/RNSStackHeaderConfigShadowStateProxy.mm +1 -1
  185. package/ios/stack/header/RNSStackHeaderContentFactory.mm +3 -0
  186. package/ios/stack/header/RNSStackHeaderIconResolver.mm +7 -0
  187. package/ios/stack/header/RNSStackHeaderItemComponentView.h +12 -3
  188. package/ios/stack/header/RNSStackHeaderItemComponentView.mm +72 -5
  189. package/ios/stack/header/RNSStackHeaderItemDataProviding.h +7 -0
  190. package/ios/stack/header/RNSStackHeaderItemShadowStateProxy.mm +1 -1
  191. package/ios/stack/header/RNSStackHeaderItemSpacerComponentView.mm +2 -1
  192. package/ios/stack/header/RNSStackHeaderMenuCoordinator.h +13 -0
  193. package/ios/stack/header/RNSStackHeaderMenuCoordinator.mm +24 -0
  194. package/ios/stack/header/RNSStackHeaderMenuFinder.h +8 -1
  195. package/ios/stack/header/RNSStackHeaderMenuFinder.mm +26 -9
  196. package/ios/stack/header/RNSStackHeaderMenuMapper.mm +4 -0
  197. package/ios/stack/host/RNSStackNavigationBar.h +25 -0
  198. package/ios/stack/host/RNSStackNavigationBar.mm +80 -0
  199. package/ios/stack/host/RNSStackNavigationBarCoordinator.h +8 -0
  200. package/ios/stack/host/RNSStackNavigationBarCoordinator.mm +11 -0
  201. package/ios/stack/host/RNSStackNavigationController.mm +13 -5
  202. package/ios/stack/host/RNSStackOperation.h +0 -2
  203. package/ios/stack/screen/RNSStackScreenComponentView.h +2 -1
  204. package/ios/stack/screen/RNSStackScreenComponentView.mm +32 -2
  205. package/ios/stack/screen/RNSStackScreenController.mm +12 -0
  206. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.h +8 -0
  207. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.mm +179 -24
  208. package/ios/tabs/RNSTabBarAppearanceCoordinator.mm +110 -16
  209. package/ios/tabs/RNSTabBarItemCoordinator.h +16 -0
  210. package/ios/tabs/RNSTabBarItemCoordinator.mm +143 -0
  211. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.h +1 -1
  212. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.mm +1 -1
  213. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryContentComponentView.mm +1 -1
  214. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryEventEmitter.mm +1 -1
  215. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryShadowStateProxy.mm +1 -1
  216. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryWrapperView.h +24 -0
  217. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryWrapperView.mm +22 -0
  218. package/ios/tabs/conversion/RNSConversions-Tabs.h +100 -0
  219. package/ios/{conversion → tabs/conversion}/RNSConversions-Tabs.mm +105 -74
  220. package/ios/tabs/extensions/RNSTabsHostComponentView+RNSImageLoader.h +1 -1
  221. package/ios/tabs/host/RNSTabBarController.h +16 -0
  222. package/ios/tabs/host/RNSTabBarController.mm +516 -107
  223. package/ios/tabs/host/RNSTabsHostComponentView.h +4 -0
  224. package/ios/tabs/host/RNSTabsHostComponentView.mm +41 -4
  225. package/ios/tabs/host/RNSTabsHostEventEmitter.mm +1 -1
  226. package/ios/tabs/screen/RNSTabsScreenComponentView.h +21 -0
  227. package/ios/tabs/screen/RNSTabsScreenComponentView.mm +56 -56
  228. package/ios/tabs/screen/RNSTabsScreenViewController.mm +1 -0
  229. package/ios/utils/RNSDefines.h +15 -7
  230. package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js +37 -21
  231. package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js.map +1 -1
  232. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js +41 -4
  233. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  234. package/lib/commonjs/components/stack/header/StackHeaderConfig.js +17 -0
  235. package/lib/commonjs/components/stack/header/StackHeaderConfig.js.map +1 -0
  236. package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js +4 -1
  237. package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
  238. package/lib/commonjs/components/stack/host/StackHost.js +17 -7
  239. package/lib/commonjs/components/stack/host/StackHost.js.map +1 -1
  240. package/lib/commonjs/components/stack/host/StackHost.web.js +0 -2
  241. package/lib/commonjs/components/stack/host/StackHost.web.js.map +1 -1
  242. package/lib/commonjs/components/stack/index.js.map +1 -1
  243. package/lib/commonjs/components/tabs/host/TabsHost.ios.js +3 -0
  244. package/lib/commonjs/components/tabs/host/TabsHost.ios.js.map +1 -1
  245. package/lib/commonjs/components/tabs/host/{TabsHost.web.js → TabsHost.js} +1 -1
  246. package/lib/commonjs/components/tabs/host/TabsHost.js.map +1 -0
  247. package/lib/commonjs/components/tabs/index.js.map +1 -1
  248. package/lib/commonjs/components/tabs/screen/TabsScreen.android.js +3 -1
  249. package/lib/commonjs/components/tabs/screen/TabsScreen.android.js.map +1 -1
  250. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.js +10 -1
  251. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.js.map +1 -1
  252. package/lib/commonjs/components/tabs/screen/{TabsScreen.web.js → TabsScreen.js} +1 -1
  253. package/lib/commonjs/components/tabs/screen/TabsScreen.js.map +1 -0
  254. package/lib/commonjs/components/{stack/header/StackHeaderConfig.d.js → tabs/screen/TabsScreenIcon.types.js} +1 -1
  255. package/lib/commonjs/components/{stack/header/StackHeaderConfig.d.js.map → tabs/screen/TabsScreenIcon.types.js.map} +1 -1
  256. package/lib/commonjs/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  257. package/lib/commonjs/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
  258. package/lib/commonjs/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
  259. package/lib/commonjs/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  260. package/lib/commonjs/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  261. package/lib/commonjs/fabric/stack/StackHostNativeComponent.js.map +1 -1
  262. package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  263. package/lib/commonjs/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
  264. package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js +1 -1
  265. package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
  266. package/lib/commonjs/legacy/components/ScreenStackItem.js +31 -11
  267. package/lib/commonjs/legacy/components/ScreenStackItem.js.map +1 -1
  268. package/lib/module/components/stack/header/StackHeaderConfig.android.js +39 -23
  269. package/lib/module/components/stack/header/StackHeaderConfig.android.js.map +1 -1
  270. package/lib/module/components/stack/header/StackHeaderConfig.ios.js +43 -6
  271. package/lib/module/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  272. package/lib/module/components/stack/header/StackHeaderConfig.js +10 -0
  273. package/lib/module/components/stack/header/StackHeaderConfig.js.map +1 -0
  274. package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js +4 -1
  275. package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
  276. package/lib/module/components/stack/host/StackHost.js +18 -8
  277. package/lib/module/components/stack/host/StackHost.js.map +1 -1
  278. package/lib/module/components/stack/host/StackHost.web.js +0 -3
  279. package/lib/module/components/stack/host/StackHost.web.js.map +1 -1
  280. package/lib/module/components/stack/index.js.map +1 -1
  281. package/lib/module/components/tabs/host/TabsHost.ios.js +3 -0
  282. package/lib/module/components/tabs/host/TabsHost.ios.js.map +1 -1
  283. package/{src/components/tabs/host/TabsHost.web.tsx → lib/module/components/tabs/host/TabsHost.js} +1 -2
  284. package/lib/module/components/tabs/host/TabsHost.js.map +1 -0
  285. package/lib/module/components/tabs/index.js.map +1 -1
  286. package/lib/module/components/tabs/screen/TabsScreen.android.js +3 -1
  287. package/lib/module/components/tabs/screen/TabsScreen.android.js.map +1 -1
  288. package/lib/module/components/tabs/screen/TabsScreen.ios.js +10 -1
  289. package/lib/module/components/tabs/screen/TabsScreen.ios.js.map +1 -1
  290. package/{src/components/tabs/screen/TabsScreen.web.tsx → lib/module/components/tabs/screen/TabsScreen.js} +1 -2
  291. package/lib/module/components/tabs/screen/TabsScreen.js.map +1 -0
  292. package/lib/module/components/tabs/screen/TabsScreenIcon.types.js +2 -0
  293. package/lib/module/components/{stack/header/StackHeaderConfig.d.js.map → tabs/screen/TabsScreenIcon.types.js.map} +1 -1
  294. package/lib/module/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  295. package/lib/module/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
  296. package/lib/module/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
  297. package/lib/module/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  298. package/lib/module/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  299. package/lib/module/fabric/stack/StackHostNativeComponent.js.map +1 -1
  300. package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  301. package/lib/module/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
  302. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js +1 -1
  303. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
  304. package/lib/module/legacy/components/ScreenStackItem.js +31 -11
  305. package/lib/module/legacy/components/ScreenStackItem.js.map +1 -1
  306. package/lib/typescript/components/modals/form-sheet/FormSheet.types.d.ts +1 -1
  307. package/lib/typescript/components/stack/header/StackHeaderConfig.android.d.ts +6 -3
  308. package/lib/typescript/components/stack/header/StackHeaderConfig.android.d.ts.map +1 -1
  309. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts +620 -24
  310. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -1
  311. package/lib/typescript/components/stack/header/StackHeaderConfig.d.ts +8 -0
  312. package/lib/typescript/components/stack/header/StackHeaderConfig.d.ts.map +1 -0
  313. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts +6 -3
  314. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts.map +1 -1
  315. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts +361 -2
  316. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -1
  317. package/lib/typescript/components/stack/header/StackHeaderConfig.types.d.ts +4 -2
  318. package/lib/typescript/components/stack/header/StackHeaderConfig.types.d.ts.map +1 -1
  319. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.d.ts.map +1 -1
  320. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts +7 -0
  321. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts.map +1 -1
  322. package/lib/typescript/components/stack/host/StackHost.d.ts +1 -1
  323. package/lib/typescript/components/stack/host/StackHost.d.ts.map +1 -1
  324. package/lib/typescript/components/stack/host/StackHost.types.d.ts +47 -0
  325. package/lib/typescript/components/stack/host/StackHost.types.d.ts.map +1 -1
  326. package/lib/typescript/components/stack/host/StackHost.web.d.ts +1 -3
  327. package/lib/typescript/components/stack/host/StackHost.web.d.ts.map +1 -1
  328. package/lib/typescript/components/stack/index.d.ts +4 -3
  329. package/lib/typescript/components/stack/index.d.ts.map +1 -1
  330. package/lib/typescript/components/tabs/host/TabsHost.d.ts +5 -0
  331. package/lib/typescript/components/tabs/host/TabsHost.d.ts.map +1 -0
  332. package/lib/typescript/components/tabs/host/TabsHost.ios.d.ts.map +1 -1
  333. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts +72 -0
  334. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts.map +1 -1
  335. package/lib/typescript/components/tabs/host/TabsHost.types.d.ts +3 -0
  336. package/lib/typescript/components/tabs/host/TabsHost.types.d.ts.map +1 -1
  337. package/lib/typescript/components/tabs/index.d.ts +4 -6
  338. package/lib/typescript/components/tabs/index.d.ts.map +1 -1
  339. package/lib/typescript/components/tabs/screen/TabsScreen.android.d.ts.map +1 -1
  340. package/lib/typescript/components/tabs/screen/TabsScreen.android.types.d.ts +42 -7
  341. package/lib/typescript/components/tabs/screen/TabsScreen.android.types.d.ts.map +1 -1
  342. package/lib/typescript/components/tabs/screen/TabsScreen.d.ts +5 -0
  343. package/lib/typescript/components/tabs/screen/TabsScreen.d.ts.map +1 -0
  344. package/lib/typescript/components/tabs/screen/TabsScreen.ios.d.ts.map +1 -1
  345. package/lib/typescript/components/tabs/screen/TabsScreen.ios.types.d.ts +78 -13
  346. package/lib/typescript/components/tabs/screen/TabsScreen.ios.types.d.ts.map +1 -1
  347. package/lib/typescript/components/tabs/screen/TabsScreenIcon.types.d.ts +91 -0
  348. package/lib/typescript/components/tabs/screen/TabsScreenIcon.types.d.ts.map +1 -0
  349. package/lib/typescript/components/tabs/screen/index.d.ts +1 -0
  350. package/lib/typescript/components/tabs/screen/index.d.ts.map +1 -1
  351. package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -0
  352. package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
  353. package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts +1 -0
  354. package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts.map +1 -1
  355. package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts +52 -0
  356. package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts.map +1 -1
  357. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts +29 -1
  358. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -1
  359. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts +8 -0
  360. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts.map +1 -1
  361. package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts +3 -1
  362. package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts.map +1 -1
  363. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +4 -0
  364. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -1
  365. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts +6 -0
  366. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts.map +1 -1
  367. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts +10 -1
  368. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts.map +1 -1
  369. package/lib/typescript/legacy/components/ScreenStackItem.d.ts +25 -0
  370. package/lib/typescript/legacy/components/ScreenStackItem.d.ts.map +1 -1
  371. package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts +4 -0
  372. package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts.map +1 -1
  373. package/lib/typescript/legacy/types.d.ts +30 -0
  374. package/lib/typescript/legacy/types.d.ts.map +1 -1
  375. package/package.json +11 -8
  376. package/react-native.config.js +3 -0
  377. package/src/components/modals/form-sheet/FormSheet.types.ts +1 -1
  378. package/src/components/stack/header/StackHeaderConfig.android.tsx +54 -43
  379. package/src/components/stack/header/StackHeaderConfig.android.types.ts +641 -24
  380. package/src/components/stack/header/StackHeaderConfig.ios.tsx +55 -17
  381. package/src/components/stack/header/StackHeaderConfig.ios.types.ts +384 -2
  382. package/src/components/stack/header/StackHeaderConfig.tsx +12 -0
  383. package/src/components/stack/header/StackHeaderConfig.types.ts +4 -2
  384. package/src/components/stack/header/ios/StackHeaderItem.ios.tsx +9 -1
  385. package/src/components/stack/header/ios/StackHeaderItem.ios.types.ts +7 -0
  386. package/src/components/stack/host/StackHost.tsx +12 -3
  387. package/src/components/stack/host/StackHost.types.ts +50 -0
  388. package/src/components/stack/host/StackHost.web.tsx +1 -4
  389. package/src/components/stack/index.ts +14 -1
  390. package/src/components/tabs/host/TabsHost.ios.tsx +3 -0
  391. package/src/components/tabs/host/TabsHost.ios.types.ts +76 -0
  392. package/src/components/tabs/host/TabsHost.tsx +7 -0
  393. package/src/components/tabs/host/TabsHost.types.ts +3 -0
  394. package/src/components/tabs/index.ts +9 -0
  395. package/src/components/tabs/screen/TabsScreen.android.tsx +8 -3
  396. package/src/components/tabs/screen/TabsScreen.android.types.ts +42 -7
  397. package/src/components/tabs/screen/TabsScreen.ios.tsx +22 -5
  398. package/src/components/tabs/screen/TabsScreen.ios.types.ts +79 -17
  399. package/src/components/tabs/screen/TabsScreen.tsx +7 -0
  400. package/src/components/tabs/screen/TabsScreenIcon.types.ts +117 -0
  401. package/src/components/tabs/screen/index.ts +1 -0
  402. package/src/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.ts +6 -0
  403. package/src/fabric/legacy/ScreenStackNativeComponent.ts +2 -0
  404. package/src/fabric/stack/StackHeaderConfigAndroidNativeComponent.ts +78 -0
  405. package/src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts +43 -0
  406. package/src/fabric/stack/StackHeaderItemIOSNativeComponent.ts +13 -0
  407. package/src/fabric/stack/StackHostNativeComponent.ts +11 -2
  408. package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +8 -0
  409. package/src/fabric/tabs/TabsScreenAndroidNativeComponent.ts +9 -0
  410. package/src/fabric/tabs/TabsScreenIOSNativeComponent.ts +20 -2
  411. package/src/legacy/components/ScreenStackItem.tsx +59 -12
  412. package/src/legacy/types.ts +31 -0
  413. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenModalFragment.kt +0 -281
  414. package/android/src/main/java/com/swmansion/rnscreens/legacy/bottomsheet/BottomSheetDialogRootView.kt +0 -104
  415. package/android/src/main/java/com/swmansion/rnscreens/legacy/bottomsheet/BottomSheetDialogScreen.kt +0 -26
  416. package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingView.kt +0 -83
  417. package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingViewManager.kt +0 -89
  418. package/android/src/main/java/com/swmansion/rnscreens/modals/dimmingview/DimmingViewPointerEvents.kt +0 -18
  419. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetDimensionsCoordinator.kt +0 -134
  420. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/core/FormSheetDialogManager.kt +0 -162
  421. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/model/FormSheetDetents.kt +0 -106
  422. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/presentation/FormSheetPresentationManager.kt +0 -198
  423. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuSelectionController.kt +0 -83
  424. package/ios/conversion/RNSConversions-Stack.h +0 -32
  425. package/ios/conversion/RNSConversions-Stack.mm +0 -41
  426. package/ios/conversion/always_false.h +0 -31
  427. package/lib/commonjs/components/stack/header/StackHeaderConfig.web.js +0 -10
  428. package/lib/commonjs/components/stack/header/StackHeaderConfig.web.js.map +0 -1
  429. package/lib/commonjs/components/tabs/host/TabsHost.d.js +0 -2
  430. package/lib/commonjs/components/tabs/host/TabsHost.d.js.map +0 -1
  431. package/lib/commonjs/components/tabs/host/TabsHost.web.js.map +0 -1
  432. package/lib/commonjs/components/tabs/screen/TabsScreen.d.js +0 -2
  433. package/lib/commonjs/components/tabs/screen/TabsScreen.d.js.map +0 -1
  434. package/lib/commonjs/components/tabs/screen/TabsScreen.web.js.map +0 -1
  435. package/lib/module/components/stack/header/StackHeaderConfig.d.js +0 -2
  436. package/lib/module/components/stack/header/StackHeaderConfig.web.js +0 -4
  437. package/lib/module/components/stack/header/StackHeaderConfig.web.js.map +0 -1
  438. package/lib/module/components/tabs/host/TabsHost.d.js +0 -2
  439. package/lib/module/components/tabs/host/TabsHost.d.js.map +0 -1
  440. package/lib/module/components/tabs/host/TabsHost.web.js +0 -4
  441. package/lib/module/components/tabs/host/TabsHost.web.js.map +0 -1
  442. package/lib/module/components/tabs/screen/TabsScreen.d.js +0 -2
  443. package/lib/module/components/tabs/screen/TabsScreen.d.js.map +0 -1
  444. package/lib/module/components/tabs/screen/TabsScreen.web.js +0 -4
  445. package/lib/module/components/tabs/screen/TabsScreen.web.js.map +0 -1
  446. package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts +0 -7
  447. package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts.map +0 -1
  448. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts +0 -7
  449. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts.map +0 -1
  450. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts +0 -7
  451. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts.map +0 -1
  452. package/src/components/stack/header/StackHeaderConfig.d.ts +0 -22
  453. package/src/components/stack/header/StackHeaderConfig.web.tsx +0 -5
  454. package/src/components/tabs/host/TabsHost.d.ts +0 -12
  455. package/src/components/tabs/screen/TabsScreen.d.ts +0 -12
  456. /package/ios/{conversion → scroll-view-marker/conversion}/RNSConversions-ScrollViewMarker.h +0 -0
@@ -44,6 +44,8 @@ NS_ASSUME_NONNULL_BEGIN
44
44
 
45
45
  @property (nonatomic, readonly) BOOL tabBarHidden;
46
46
 
47
+ @property (nonatomic, readonly) BOOL tabBarHiddenAnimationEnabled;
48
+
47
49
  @property (nonatomic, readonly) BOOL bottomAccessoryHidden;
48
50
 
49
51
  @property (nonatomic, strong, readonly, nullable) UIColor *nativeContainerBackgroundColor;
@@ -59,6 +61,8 @@ NS_ASSUME_NONNULL_BEGIN
59
61
  #if RNS_IPHONE_OS_VERSION_AVAILABLE(18_0)
60
62
  @property (nonatomic, readonly) UITabBarControllerMode tabBarControllerMode API_AVAILABLE(ios(18.0));
61
63
  #endif // Check for iOS >= 18
64
+
65
+ @property (nonatomic, copy, readonly, nullable) NSString *prominentScreenKey;
62
66
  @end
63
67
 
64
68
  #pragma mark - React Events
@@ -7,16 +7,17 @@
7
7
  #import <react/renderer/components/rnscreens/EventEmitters.h>
8
8
  #import <react/renderer/components/rnscreens/Props.h>
9
9
  #import <react/renderer/components/rnscreens/RCTComponentViewHelpers.h>
10
- #import <rnscreens/RNSTabsHostComponentDescriptor.h>
10
+ #import <react/renderer/components/rnscreens/RNSTabsHostComponentDescriptor.h>
11
11
  #import "RNSTabsHostComponentView+RNSImageLoader.h"
12
12
 
13
13
  #import "RNSContainerHelpers.h"
14
- #import "RNSConversions.h"
14
+ #import "RNSConversions-Tabs.h"
15
15
  #import "RNSDefines.h"
16
16
  #import "RNSLog.h"
17
17
  #import "RNSTabBarController.h"
18
18
  #import "RNSTabsBottomAccessoryComponentView.h"
19
19
  #import "RNSTabsBottomAccessoryHelper.h"
20
+ #import "RNSTabsBottomAccessoryWrapperView.h"
20
21
  #import "RNSTabsScreenComponentView.h"
21
22
 
22
23
  namespace react = facebook::react;
@@ -98,7 +99,9 @@ namespace react = facebook::react;
98
99
  _layoutDirection = UITraitEnvironmentLayoutDirectionUnspecified;
99
100
  _colorScheme = UIUserInterfaceStyleUnspecified;
100
101
  _rejectStaleNavStateUpdates = NO;
102
+ _tabBarHiddenAnimationEnabled = YES;
101
103
  _bottomAccessoryHidden = NO;
104
+ _prominentScreenKey = nil;
102
105
  #if !TARGET_OS_TV
103
106
  _nativeContainerBackgroundColor = [UIColor systemBackgroundColor];
104
107
  #else // !TARGET_OS_TV
@@ -173,7 +176,7 @@ namespace react = facebook::react;
173
176
  // corner radius. RCTViewComponentView overrides it to 0 by default and we're unable
174
177
  // to restore default value in an easy way. By wrapping it in UIView, it is clipped
175
178
  // to default corner radius.
176
- UIView *wrapperView = [UIView new];
179
+ UIView *wrapperView = [RNSTabsBottomAccessoryWrapperView new];
177
180
  [wrapperView addSubview:bottomAccessory];
178
181
  _bottomAccessoryWrapperView = wrapperView;
179
182
  } else {
@@ -239,11 +242,19 @@ namespace react = facebook::react;
239
242
  _tabBarTintColor = RCTUIColorFromSharedColor(newComponentProps.tabBarTintColor);
240
243
  }
241
244
 
245
+ // Must be applied before `tabBarHidden`, so that both props changing in the same
246
+ // update use the new animation setting.
247
+ if (newComponentProps.tabBarHiddenAnimationEnabled != oldComponentProps.tabBarHiddenAnimationEnabled) {
248
+ _tabBarHiddenAnimationEnabled = newComponentProps.tabBarHiddenAnimationEnabled;
249
+ }
250
+
242
251
  if (newComponentProps.tabBarHidden != oldComponentProps.tabBarHidden) {
243
252
  _tabBarHidden = newComponentProps.tabBarHidden;
244
253
  #if RNS_IPHONE_OS_VERSION_AVAILABLE(18_0)
245
254
  if (@available(iOS 18.0, *)) {
246
- [_controller setTabBarHidden:_tabBarHidden animated:NO];
255
+ // Do not animate during the first render / when it's detached from the UI.
256
+ const BOOL shouldAnimate = [[_controller tabBar] window] != nil && _tabBarHiddenAnimationEnabled;
257
+ [_controller setTabBarHidden:_tabBarHidden animated:shouldAnimate];
247
258
  } else
248
259
  #endif // RNS_IPHONE_OS_VERSION_AVAILABLE(18_0)
249
260
  {
@@ -297,6 +308,32 @@ namespace react = facebook::react;
297
308
  }
298
309
  }
299
310
 
311
+ if (newComponentProps.tabBarSidebarPreferredPlacement != oldComponentProps.tabBarSidebarPreferredPlacement) {
312
+ #if RNS_IPHONE_OS_VERSION_AVAILABLE(27_0) && !TARGET_OS_TV
313
+ if (@available(iOS 27.0, *)) {
314
+ _controller.sidebar.preferredPlacement =
315
+ rnscreens::conversion::UITabBarControllerSidebarPlacementFromRNSTabsHostTabBarSidebarPreferredPlacement(
316
+ newComponentProps.tabBarSidebarPreferredPlacement);
317
+ } else
318
+ #endif // Check for iOS >= 27 && !TARGET_OS_TV
319
+ if (newComponentProps.tabBarSidebarPreferredPlacement !=
320
+ react::RNSTabsHostIOSTabBarSidebarPreferredPlacement::Automatic) {
321
+ RCTLogWarn(@"[RNScreens] tabBarSidebarPreferredPlacement is supported for iOS >= 27");
322
+ }
323
+ }
324
+
325
+ if (newComponentProps.prominentScreenKey != oldComponentProps.prominentScreenKey) {
326
+ _prominentScreenKey = RCTNSStringFromStringNilIfEmpty(newComponentProps.prominentScreenKey);
327
+ #if RNS_IPHONE_OS_VERSION_AVAILABLE(27_0) && !TARGET_OS_TV && !TARGET_OS_VISION
328
+ if (@available(iOS 27.0, *)) {
329
+ [_controller setProminentScreenKey:_prominentScreenKey];
330
+ } else
331
+ #endif // Check for iOS >= 27 && !TARGET_OS_TV && !TARGET_OS_VISION
332
+ if (_prominentScreenKey != nil) {
333
+ RCTLogWarn(@"[RNScreens] prominentScreenKey is supported for iOS >= 27");
334
+ }
335
+ }
336
+
300
337
  if (newComponentProps.layoutDirection != oldComponentProps.layoutDirection) {
301
338
  [self setLayoutDirection:rnscreens::conversion::UITraitEnvironmentLayoutDirectionFromTabsHostCppEquivalent(
302
339
  newComponentProps.layoutDirection)];
@@ -3,7 +3,7 @@
3
3
  #import <React/RCTConversions.h>
4
4
  #import <React/RCTLog.h>
5
5
  #import <react/renderer/components/rnscreens/EventEmitters.h>
6
- #import "RNSConversions.h"
6
+ #import "RNSConversions-Tabs.h"
7
7
 
8
8
  namespace react = facebook::react;
9
9
 
@@ -47,11 +47,15 @@ NS_ASSUME_NONNULL_BEGIN
47
47
 
48
48
  @property (nonatomic, readonly) RNSTabsIconType iconType;
49
49
 
50
+ @property (nonatomic, readonly) RNSTabsIconImageRenderingMode iconImageRenderingMode;
51
+ @property (nonatomic, readonly) RNSTabsIconSymbolRenderingMode iconSymbolRenderingMode;
50
52
  #if defined(__cplusplus)
51
53
  @property (nonatomic, strong, readonly, nullable) RCTImageSource *iconImageSource;
52
54
  #endif // defined(__cplusplus)
53
55
  @property (nonatomic, strong, readonly, nullable) NSString *iconResourceName;
54
56
 
57
+ @property (nonatomic, readonly) RNSTabsIconImageRenderingMode selectedIconImageRenderingMode;
58
+ @property (nonatomic, readonly) RNSTabsIconSymbolRenderingMode selectedIconSymbolRenderingMode;
55
59
  #if defined(__cplusplus)
56
60
  @property (nonatomic, strong, readonly, nullable) RCTImageSource *selectedIconImageSource;
57
61
  #endif // defined(__cplusplus)
@@ -75,8 +79,25 @@ NS_ASSUME_NONNULL_BEGIN
75
79
  @property (nonatomic, readonly, nullable) NSString *tabItemAccessibilityLabel;
76
80
  @property (nonatomic) BOOL tabBarItemNeedsA11yUpdate;
77
81
 
82
+ @property (nonatomic) BOOL tabBarItemNeedsRecreation;
83
+
84
+ @property (nonatomic) BOOL tabBarItemNeedsUpdate;
85
+
78
86
  @property (nonatomic, readonly) RNSTabsScreenSystemItem systemItem;
79
87
 
88
+ /**
89
+ * The system role of this tab. `RNSTabsScreenTabRoleSearch` marks the screen as the system
90
+ * search tab - on the UITab path (iOS 26.1+) it decides the backing tab class:
91
+ * `UISearchTab` vs plain `UITab`. Fixed for the screen's lifetime.
92
+ */
93
+ @property (nonatomic, readonly) RNSTabsScreenTabRole tabRole;
94
+
95
+ /**
96
+ * Whether selecting the search tab should automatically activate its search controller.
97
+ * Effective only on iOS 26.1+ for screens with the search `tabRole`.
98
+ */
99
+ @property (nonatomic, readonly) BOOL automaticallyActivatesSearch;
100
+
80
101
  @end
81
102
 
82
103
  #pragma mark - Experimental
@@ -1,5 +1,6 @@
1
1
  #import "RNSTabsScreenComponentView.h"
2
2
  #import "NSString+RNSUtility.h"
3
+ #import "RNSConversions-Tabs.h"
3
4
  #import "RNSConversions.h"
4
5
  #import "RNSDefines.h"
5
6
  #import "RNSLog.h"
@@ -11,6 +12,7 @@
11
12
 
12
13
  #import <React/RCTConversions.h>
13
14
  #import <React/RCTImageSource.h>
15
+ #import <React/RCTLog.h>
14
16
  #import <react/renderer/components/rnscreens/ComponentDescriptors.h>
15
17
  #import <react/renderer/components/rnscreens/EventEmitters.h>
16
18
  #import <react/renderer/components/rnscreens/Props.h>
@@ -84,13 +86,19 @@ namespace react = facebook::react;
84
86
 
85
87
  _iconType = RNSTabsIconTypeSfSymbol;
86
88
 
89
+ _iconImageRenderingMode = RNSTabsIconImageRenderingModeDefault;
90
+ _iconSymbolRenderingMode = RNSTabsIconSymbolRenderingModeDefault;
87
91
  _iconImageSource = nil;
88
92
  _iconResourceName = nil;
89
93
 
94
+ _selectedIconImageRenderingMode = RNSTabsIconImageRenderingModeDefault;
95
+ _selectedIconSymbolRenderingMode = RNSTabsIconSymbolRenderingModeDefault;
90
96
  _selectedIconImageSource = nil;
91
97
  _selectedIconResourceName = nil;
92
98
 
93
99
  _systemItem = RNSTabsScreenSystemItemNone;
100
+ _tabRole = RNSTabsScreenTabRoleNone;
101
+ _automaticallyActivatesSearch = NO;
94
102
 
95
103
  _userInterfaceStyle = UIUserInterfaceStyleUnspecified;
96
104
  }
@@ -157,51 +165,6 @@ RNS_IGNORE_SUPER_CALL_END
157
165
  }
158
166
  }
159
167
 
160
- #pragma mark - Prop update utils
161
-
162
- - (void)createTabBarItem
163
- {
164
- UITabBarItem *tabBarItem = nil;
165
- if (_systemItem != RNSTabsScreenSystemItemNone) {
166
- UITabBarSystemItem systemItem = rnscreens::conversion::RNSTabsScreenSystemItemToUITabBarSystemItem(_systemItem);
167
- tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:systemItem tag:0];
168
- } else {
169
- tabBarItem = [[UITabBarItem alloc] init];
170
- }
171
-
172
- _controller.tabBarItem = tabBarItem;
173
- }
174
-
175
- - (void)updateTabBarItem
176
- {
177
- UITabBarItem *tabBarItem = _controller.tabBarItem;
178
-
179
- NSString *evaluatedTitle = _title;
180
- if (_title == nil && _systemItem != RNSTabsScreenSystemItemNone) {
181
- // Restore default system item title
182
- UITabBarSystemItem systemItem = rnscreens::conversion::RNSTabsScreenSystemItemToUITabBarSystemItem(_systemItem);
183
- evaluatedTitle = [[UITabBarItem alloc] initWithTabBarSystemItem:systemItem tag:0].title;
184
- }
185
-
186
- [self updateTabBarItemTitle:evaluatedTitle];
187
-
188
- if (![tabBarItem.badgeValue isEqualToString:_badgeValue]) {
189
- tabBarItem.badgeValue = _badgeValue;
190
- }
191
- }
192
-
193
- - (void)updateTabBarItemTitle:(NSString *)newTitle
194
- {
195
- // Setting _controller.title updates also _controller.tabBarItem.title but only if there
196
- // is a change to _controller.title. After creating new tabBarItem, _controller.title
197
- // remains the same but _controller.tabBarItem.title is nil. For consistency, we always
198
- // update both.
199
- if (![_controller.tabBarItem.title isEqualToString:newTitle] || ![_controller.title isEqualToString:newTitle]) {
200
- _controller.title = newTitle;
201
- _controller.tabBarItem.title = newTitle;
202
- }
203
- }
204
-
205
168
  #pragma mark - RNSSafeAreaProviding
206
169
 
207
170
  - (UIEdgeInsets)providerSafeAreaInsets
@@ -234,8 +197,6 @@ RNS_IGNORE_SUPER_CALL_END
234
197
 
235
198
  bool tabItemNeedsAppearanceUpdate{false};
236
199
  bool tabScreenOrientationNeedsUpdate{false};
237
- bool tabBarItemNeedsRecreation{false};
238
- bool tabBarItemNeedsUpdate{false};
239
200
 
240
201
  if (newComponentProps.title != oldComponentProps.title ||
241
202
  newComponentProps.isTitleUndefined != oldComponentProps.isTitleUndefined) {
@@ -247,7 +208,7 @@ RNS_IGNORE_SUPER_CALL_END
247
208
  _title = RCTNSStringFromString(newComponentProps.title);
248
209
  }
249
210
 
250
- tabBarItemNeedsUpdate = YES;
211
+ _tabBarItemNeedsUpdate = YES;
251
212
  }
252
213
 
253
214
  if (newComponentProps.orientation != oldComponentProps.orientation) {
@@ -262,7 +223,7 @@ RNS_IGNORE_SUPER_CALL_END
262
223
 
263
224
  if (newComponentProps.badgeValue != oldComponentProps.badgeValue) {
264
225
  _badgeValue = RCTNSStringFromStringNilIfEmpty(newComponentProps.badgeValue);
265
- tabBarItemNeedsUpdate = YES;
226
+ _tabBarItemNeedsUpdate = YES;
266
227
  }
267
228
 
268
229
  if (newComponentProps.tabBarItemTestID != oldComponentProps.tabBarItemTestID) {
@@ -300,6 +261,32 @@ RNS_IGNORE_SUPER_CALL_END
300
261
  tabItemNeedsAppearanceUpdate = YES;
301
262
  }
302
263
 
264
+ if (newComponentProps.iconImageRenderingMode != oldComponentProps.iconImageRenderingMode) {
265
+ _iconImageRenderingMode = rnscreens::conversion::RNSTabsIconImageRenderingModeFromIconImageRenderingMode(
266
+ newComponentProps.iconImageRenderingMode);
267
+ tabItemNeedsAppearanceUpdate = YES;
268
+ }
269
+
270
+ if (newComponentProps.iconSymbolRenderingMode != oldComponentProps.iconSymbolRenderingMode) {
271
+ _iconSymbolRenderingMode = rnscreens::conversion::RNSTabsIconSymbolRenderingModeFromIconSymbolRenderingMode(
272
+ newComponentProps.iconSymbolRenderingMode);
273
+ tabItemNeedsAppearanceUpdate = YES;
274
+ }
275
+
276
+ if (newComponentProps.selectedIconImageRenderingMode != oldComponentProps.selectedIconImageRenderingMode) {
277
+ _selectedIconImageRenderingMode =
278
+ rnscreens::conversion::RNSTabsIconImageRenderingModeFromSelectedIconImageRenderingMode(
279
+ newComponentProps.selectedIconImageRenderingMode);
280
+ tabItemNeedsAppearanceUpdate = YES;
281
+ }
282
+
283
+ if (newComponentProps.selectedIconSymbolRenderingMode != oldComponentProps.selectedIconSymbolRenderingMode) {
284
+ _selectedIconSymbolRenderingMode =
285
+ rnscreens::conversion::RNSTabsIconSymbolRenderingModeFromSelectedIconSymbolRenderingMode(
286
+ newComponentProps.selectedIconSymbolRenderingMode);
287
+ tabItemNeedsAppearanceUpdate = YES;
288
+ }
289
+
303
290
  if (newComponentProps.iconImageSource != oldComponentProps.iconImageSource) {
304
291
  _iconImageSource =
305
292
  rnscreens::conversion::RCTImageSourceFromImageSourceAndIconType(&newComponentProps.iconImageSource, _iconType);
@@ -363,7 +350,23 @@ RNS_IGNORE_SUPER_CALL_END
363
350
  if (newComponentProps.systemItem != oldComponentProps.systemItem) {
364
351
  _systemItem =
365
352
  rnscreens::conversion::RNSTabsScreenSystemItemFromReactRNSTabsScreenSystemItem(newComponentProps.systemItem);
366
- tabBarItemNeedsRecreation = YES;
353
+ _tabBarItemNeedsRecreation = YES;
354
+ }
355
+
356
+ if (newComponentProps.tabRole != oldComponentProps.tabRole) {
357
+ #if RNS_UITAB_API_SDK_AVAILABLE
358
+ // Only the UITab-managed path fixes the tab class (`UISearchTab` vs `UITab`)
359
+ // at creation; outside of it the prop has no effect.
360
+ if (RNS_UITAB_API_ENABLED) {
361
+ RCTAssert(_controller.tabBarController == nil,
362
+ @"[RNScreens] Changing `role` on a mounted tab screen is not supported.");
363
+ }
364
+ #endif // RNS_UITAB_API_SDK_AVAILABLE
365
+ _tabRole = rnscreens::conversion::RNSTabsScreenTabRoleFromReactRNSTabsScreenTabRole(newComponentProps.tabRole);
366
+ }
367
+
368
+ if (newComponentProps.automaticallyActivatesSearch != oldComponentProps.automaticallyActivatesSearch) {
369
+ _automaticallyActivatesSearch = newComponentProps.automaticallyActivatesSearch;
367
370
  }
368
371
 
369
372
  if (newComponentProps.userInterfaceStyle != oldComponentProps.userInterfaceStyle) {
@@ -371,15 +374,12 @@ RNS_IGNORE_SUPER_CALL_END
371
374
  rnscreens::conversion::UIUserInterfaceStyleFromTabsScreenCppEquivalent(newComponentProps.userInterfaceStyle);
372
375
  }
373
376
 
374
- if (tabBarItemNeedsRecreation) {
375
- [self createTabBarItem];
376
- tabBarItemNeedsUpdate = YES;
377
+ if (_tabBarItemNeedsRecreation) {
378
+ _tabBarItemNeedsUpdate = YES;
377
379
  _tabBarItemNeedsA11yUpdate = YES;
378
380
  }
379
381
 
380
- if (tabBarItemNeedsUpdate) {
381
- [self updateTabBarItem];
382
-
382
+ if (_tabBarItemNeedsUpdate) {
383
383
  // Force appearance update to make sure correct image for tab bar item is used
384
384
  tabItemNeedsAppearanceUpdate = YES;
385
385
  }
@@ -1,6 +1,7 @@
1
1
  #import "RNSTabsScreenViewController.h"
2
2
  #import "RNSContainer.h"
3
3
  #import "RNSContainerItemSupport.h"
4
+ #import "RNSDefines.h"
4
5
  #import "RNSLog.h"
5
6
  #import "RNSTabBarController.h"
6
7
  #import "UIScrollView+RNScreens.h"
@@ -1,20 +1,28 @@
1
1
  #pragma once
2
2
 
3
+ #import <Availability.h>
4
+ #import <TargetConditionals.h>
5
+
3
6
  #pragma mark - Compiler utility
4
7
 
5
8
  #define RNS_IGNORE_SUPER_CALL_BEGIN \
6
- _Pragma("clang diagnostic push") \
7
- _Pragma("clang diagnostic ignored \"-Wobjc-missing-super-calls\"")
9
+ _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wobjc-missing-super-calls\"")
8
10
 
9
11
  #define RNS_IGNORE_SUPER_CALL_END _Pragma("clang diagnostic pop")
10
12
 
11
13
  #pragma mark - SDK availability utility
12
14
 
13
- #define RNS_IPHONE_OS_VERSION_AVAILABLE(v) \
14
- (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_##v) && \
15
- __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_##v)
15
+ #define RNS_IPHONE_OS_VERSION_AVAILABLE(v) \
16
+ (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_##v) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_##v)
16
17
 
17
18
  #pragma mark - Availability utils
18
19
 
19
- #define RNS_TABS_BOTTOM_ACCESSORY_AVAILABLE \
20
- RNS_IPHONE_OS_VERSION_AVAILABLE(26_0) && !TARGET_OS_TV && !TARGET_OS_VISION
20
+ #define RNS_TABS_BOTTOM_ACCESSORY_AVAILABLE RNS_IPHONE_OS_VERSION_AVAILABLE(26_0) && !TARGET_OS_TV && !TARGET_OS_VISION
21
+
22
+ // UITab-based UITabBarController children API.
23
+ // Compile-time check for SDK availability and whether we want to actually use it.
24
+ #define RNS_UITAB_API_SDK_AVAILABLE (RNS_IPHONE_OS_VERSION_AVAILABLE(18_0) && !TARGET_OS_TV && !TARGET_OS_VISION)
25
+ // Runtime check deciding since which version we want to use it.
26
+ // Keep in mind that UITab api has been added in iOS 18,
27
+ // plus, for certain iOS 27 features this new API is mandatory.
28
+ #define RNS_UITAB_API_ENABLED @available(iOS 26.1, *)
@@ -15,10 +15,11 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
15
15
  /**
16
16
  * EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
17
17
  */
18
- function StackHeaderConfig(props, forwardedRef) {
18
+ function StackHeaderConfig(props) {
19
19
  // ios props are safely dropped
20
20
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
21
  const {
22
+ ref: forwardedRef,
22
23
  android,
23
24
  ios,
24
25
  ...baseProps
@@ -30,6 +31,7 @@ function StackHeaderConfig(props, forwardedRef) {
30
31
  centerSubview,
31
32
  trailingSubview,
32
33
  backButtonIcon,
34
+ overflowIcon,
33
35
  scrollFlagScroll,
34
36
  scrollFlagEnterAlways,
35
37
  scrollFlagEnterAlwaysCollapsed,
@@ -37,8 +39,24 @@ function StackHeaderConfig(props, forwardedRef) {
37
39
  scrollFlagSnap,
38
40
  toolbarMenu,
39
41
  toolbarMenuGroupDividerEnabled,
42
+ titleFontWeight,
43
+ subtitleFontWeight,
44
+ expandedTitleFontWeight,
45
+ collapsedTitleFontWeight,
46
+ expandedSubtitleFontWeight,
47
+ collapsedSubtitleFontWeight,
40
48
  ...filteredAndroidProps
41
49
  } = android ?? {};
50
+
51
+ // Native expects font weight as a string; RN allows numeric weights too.
52
+ const fontWeightProps = {
53
+ titleFontWeight: fontWeightToNative(titleFontWeight),
54
+ subtitleFontWeight: fontWeightToNative(subtitleFontWeight),
55
+ expandedTitleFontWeight: fontWeightToNative(expandedTitleFontWeight),
56
+ collapsedTitleFontWeight: fontWeightToNative(collapsedTitleFontWeight),
57
+ expandedSubtitleFontWeight: fontWeightToNative(expandedSubtitleFontWeight),
58
+ collapsedSubtitleFontWeight: fontWeightToNative(collapsedSubtitleFontWeight)
59
+ };
42
60
  const parsedToolbarMenu = parseToolbarMenuToNativeProps(toolbarMenu);
43
61
  const handleToolbarMenuItemPress = event => {
44
62
  const element = findToolbarMenuElementById(toolbarMenu?.children, event.nativeEvent.id);
@@ -55,6 +73,7 @@ function StackHeaderConfig(props, forwardedRef) {
55
73
  group?.onSelectionChange?.(selectedIds);
56
74
  };
57
75
  const backButtonIconProps = parseBackButtonIconToNativeProps(backButtonIcon);
76
+ const overflowIconProps = parseOverflowIconToNativeProps(overflowIcon);
58
77
  const scrollFlagProps = resolveScrollFlags(filteredAndroidProps.type, {
59
78
  scrollFlagScroll,
60
79
  scrollFlagEnterAlways,
@@ -70,7 +89,7 @@ function StackHeaderConfig(props, forwardedRef) {
70
89
  toolbarMenuGroupDividerEnabled: toolbarMenuGroupDividerEnabled,
71
90
  onToolbarMenuItemPress: handleToolbarMenuItemPress,
72
91
  onToolbarMenuGroupSelectionChange: handleToolbarMenuGroupSelectionChange
73
- }, baseProps, filteredAndroidProps, backButtonIconProps, scrollFlagProps), backgroundSubview && /*#__PURE__*/_react.default.createElement(_StackHeaderSubview.default, {
92
+ }, baseProps, filteredAndroidProps, fontWeightProps, backButtonIconProps, overflowIconProps, scrollFlagProps), backgroundSubview && /*#__PURE__*/_react.default.createElement(_StackHeaderSubview.default, {
74
93
  type: "background",
75
94
  collapseMode: backgroundSubview.collapseMode
76
95
  }, backgroundSubview.render()), leadingSubview && /*#__PURE__*/_react.default.createElement(_StackHeaderSubview.default, {
@@ -81,25 +100,22 @@ function StackHeaderConfig(props, forwardedRef) {
81
100
  type: "trailing"
82
101
  }, trailingSubview.render()));
83
102
  }
103
+ function fontWeightToNative(fontWeight) {
104
+ return fontWeight == null ? undefined : String(fontWeight);
105
+ }
84
106
  function parseBackButtonIconToNativeProps(icon) {
85
- if (!icon) {
86
- return {};
87
- }
88
- if (icon.type === 'imageSource') {
89
- const resolved = _reactNative.Image.resolveAssetSource(icon.imageSource);
90
- if (!resolved) {
91
- console.error('[RNScreens] failed to resolve an asset for back button icon');
92
- }
93
- return {
94
- backButtonImageIconResource: resolved || undefined
95
- };
96
- } else if (icon.type === 'drawableResource') {
97
- return {
98
- backButtonDrawableIconResourceName: icon.name
99
- };
100
- } else {
101
- throw new Error('[RNScreens] Incorrect icon format for Android. You must provide `imageSource` or `drawableResource`.');
102
- }
107
+ const parsed = (0, _shared.parseAndroidIconToNativeProps)(icon);
108
+ return {
109
+ backButtonImageIconResource: parsed.imageIconResource,
110
+ backButtonDrawableIconResourceName: parsed.drawableIconResourceName
111
+ };
112
+ }
113
+ function parseOverflowIconToNativeProps(icon) {
114
+ const parsed = (0, _shared.parseAndroidIconToNativeProps)(icon);
115
+ return {
116
+ overflowIconImageIconResource: parsed.imageIconResource,
117
+ overflowIconDrawableIconResourceName: parsed.drawableIconResourceName
118
+ };
103
119
  }
104
120
  const SCROLL_FLAG_DEFAULTS_BY_TYPE = {
105
121
  small: {
@@ -394,5 +410,5 @@ function parseToolbarMenuElementOptionsToNativeProps(options) {
394
410
  }));
395
411
  return nativeOptions;
396
412
  }
397
- var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(StackHeaderConfig);
413
+ var _default = exports.default = StackHeaderConfig;
398
414
  //# sourceMappingURL=StackHeaderConfig.android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_StackHeaderConfigAndroidNativeComponent","_StackHeaderSubview","_interopRequireDefault","_shared","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","StackHeaderConfig","props","forwardedRef","android","ios","baseProps","ref","useHeaderConfigRef","backgroundSubview","leadingSubview","centerSubview","trailingSubview","backButtonIcon","scrollFlagScroll","scrollFlagEnterAlways","scrollFlagEnterAlwaysCollapsed","scrollFlagExitUntilCollapsed","scrollFlagSnap","toolbarMenu","toolbarMenuGroupDividerEnabled","filteredAndroidProps","parsedToolbarMenu","parseToolbarMenuToNativeProps","handleToolbarMenuItemPress","event","element","findToolbarMenuElementById","children","nativeEvent","id","type","onPress","handleToolbarMenuGroupSelectionChange","groupId","selectedIds","group","findToolbarMenuGroupById","onSelectionChange","backButtonIconProps","parseBackButtonIconToNativeProps","scrollFlagProps","resolveScrollFlags","createElement","collapsable","style","StyleSheet","absoluteFill","onToolbarMenuItemPress","onToolbarMenuGroupSelectionChange","collapseMode","render","icon","resolved","Image","resolveAssetSource","imageSource","console","error","backButtonImageIconResource","undefined","backButtonDrawableIconResourceName","name","Error","SCROLL_FLAG_DEFAULTS_BY_TYPE","small","medium","large","overrides","defaults","useRef","useImperativeHandle","updateToolbarMenuElements","updates","current","warn","updatesArray","Array","isArray","nativeUpdates","map","options","parseToolbarMenuElementOptionsToNativeProps","StackHeaderConfigAndroidNativeCommands","menu","groups","found","elements","assertUniqueItemIds","assertUniqueGroupIds","assertGroupIdReferencesExist","assertRadioInitialSelection","parseGroupsToNativeProps","parseElementToNativeProps","singleSelection","parseBaseItemToNativeProps","assertItemTypeGroupIdConsistency","assertNoOnPressOnToggleItem","itemType","initialToggleState","seen","Set","add","localGroupIds","g","count","effectiveItemType","iconTintColorNormal","iconTintColorPressed","iconTintColorFocused","iconTintColorDisabled","rest","parseAndroidIconToNativeProps","processColor","nativeOptions","fromEntries","entries","flatMap","key","value","typedKey","iconValue","noIcon","imageIconResource","drawableIconResourceName","_default","exports","forwardRef"],"sourceRoot":"../../../../../src","sources":["components/stack/header/StackHeaderConfig.android.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_StackHeaderConfigAndroidNativeComponent","_StackHeaderSubview","_interopRequireDefault","_shared","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","StackHeaderConfig","props","ref","forwardedRef","android","ios","baseProps","useHeaderConfigRef","backgroundSubview","leadingSubview","centerSubview","trailingSubview","backButtonIcon","overflowIcon","scrollFlagScroll","scrollFlagEnterAlways","scrollFlagEnterAlwaysCollapsed","scrollFlagExitUntilCollapsed","scrollFlagSnap","toolbarMenu","toolbarMenuGroupDividerEnabled","titleFontWeight","subtitleFontWeight","expandedTitleFontWeight","collapsedTitleFontWeight","expandedSubtitleFontWeight","collapsedSubtitleFontWeight","filteredAndroidProps","fontWeightProps","fontWeightToNative","parsedToolbarMenu","parseToolbarMenuToNativeProps","handleToolbarMenuItemPress","event","element","findToolbarMenuElementById","children","nativeEvent","id","type","onPress","handleToolbarMenuGroupSelectionChange","groupId","selectedIds","group","findToolbarMenuGroupById","onSelectionChange","backButtonIconProps","parseBackButtonIconToNativeProps","overflowIconProps","parseOverflowIconToNativeProps","scrollFlagProps","resolveScrollFlags","createElement","collapsable","style","StyleSheet","absoluteFill","onToolbarMenuItemPress","onToolbarMenuGroupSelectionChange","collapseMode","render","fontWeight","undefined","String","icon","parsed","parseAndroidIconToNativeProps","backButtonImageIconResource","imageIconResource","backButtonDrawableIconResourceName","drawableIconResourceName","overflowIconImageIconResource","overflowIconDrawableIconResourceName","SCROLL_FLAG_DEFAULTS_BY_TYPE","small","medium","large","overrides","defaults","useRef","useImperativeHandle","updateToolbarMenuElements","updates","current","console","warn","updatesArray","Array","isArray","nativeUpdates","map","options","parseToolbarMenuElementOptionsToNativeProps","StackHeaderConfigAndroidNativeCommands","menu","groups","found","elements","assertUniqueItemIds","assertUniqueGroupIds","assertGroupIdReferencesExist","assertRadioInitialSelection","parseGroupsToNativeProps","parseElementToNativeProps","singleSelection","parseBaseItemToNativeProps","assertItemTypeGroupIdConsistency","assertNoOnPressOnToggleItem","itemType","initialToggleState","seen","Set","Error","add","localGroupIds","g","count","effectiveItemType","iconTintColorNormal","iconTintColorPressed","iconTintColorFocused","iconTintColorDisabled","rest","processColor","nativeOptions","fromEntries","entries","flatMap","key","value","typedKey","iconValue","noIcon","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/stack/header/StackHeaderConfig.android.tsx"],"mappings":"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","ignoreList":[]}