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
@@ -1,8 +1,11 @@
1
1
  import type { ReactElement } from 'react';
2
- import type { ColorValue } from 'react-native';
2
+ import type { ColorValue, TextStyle } from 'react-native';
3
3
  import type { StackHeaderSubviewCollapseModeAndroid } from './android/StackHeaderSubview.android.types';
4
4
  import type { PlatformIconAndroid } from '../../shared/types';
5
5
  export type StackHeaderTypeAndroid = 'small' | 'medium' | 'large';
6
+ export type StackHeaderTitleHorizontalGravityAndroid = 'start' | 'center' | 'end';
7
+ export type StackHeaderTitleVerticalGravityAndroid = 'top' | 'center' | 'bottom';
8
+ export type StackHeaderCollapsedTitleGravityModeAndroid = 'entireSpace' | 'availableSpace';
6
9
  export type StackHeaderBackgroundSubviewCollapseModeAndroid = StackHeaderSubviewCollapseModeAndroid;
7
10
  export interface StackHeaderToolbarSubviewAndroid {
8
11
  /**
@@ -69,13 +72,6 @@ export interface StackHeaderToolbarMenuItemBaseAndroid {
69
72
  /**
70
73
  * @summary Title of the menu element.
71
74
  *
72
- * @remarks
73
- * If `title` is changed for the element of type `menu` by using the
74
- * `updateToolbarMenuElements` view command, the menu title (`menuTitle`)
75
- * will also be changed to the new title (unless the new title is set to
76
- * `undefined`). In order to keep the custom menu title, you should also
77
- * include `menuTitle` in the view command.
78
- *
79
75
  * @platform android
80
76
  */
81
77
  title?: string | undefined;
@@ -183,6 +179,9 @@ export interface StackHeaderToolbarMenuItemBaseAndroid {
183
179
  * The icon will be visible only if the menu element is shown in the
184
180
  * Toolbar.
185
181
  *
182
+ * An icon set via the `updateToolbarMenuElements` view command takes
183
+ * precedence over this one until the next `toolbarMenu` change.
184
+ *
186
185
  * @platform android
187
186
  */
188
187
  icon?: PlatformIconAndroid | undefined;
@@ -280,6 +279,10 @@ export interface StackHeaderToolbarMenuItemAndroid extends StackHeaderToolbarMen
280
279
  * The initial state does not trigger `onSelectionChange` on
281
280
  * the group at mount time.
282
281
  *
282
+ * A `toolbarMenu` prop change restores the selection to this value.
283
+ * Neither that restore nor a native header rebuild triggers
284
+ * `onSelectionChange`.
285
+ *
283
286
  * @default false
284
287
  * @platform android
285
288
  */
@@ -368,10 +371,8 @@ export interface StackHeaderToolbarMenuAndroid extends StackHeaderToolbarMenuIte
368
371
  * `title`, which controls the label shown in the parent menu's item row.
369
372
  *
370
373
  * @remarks
371
- * If `title` is changed by using the `updateToolbarMenuElements` view
372
- * command, the menu title will also be changed to the new title (unless the
373
- * new title is set to `undefined`). In order to keep the custom menu title,
374
- * you should also include `menuTitle` in the view command.
374
+ * When left unset, the header falls back to `title`; when both are unset,
375
+ * the popup shows no header.
375
376
  *
376
377
  * @platform android
377
378
  */
@@ -394,7 +395,8 @@ export type StackHeaderToolbarMenuElementOptionsAndroid = Partial<Omit<StackHead
394
395
  *
395
396
  * @description
396
397
  * Only applies to `type: 'menu'` elements. Ignored if the target is a regular
397
- * menu item.
398
+ * menu item. Setting it to `undefined` drops the `menuTitle` prop as well,
399
+ * leaving the header to fall back to `title`.
398
400
  *
399
401
  * @platform android
400
402
  */
@@ -434,11 +436,18 @@ export interface StackHeaderConfigCommandsAndroid {
434
436
  * overtaken by an earlier one whose icon happened to load late.
435
437
  *
436
438
  * @remarks
437
- * Updates are applied to the live toolbar: they take effect only while the
438
- * header is shown, and are discarded whenever the menu is rebuilt from the
439
- * `toolbarMenu` prop — whether by a prop change or a structural change such
440
- * as hiding and re-showing the header. They persist across unrelated
441
- * re-renders. An update whose `id` is not in the current menu is ignored.
439
+ * Updates persist for the lifetime of the current `toolbarMenu`
440
+ * configuration: they survive every native header rebuild — an effective
441
+ * color scheme change, a header `type`, `maxLines` or
442
+ * `collapsedTitleGravityMode` change, hiding and re-showing the header,
443
+ * reattaching the screen (e.g. switching tabs) — and unrelated re-renders.
444
+ * Updates sent while the header is hidden are recorded — and emit their
445
+ * selection events — as usual, and take effect when the header is next
446
+ * shown. Only a `toolbarMenu` prop change resets them, dropping the
447
+ * batches still queued as well (see its docs). An update whose `id` is not
448
+ * in the current menu is ignored. An `icon` set via this command takes
449
+ * precedence over the icon declared in `toolbarMenu` until the next
450
+ * `toolbarMenu` change.
442
451
  *
443
452
  * @param updates A single update object or an array of updates.
444
453
  */
@@ -458,6 +467,9 @@ export interface StackHeaderConfigPropsAndroid {
458
467
  * M3 Expressive headers aren't currently supported (there is no stable
459
468
  * `MDC-Android` version yet).
460
469
  *
470
+ * Changing this prop at runtime rebuilds the header. Toolbar menu state
471
+ * survives the rebuild — see `updateToolbarMenuElements`.
472
+ *
461
473
  * @see {@link https://m3.material.io/components/app-bars/overview|Material Design 3: App bars}
462
474
  *
463
475
  * @default small
@@ -544,6 +556,63 @@ export interface StackHeaderConfigPropsAndroid {
544
556
  * @platform android
545
557
  */
546
558
  backButtonIcon?: PlatformIconAndroid | undefined;
559
+ /**
560
+ * @summary Custom icon for the overflow menu button (the three-dots button
561
+ * that opens the toolbar menu's overflow popup).
562
+ *
563
+ * @description
564
+ * When `undefined`, the Material 3 Expressive default overflow icon is used.
565
+ *
566
+ * Supported values:
567
+ * - `{ type: 'imageSource', imageSource }`
568
+ * Uses an image from the provided resource.
569
+ *
570
+ * Remarks: `imageSource` type doesn't support SVGs on Android.
571
+ * For loading SVGs use `drawableResource` type.
572
+ *
573
+ * - `{ type: 'drawableResource', name }`
574
+ * Uses a drawable resource with the given name.
575
+ *
576
+ * Remarks: Requires passing a drawable to resources via Android Studio.
577
+ *
578
+ * @platform android
579
+ */
580
+ overflowIcon?: PlatformIconAndroid | undefined;
581
+ /**
582
+ * @summary Tint color applied to the overflow menu icon in its normal state.
583
+ *
584
+ * @description
585
+ * When `undefined`, the default tint (the Material theme's menu icon color)
586
+ * is used. This applies to the default overflow icon and `drawableResource`
587
+ * icons that have an associated tint. For `imageSource` icons, no tint is
588
+ * applied by default.
589
+ *
590
+ * @platform android
591
+ */
592
+ overflowIconTintColorNormal?: ColorValue | undefined;
593
+ /**
594
+ * @summary Tint color applied to the overflow menu icon when it is pressed.
595
+ *
596
+ * @remarks
597
+ * Due to native platform limitations, if you set this prop, you must also
598
+ * provide `overflowIconTintColorNormal`. Otherwise, the icon will become
599
+ * transparent.
600
+ *
601
+ * @platform android
602
+ */
603
+ overflowIconTintColorPressed?: ColorValue | undefined;
604
+ /**
605
+ * @summary Tint color applied to the overflow menu icon when it is focused
606
+ * (e.g. by keyboard navigation).
607
+ *
608
+ * @remarks
609
+ * Due to native platform limitations, if you set this prop, you must also
610
+ * provide `overflowIconTintColorNormal`. Otherwise, the icon will become
611
+ * transparent.
612
+ *
613
+ * @platform android
614
+ */
615
+ overflowIconTintColorFocused?: ColorValue | undefined;
547
616
  /**
548
617
  * @summary Whether the header reacts to nested scroll. Required for any
549
618
  * other `scrollFlag*` prop to take effect.
@@ -554,9 +623,10 @@ export interface StackHeaderConfigPropsAndroid {
554
623
  * - `medium` / `large` -> `true`
555
624
  *
556
625
  * @remarks
557
- * Changing any `scrollFlag*` at runtime forces the header back to
558
- * its fully expanded state, which produces a visible snap. Treat these
559
- * props as a static configuration.
626
+ * Changing any `scrollFlag*` at runtime while the header is partially
627
+ * collapsed snaps it back to its fully expanded state. A fully collapsed
628
+ * header stays collapsed, unless the new flags do not allow collapsing at
629
+ * all - then it expands.
560
630
  *
561
631
  * @platform android
562
632
  */
@@ -638,7 +708,8 @@ export interface StackHeaderConfigPropsAndroid {
638
708
  * Material `CollapsingToolbarLayout` uses a fade title-collapse mode that
639
709
  * installs its own content scrim and disables the app bar's lift-on-scroll,
640
710
  * so this prop has no effect there. The collapsed appearance of those headers
641
- * is instead controlled by that content scrim, which is not exposed yet.
711
+ * is instead controlled by that content scrim — see
712
+ * {@link scrolledBackgroundColor}.
642
713
  *
643
714
  * Has no effect while the header is `transparent` (there is no scrolling
644
715
  * content behavior installed in that mode).
@@ -648,6 +719,72 @@ export interface StackHeaderConfigPropsAndroid {
648
719
  * @platform android
649
720
  */
650
721
  liftOnScroll?: boolean | undefined;
722
+ /**
723
+ * @summary Background color of the header.
724
+ *
725
+ * @description
726
+ * Applies to all header types. For `medium` / `large` headers this is the
727
+ * color of the expanded state — the collapsed state color is controlled by
728
+ * {@link scrolledBackgroundColor}.
729
+ *
730
+ * @remarks
731
+ * If value is not provided, falls back to Material's default.
732
+ *
733
+ * @platform android
734
+ */
735
+ backgroundColor?: ColorValue | undefined;
736
+ /**
737
+ * @summary Background color of the header when content is scrolled beneath
738
+ * it.
739
+ *
740
+ * @description
741
+ * For the `small` header, this is the lift-on-scroll target color: when
742
+ * content is scrolled beneath the app bar, the background animates from
743
+ * {@link backgroundColor} to this color. Requires {@link liftOnScroll}.
744
+ *
745
+ * For `medium` / `large` headers, this is the color of the content scrim
746
+ * that fades in as the header collapses. The scrim is drawn above the
747
+ * header background (and the `backgroundSubview`, if any) but below the
748
+ * toolbar content.
749
+ *
750
+ * @remarks
751
+ * A translucent color is composited over the header background instead of
752
+ * replacing it.
753
+ *
754
+ * If value is not provided, falls back to Material's default.
755
+ *
756
+ * @platform android
757
+ */
758
+ scrolledBackgroundColor?: ColorValue | undefined;
759
+ /**
760
+ * @summary Color of the scrim drawn in the status-bar area, masking header
761
+ * content that scrolls under the status bar in edge-to-edge apps.
762
+ *
763
+ * @description
764
+ * For the `small` header, the scrim is a constant strip pinned to the top of
765
+ * the window, drawn above the toolbar content. When not provided, the strip
766
+ * follows the header's effective background color: {@link backgroundColor} at
767
+ * rest, animating together with the lift-on-scroll transition towards
768
+ * {@link scrolledBackgroundColor}. An explicit color is applied statically,
769
+ * without tracking.
770
+ *
771
+ * For `medium` / `large` headers, the scrim fades in and out together with
772
+ * the content scrim as the header collapses. When not provided, it matches
773
+ * the content scrim color ({@link scrolledBackgroundColor}).
774
+ *
775
+ * Set to `'transparent'` to disable the scrim entirely.
776
+ *
777
+ * @remarks
778
+ * The default scrim is installed only when the color it follows resolves to
779
+ * a fully opaque color; translucent headers stay see-through. An explicit
780
+ * translucent color is honored and composites over the header background in
781
+ * the status-bar area (for `medium` / `large` headers the content scrim is
782
+ * excluded from that area while a scrim is installed, so the two scrims
783
+ * never stack).
784
+ *
785
+ * @platform android
786
+ */
787
+ statusBarScrimColor?: ColorValue | undefined;
651
788
  /**
652
789
  * @summary Toolbar menu configuration.
653
790
  *
@@ -656,8 +793,19 @@ export interface StackHeaderConfigPropsAndroid {
656
793
  * want to change some property in runtime, use `updateToolbarMenuElements`
657
794
  * view command.
658
795
  *
659
- * Changing this prop in runtime will result in full toolbar menu rebuild.
660
- * Any prior changes applied via `updateToolbarMenuElements` will be lost.
796
+ * Changing this prop at runtime rebuilds the toolbar menu and resets all
797
+ * of its runtime state: checkbox/radio selections return to their
798
+ * `initialToggleState` and every change applied via
799
+ * `updateToolbarMenuElements` is discarded, including batches still
800
+ * waiting in the queue (e.g. for an icon download). Any real change
801
+ * counts, even one only swapping an item's icon; re-sending an identical
802
+ * menu is a no-op and preserves the state.
803
+ *
804
+ * An invalid menu is rejected — for example duplicate item or group ids, a
805
+ * `groupId` that is not declared at the same menu level, or more than one
806
+ * `initialToggleState` in a single-selection group. The menu is validated
807
+ * when the prop is set, and a rejected menu leaves the previous one in
808
+ * effect.
661
809
  *
662
810
  * @platform android
663
811
  */
@@ -674,5 +822,453 @@ export interface StackHeaderConfigPropsAndroid {
674
822
  * @supported API 28 or higher
675
823
  */
676
824
  toolbarMenuGroupDividerEnabled?: boolean | undefined;
825
+ /**
826
+ * @summary Horizontally centers the title within the app bar.
827
+ *
828
+ * @remarks
829
+ * Applies to the `small` header only; ignored for `medium` / `large` (use
830
+ * `expandedTitleHorizontalGravity` / `collapsedTitleHorizontalGravity`
831
+ * instead). The title is centered independently of the subtitle. Combining
832
+ * a centered title with left and/or center subviews is not recommended — they
833
+ * may overlap or be laid out incorrectly.
834
+ *
835
+ * @default false
836
+ * @platform android
837
+ */
838
+ titleCentered?: boolean | undefined;
839
+ /**
840
+ * @summary Horizontally centers the subtitle within the app bar.
841
+ *
842
+ * @remarks
843
+ * Applies to the `small` header only. The subtitle is centered independently
844
+ * of the title. See {@link titleCentered}.
845
+ *
846
+ * @default false
847
+ * @platform android
848
+ */
849
+ subtitleCentered?: boolean | undefined;
850
+ /**
851
+ * @summary Horizontal alignment of the title (and subtitle) in the expanded
852
+ * state.
853
+ *
854
+ * @remarks
855
+ * Applies to `medium` / `large` headers only; ignored for `small` (use
856
+ * `titleCentered` instead). The subtitle always follows the title's
857
+ * alignment.
858
+ *
859
+ * @default start
860
+ * @platform android
861
+ */
862
+ expandedTitleHorizontalGravity?: StackHeaderTitleHorizontalGravityAndroid | undefined;
863
+ /**
864
+ * @summary Vertical alignment of the title (and subtitle) in the expanded
865
+ * state.
866
+ *
867
+ * @remarks
868
+ * Applies to `medium` / `large` headers only; ignored for `small`.
869
+ *
870
+ * @default bottom
871
+ * @platform android
872
+ */
873
+ expandedTitleVerticalGravity?: StackHeaderTitleVerticalGravityAndroid | undefined;
874
+ /**
875
+ * @summary Horizontal alignment of the title (and subtitle) in the collapsed
876
+ * state.
877
+ *
878
+ * @remarks
879
+ * Applies to `medium` / `large` headers only; ignored for `small`. The
880
+ * subtitle always follows the title's alignment. `center` is further affected
881
+ * by `collapsedTitleGravityMode`.
882
+ *
883
+ * @default start
884
+ * @platform android
885
+ */
886
+ collapsedTitleHorizontalGravity?: StackHeaderTitleHorizontalGravityAndroid | undefined;
887
+ /**
888
+ * @summary Vertical alignment of the title (and subtitle) in the collapsed
889
+ * state.
890
+ *
891
+ * @remarks
892
+ * Applies to `medium` / `large` headers only; ignored for `small`.
893
+ *
894
+ * @default center
895
+ * @platform android
896
+ */
897
+ collapsedTitleVerticalGravity?: StackHeaderTitleVerticalGravityAndroid | undefined;
898
+ /**
899
+ * @summary Anchor used when resolving the collapsed title's horizontal
900
+ * gravity.
901
+ *
902
+ * @description
903
+ * The following values are available:
904
+ * - `availableSpace` - gravity is computed over the space left after the
905
+ * navigation icon, menu and subviews are laid out,
906
+ * - `entireSpace` - gravity is computed over the whole app bar, so a centered
907
+ * title is centered relative to the app bar and pushed aside only if it
908
+ * would overlap another view.
909
+ *
910
+ * @remarks
911
+ * Applies to `medium` / `large` headers only and affects only the collapsed
912
+ * state; it is only visually meaningful with
913
+ * `collapsedTitleHorizontalGravity: 'center'`.
914
+ *
915
+ * Because the underlying Material field is set at construction time, changing
916
+ * this prop rebuilds the header.
917
+ *
918
+ * If the header is laid out during a screen transition, due to a native bug,
919
+ * the title and the subtitle might be laid out incorrectly when `entireSpace`
920
+ * gravity mode is used.
921
+ *
922
+ * @default availableSpace
923
+ * @platform android
924
+ */
925
+ collapsedTitleGravityMode?: StackHeaderCollapsedTitleGravityModeAndroid | undefined;
926
+ /**
927
+ * @summary Maximum number of lines for the expanded title and subtitle.
928
+ *
929
+ * @description
930
+ * A single shared value: the same limit applies to both the expanded title
931
+ * and the expanded subtitle. Text exceeding the limit is ellipsized.
932
+ *
933
+ * @remarks
934
+ * Applies to `medium` / `large` headers only; ignored for `small`. The
935
+ * collapsed title is always a single line regardless of this value.
936
+ *
937
+ * A value less than `1` is invalid and falls back to `1`.
938
+ *
939
+ * Changing this value at runtime rebuilds the header. This is required due to
940
+ * a native platform limitation.
941
+ *
942
+ * @default 1
943
+ * @platform android
944
+ */
945
+ maxLines?: number | undefined;
946
+ /**
947
+ * @summary Start inset of the toolbar.
948
+ *
949
+ * @description
950
+ * The inset is a minimum: the navigation icon is positioned before it is
951
+ * applied and is not bounded by it, so the content area starts at whichever
952
+ * reaches further from the edge — the navigation icon's trailing edge or this
953
+ * inset. A back button usually wins, which makes this prop inert while one is
954
+ * visible.
955
+ *
956
+ * @remarks
957
+ * Applies to all header types. On `medium` / `large` it affects the collapsed
958
+ * title only.
959
+ *
960
+ * By default, native platform applies non-zero inset which makes centered
961
+ * collapsed title look off-center when `collapsedTitleGravityMode:
962
+ * 'availableSpace'` is used.
963
+ *
964
+ * If value is not provided, falls back to Material's default.
965
+ *
966
+ * @platform android
967
+ */
968
+ contentInsetStart?: number | undefined;
969
+ /**
970
+ * @summary End inset of the toolbar content area.
971
+ *
972
+ * @remarks
973
+ * The end-side counterpart of `contentInsetStart`. Applies to all header
974
+ * types. Like its start-side counterpart it is a minimum, so it is inert
975
+ * while the toolbar menu shows items that already reach further in.
976
+ *
977
+ * If value is not provided, falls back to Material's default.
978
+ *
979
+ * @platform android
980
+ */
981
+ contentInsetEnd?: number | undefined;
982
+ /**
983
+ * @summary Color of the title text. Applies to `small` header only.
984
+ *
985
+ * @remarks
986
+ * If value is not provided, falls back to Material's default.
987
+ *
988
+ * @platform android
989
+ */
990
+ titleColor?: ColorValue | undefined;
991
+ /**
992
+ * @summary Font family of the title text. Applies to `small` header only.
993
+ *
994
+ * @remarks
995
+ * If value is not provided, falls back to Material's default.
996
+ *
997
+ * @platform android
998
+ */
999
+ titleFontFamily?: TextStyle['fontFamily'] | undefined;
1000
+ /**
1001
+ * @summary Font size (SP) of the title text. Applies to `small` header only.
1002
+ *
1003
+ * @remarks
1004
+ * If value is not provided, falls back to Material's default.
1005
+ *
1006
+ * @platform android
1007
+ */
1008
+ titleFontSize?: TextStyle['fontSize'] | undefined;
1009
+ /**
1010
+ * @summary Font weight of the title text. Applies to `small` header only.
1011
+ *
1012
+ * @remarks
1013
+ * If value is not provided, falls back to Material's default.
1014
+ *
1015
+ * @platform android
1016
+ */
1017
+ titleFontWeight?: TextStyle['fontWeight'] | undefined;
1018
+ /**
1019
+ * @summary Font style of the title text. Applies to `small` header only.
1020
+ *
1021
+ * @remarks
1022
+ * If value is not provided, falls back to Material's default.
1023
+ *
1024
+ * @platform android
1025
+ */
1026
+ titleFontStyle?: TextStyle['fontStyle'] | undefined;
1027
+ /**
1028
+ * @summary Color of the subtitle text. Applies to `small` header only.
1029
+ *
1030
+ * @remarks
1031
+ * If value is not provided, falls back to Material's default.
1032
+ *
1033
+ * @platform android
1034
+ */
1035
+ subtitleColor?: ColorValue | undefined;
1036
+ /**
1037
+ * @summary Font family of the subtitle text. Applies to `small` header only.
1038
+ *
1039
+ * @remarks
1040
+ * If value is not provided, falls back to Material's default.
1041
+ *
1042
+ * @platform android
1043
+ */
1044
+ subtitleFontFamily?: TextStyle['fontFamily'] | undefined;
1045
+ /**
1046
+ * @summary Font size (SP) of the subtitle text. Applies to `small`
1047
+ * header only.
1048
+ *
1049
+ * @remarks
1050
+ * If value is not provided, falls back to Material's default.
1051
+ *
1052
+ * @platform android
1053
+ */
1054
+ subtitleFontSize?: TextStyle['fontSize'] | undefined;
1055
+ /**
1056
+ * @summary Font weight of the subtitle text. Applies to `small` header only.
1057
+ *
1058
+ * @remarks
1059
+ * If value is not provided, falls back to Material's default.
1060
+ *
1061
+ * @platform android
1062
+ */
1063
+ subtitleFontWeight?: TextStyle['fontWeight'] | undefined;
1064
+ /**
1065
+ * @summary Font style of the subtitle text. Applies to `small` header only.
1066
+ *
1067
+ * @remarks
1068
+ * If value is not provided, falls back to Material's default.
1069
+ *
1070
+ * @platform android
1071
+ */
1072
+ subtitleFontStyle?: TextStyle['fontStyle'] | undefined;
1073
+ /**
1074
+ * @summary Color of the expanded title text. Applies to `medium` and
1075
+ * `large` headers only.
1076
+ *
1077
+ * @remarks
1078
+ * If value is not provided, falls back to Material's default.
1079
+ *
1080
+ * @platform android
1081
+ */
1082
+ expandedTitleColor?: ColorValue | undefined;
1083
+ /**
1084
+ * @summary Font family of the expanded title text. Applies to `medium`
1085
+ * and `large` headers only.
1086
+ *
1087
+ * @remarks
1088
+ * If value is not provided, falls back to Material's default.
1089
+ *
1090
+ * @platform android
1091
+ */
1092
+ expandedTitleFontFamily?: TextStyle['fontFamily'] | undefined;
1093
+ /**
1094
+ * @summary Font size (SP) of the expanded title text. Applies to
1095
+ * `medium` and `large` headers only.
1096
+ *
1097
+ * @remarks
1098
+ * If value is not provided, falls back to Material's default.
1099
+ *
1100
+ * @platform android
1101
+ */
1102
+ expandedTitleFontSize?: TextStyle['fontSize'] | undefined;
1103
+ /**
1104
+ * @summary Font weight of the expanded title text. Applies to `medium`
1105
+ * and `large` headers only.
1106
+ *
1107
+ * @remarks
1108
+ * If value is not provided, falls back to Material's default.
1109
+ *
1110
+ * @platform android
1111
+ */
1112
+ expandedTitleFontWeight?: TextStyle['fontWeight'] | undefined;
1113
+ /**
1114
+ * @summary Font style of the expanded title text. Applies to `medium`
1115
+ * and `large` headers only.
1116
+ *
1117
+ * @remarks
1118
+ * If value is not provided, falls back to Material's default.
1119
+ *
1120
+ * @platform android
1121
+ */
1122
+ expandedTitleFontStyle?: TextStyle['fontStyle'] | undefined;
1123
+ /**
1124
+ * @summary Color of the collapsed title text. Applies to `medium` and
1125
+ * `large` headers only.
1126
+ *
1127
+ * @remarks
1128
+ * If value is not provided, falls back to Material's default.
1129
+ *
1130
+ * @platform android
1131
+ */
1132
+ collapsedTitleColor?: ColorValue | undefined;
1133
+ /**
1134
+ * @summary Font family of the collapsed title text. Applies to `medium`
1135
+ * and `large` headers only.
1136
+ *
1137
+ * @remarks
1138
+ * If value is not provided, falls back to Material's default.
1139
+ *
1140
+ * @platform android
1141
+ */
1142
+ collapsedTitleFontFamily?: TextStyle['fontFamily'] | undefined;
1143
+ /**
1144
+ * @summary Font size (SP) of the collapsed title text. Applies to
1145
+ * `medium` and `large` headers only.
1146
+ *
1147
+ * @remarks
1148
+ * If value is not provided, falls back to Material's default.
1149
+ *
1150
+ * @platform android
1151
+ */
1152
+ collapsedTitleFontSize?: TextStyle['fontSize'] | undefined;
1153
+ /**
1154
+ * @summary Font weight of the collapsed title text. Applies to `medium`
1155
+ * and `large` headers only.
1156
+ *
1157
+ * @remarks
1158
+ * If value is not provided, falls back to Material's default.
1159
+ *
1160
+ * @platform android
1161
+ */
1162
+ collapsedTitleFontWeight?: TextStyle['fontWeight'] | undefined;
1163
+ /**
1164
+ * @summary Font style of the collapsed title text. Applies to `medium`
1165
+ * and `large` headers only.
1166
+ *
1167
+ * @remarks
1168
+ * If value is not provided, falls back to Material's default.
1169
+ *
1170
+ * @platform android
1171
+ */
1172
+ collapsedTitleFontStyle?: TextStyle['fontStyle'] | undefined;
1173
+ /**
1174
+ * @summary Color of the expanded subtitle text. Applies to `medium`
1175
+ * and `large` headers only.
1176
+ *
1177
+ * @remarks
1178
+ * If value is not provided, falls back to Material's default.
1179
+ *
1180
+ * @platform android
1181
+ */
1182
+ expandedSubtitleColor?: ColorValue | undefined;
1183
+ /**
1184
+ * @summary Font family of the expanded subtitle text. Applies to
1185
+ * `medium` and `large` headers only.
1186
+ *
1187
+ * @remarks
1188
+ * If value is not provided, falls back to Material's default.
1189
+ *
1190
+ * @platform android
1191
+ */
1192
+ expandedSubtitleFontFamily?: TextStyle['fontFamily'] | undefined;
1193
+ /**
1194
+ * @summary Font size (SP) of the expanded subtitle text. Applies to
1195
+ * `medium` and `large` headers only.
1196
+ *
1197
+ * @remarks
1198
+ * If value is not provided, falls back to Material's default.
1199
+ *
1200
+ * @platform android
1201
+ */
1202
+ expandedSubtitleFontSize?: TextStyle['fontSize'] | undefined;
1203
+ /**
1204
+ * @summary Font weight of the expanded subtitle text. Applies to
1205
+ * `medium` and `large` headers only.
1206
+ *
1207
+ * @remarks
1208
+ * If value is not provided, falls back to Material's default.
1209
+ *
1210
+ * @platform android
1211
+ */
1212
+ expandedSubtitleFontWeight?: TextStyle['fontWeight'] | undefined;
1213
+ /**
1214
+ * @summary Font style of the expanded subtitle text. Applies to
1215
+ * `medium` and `large` headers only.
1216
+ *
1217
+ * @remarks
1218
+ * If value is not provided, falls back to Material's default.
1219
+ *
1220
+ * @platform android
1221
+ */
1222
+ expandedSubtitleFontStyle?: TextStyle['fontStyle'] | undefined;
1223
+ /**
1224
+ * @summary Color of the collapsed subtitle text. Applies to `medium`
1225
+ * and `large` headers only.
1226
+ *
1227
+ * @remarks
1228
+ * If value is not provided, falls back to Material's default.
1229
+ *
1230
+ * @platform android
1231
+ */
1232
+ collapsedSubtitleColor?: ColorValue | undefined;
1233
+ /**
1234
+ * @summary Font family of the collapsed subtitle text. Applies to
1235
+ * `medium` and `large` headers only.
1236
+ *
1237
+ * @remarks
1238
+ * If value is not provided, falls back to Material's default.
1239
+ *
1240
+ * @platform android
1241
+ */
1242
+ collapsedSubtitleFontFamily?: TextStyle['fontFamily'] | undefined;
1243
+ /**
1244
+ * @summary Font size (SP) of the collapsed subtitle text. Applies to
1245
+ * `medium` and `large` headers only.
1246
+ *
1247
+ * @remarks
1248
+ * If value is not provided, falls back to Material's default.
1249
+ *
1250
+ * @platform android
1251
+ */
1252
+ collapsedSubtitleFontSize?: TextStyle['fontSize'] | undefined;
1253
+ /**
1254
+ * @summary Font weight of the collapsed subtitle text. Applies to
1255
+ * `medium` and `large` headers only.
1256
+ *
1257
+ * @remarks
1258
+ * If value is not provided, falls back to Material's default.
1259
+ *
1260
+ * @platform android
1261
+ */
1262
+ collapsedSubtitleFontWeight?: TextStyle['fontWeight'] | undefined;
1263
+ /**
1264
+ * @summary Font style of the collapsed subtitle text. Applies to
1265
+ * `medium` and `large` headers only.
1266
+ *
1267
+ * @remarks
1268
+ * If value is not provided, falls back to Material's default.
1269
+ *
1270
+ * @platform android
1271
+ */
1272
+ collapsedSubtitleFontStyle?: TextStyle['fontStyle'] | undefined;
677
1273
  }
678
1274
  //# sourceMappingURL=StackHeaderConfig.android.types.d.ts.map