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,10 +1,24 @@
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
 
6
6
  export type StackHeaderTypeAndroid = 'small' | 'medium' | 'large';
7
7
 
8
+ export type StackHeaderTitleHorizontalGravityAndroid =
9
+ | 'start'
10
+ | 'center'
11
+ | 'end';
12
+
13
+ export type StackHeaderTitleVerticalGravityAndroid =
14
+ | 'top'
15
+ | 'center'
16
+ | 'bottom';
17
+
18
+ export type StackHeaderCollapsedTitleGravityModeAndroid =
19
+ | 'entireSpace'
20
+ | 'availableSpace';
21
+
8
22
  export type StackHeaderBackgroundSubviewCollapseModeAndroid =
9
23
  StackHeaderSubviewCollapseModeAndroid;
10
24
 
@@ -81,13 +95,6 @@ export interface StackHeaderToolbarMenuItemBaseAndroid {
81
95
  /**
82
96
  * @summary Title of the menu element.
83
97
  *
84
- * @remarks
85
- * If `title` is changed for the element of type `menu` by using the
86
- * `updateToolbarMenuElements` view command, the menu title (`menuTitle`)
87
- * will also be changed to the new title (unless the new title is set to
88
- * `undefined`). In order to keep the custom menu title, you should also
89
- * include `menuTitle` in the view command.
90
- *
91
98
  * @platform android
92
99
  */
93
100
  title?: string | undefined;
@@ -195,6 +202,9 @@ export interface StackHeaderToolbarMenuItemBaseAndroid {
195
202
  * The icon will be visible only if the menu element is shown in the
196
203
  * Toolbar.
197
204
  *
205
+ * An icon set via the `updateToolbarMenuElements` view command takes
206
+ * precedence over this one until the next `toolbarMenu` change.
207
+ *
198
208
  * @platform android
199
209
  */
200
210
  icon?: PlatformIconAndroid | undefined;
@@ -298,6 +308,10 @@ export interface StackHeaderToolbarMenuItemAndroid
298
308
  * The initial state does not trigger `onSelectionChange` on
299
309
  * the group at mount time.
300
310
  *
311
+ * A `toolbarMenu` prop change restores the selection to this value.
312
+ * Neither that restore nor a native header rebuild triggers
313
+ * `onSelectionChange`.
314
+ *
301
315
  * @default false
302
316
  * @platform android
303
317
  */
@@ -391,10 +405,8 @@ export interface StackHeaderToolbarMenuAndroid
391
405
  * `title`, which controls the label shown in the parent menu's item row.
392
406
  *
393
407
  * @remarks
394
- * If `title` is changed by using the `updateToolbarMenuElements` view
395
- * command, the menu title will also be changed to the new title (unless the
396
- * new title is set to `undefined`). In order to keep the custom menu title,
397
- * you should also include `menuTitle` in the view command.
408
+ * When left unset, the header falls back to `title`; when both are unset,
409
+ * the popup shows no header.
398
410
  *
399
411
  * @platform android
400
412
  */
@@ -423,7 +435,8 @@ export type StackHeaderToolbarMenuElementOptionsAndroid = Partial<
423
435
  *
424
436
  * @description
425
437
  * Only applies to `type: 'menu'` elements. Ignored if the target is a regular
426
- * menu item.
438
+ * menu item. Setting it to `undefined` drops the `menuTitle` prop as well,
439
+ * leaving the header to fall back to `title`.
427
440
  *
428
441
  * @platform android
429
442
  */
@@ -465,11 +478,18 @@ export interface StackHeaderConfigCommandsAndroid {
465
478
  * overtaken by an earlier one whose icon happened to load late.
466
479
  *
467
480
  * @remarks
468
- * Updates are applied to the live toolbar: they take effect only while the
469
- * header is shown, and are discarded whenever the menu is rebuilt from the
470
- * `toolbarMenu` prop — whether by a prop change or a structural change such
471
- * as hiding and re-showing the header. They persist across unrelated
472
- * re-renders. An update whose `id` is not in the current menu is ignored.
481
+ * Updates persist for the lifetime of the current `toolbarMenu`
482
+ * configuration: they survive every native header rebuild — an effective
483
+ * color scheme change, a header `type`, `maxLines` or
484
+ * `collapsedTitleGravityMode` change, hiding and re-showing the header,
485
+ * reattaching the screen (e.g. switching tabs) — and unrelated re-renders.
486
+ * Updates sent while the header is hidden are recorded — and emit their
487
+ * selection events — as usual, and take effect when the header is next
488
+ * shown. Only a `toolbarMenu` prop change resets them, dropping the
489
+ * batches still queued as well (see its docs). An update whose `id` is not
490
+ * in the current menu is ignored. An `icon` set via this command takes
491
+ * precedence over the icon declared in `toolbarMenu` until the next
492
+ * `toolbarMenu` change.
473
493
  *
474
494
  * @param updates A single update object or an array of updates.
475
495
  */
@@ -494,6 +514,9 @@ export interface StackHeaderConfigPropsAndroid {
494
514
  * M3 Expressive headers aren't currently supported (there is no stable
495
515
  * `MDC-Android` version yet).
496
516
  *
517
+ * Changing this prop at runtime rebuilds the header. Toolbar menu state
518
+ * survives the rebuild — see `updateToolbarMenuElements`.
519
+ *
497
520
  * @see {@link https://m3.material.io/components/app-bars/overview|Material Design 3: App bars}
498
521
  *
499
522
  * @default small
@@ -580,6 +603,63 @@ export interface StackHeaderConfigPropsAndroid {
580
603
  * @platform android
581
604
  */
582
605
  backButtonIcon?: PlatformIconAndroid | undefined;
606
+ /**
607
+ * @summary Custom icon for the overflow menu button (the three-dots button
608
+ * that opens the toolbar menu's overflow popup).
609
+ *
610
+ * @description
611
+ * When `undefined`, the Material 3 Expressive default overflow icon is used.
612
+ *
613
+ * Supported values:
614
+ * - `{ type: 'imageSource', imageSource }`
615
+ * Uses an image from the provided resource.
616
+ *
617
+ * Remarks: `imageSource` type doesn't support SVGs on Android.
618
+ * For loading SVGs use `drawableResource` type.
619
+ *
620
+ * - `{ type: 'drawableResource', name }`
621
+ * Uses a drawable resource with the given name.
622
+ *
623
+ * Remarks: Requires passing a drawable to resources via Android Studio.
624
+ *
625
+ * @platform android
626
+ */
627
+ overflowIcon?: PlatformIconAndroid | undefined;
628
+ /**
629
+ * @summary Tint color applied to the overflow menu icon in its normal state.
630
+ *
631
+ * @description
632
+ * When `undefined`, the default tint (the Material theme's menu icon color)
633
+ * is used. This applies to the default overflow icon and `drawableResource`
634
+ * icons that have an associated tint. For `imageSource` icons, no tint is
635
+ * applied by default.
636
+ *
637
+ * @platform android
638
+ */
639
+ overflowIconTintColorNormal?: ColorValue | undefined;
640
+ /**
641
+ * @summary Tint color applied to the overflow menu icon when it is pressed.
642
+ *
643
+ * @remarks
644
+ * Due to native platform limitations, if you set this prop, you must also
645
+ * provide `overflowIconTintColorNormal`. Otherwise, the icon will become
646
+ * transparent.
647
+ *
648
+ * @platform android
649
+ */
650
+ overflowIconTintColorPressed?: ColorValue | undefined;
651
+ /**
652
+ * @summary Tint color applied to the overflow menu icon when it is focused
653
+ * (e.g. by keyboard navigation).
654
+ *
655
+ * @remarks
656
+ * Due to native platform limitations, if you set this prop, you must also
657
+ * provide `overflowIconTintColorNormal`. Otherwise, the icon will become
658
+ * transparent.
659
+ *
660
+ * @platform android
661
+ */
662
+ overflowIconTintColorFocused?: ColorValue | undefined;
583
663
  /**
584
664
  * @summary Whether the header reacts to nested scroll. Required for any
585
665
  * other `scrollFlag*` prop to take effect.
@@ -590,9 +670,10 @@ export interface StackHeaderConfigPropsAndroid {
590
670
  * - `medium` / `large` -> `true`
591
671
  *
592
672
  * @remarks
593
- * Changing any `scrollFlag*` at runtime forces the header back to
594
- * its fully expanded state, which produces a visible snap. Treat these
595
- * props as a static configuration.
673
+ * Changing any `scrollFlag*` at runtime while the header is partially
674
+ * collapsed snaps it back to its fully expanded state. A fully collapsed
675
+ * header stays collapsed, unless the new flags do not allow collapsing at
676
+ * all - then it expands.
596
677
  *
597
678
  * @platform android
598
679
  */
@@ -674,7 +755,8 @@ export interface StackHeaderConfigPropsAndroid {
674
755
  * Material `CollapsingToolbarLayout` uses a fade title-collapse mode that
675
756
  * installs its own content scrim and disables the app bar's lift-on-scroll,
676
757
  * so this prop has no effect there. The collapsed appearance of those headers
677
- * is instead controlled by that content scrim, which is not exposed yet.
758
+ * is instead controlled by that content scrim — see
759
+ * {@link scrolledBackgroundColor}.
678
760
  *
679
761
  * Has no effect while the header is `transparent` (there is no scrolling
680
762
  * content behavior installed in that mode).
@@ -684,6 +766,72 @@ export interface StackHeaderConfigPropsAndroid {
684
766
  * @platform android
685
767
  */
686
768
  liftOnScroll?: boolean | undefined;
769
+ /**
770
+ * @summary Background color of the header.
771
+ *
772
+ * @description
773
+ * Applies to all header types. For `medium` / `large` headers this is the
774
+ * color of the expanded state — the collapsed state color is controlled by
775
+ * {@link scrolledBackgroundColor}.
776
+ *
777
+ * @remarks
778
+ * If value is not provided, falls back to Material's default.
779
+ *
780
+ * @platform android
781
+ */
782
+ backgroundColor?: ColorValue | undefined;
783
+ /**
784
+ * @summary Background color of the header when content is scrolled beneath
785
+ * it.
786
+ *
787
+ * @description
788
+ * For the `small` header, this is the lift-on-scroll target color: when
789
+ * content is scrolled beneath the app bar, the background animates from
790
+ * {@link backgroundColor} to this color. Requires {@link liftOnScroll}.
791
+ *
792
+ * For `medium` / `large` headers, this is the color of the content scrim
793
+ * that fades in as the header collapses. The scrim is drawn above the
794
+ * header background (and the `backgroundSubview`, if any) but below the
795
+ * toolbar content.
796
+ *
797
+ * @remarks
798
+ * A translucent color is composited over the header background instead of
799
+ * replacing it.
800
+ *
801
+ * If value is not provided, falls back to Material's default.
802
+ *
803
+ * @platform android
804
+ */
805
+ scrolledBackgroundColor?: ColorValue | undefined;
806
+ /**
807
+ * @summary Color of the scrim drawn in the status-bar area, masking header
808
+ * content that scrolls under the status bar in edge-to-edge apps.
809
+ *
810
+ * @description
811
+ * For the `small` header, the scrim is a constant strip pinned to the top of
812
+ * the window, drawn above the toolbar content. When not provided, the strip
813
+ * follows the header's effective background color: {@link backgroundColor} at
814
+ * rest, animating together with the lift-on-scroll transition towards
815
+ * {@link scrolledBackgroundColor}. An explicit color is applied statically,
816
+ * without tracking.
817
+ *
818
+ * For `medium` / `large` headers, the scrim fades in and out together with
819
+ * the content scrim as the header collapses. When not provided, it matches
820
+ * the content scrim color ({@link scrolledBackgroundColor}).
821
+ *
822
+ * Set to `'transparent'` to disable the scrim entirely.
823
+ *
824
+ * @remarks
825
+ * The default scrim is installed only when the color it follows resolves to
826
+ * a fully opaque color; translucent headers stay see-through. An explicit
827
+ * translucent color is honored and composites over the header background in
828
+ * the status-bar area (for `medium` / `large` headers the content scrim is
829
+ * excluded from that area while a scrim is installed, so the two scrims
830
+ * never stack).
831
+ *
832
+ * @platform android
833
+ */
834
+ statusBarScrimColor?: ColorValue | undefined;
687
835
  /**
688
836
  * @summary Toolbar menu configuration.
689
837
  *
@@ -692,8 +840,19 @@ export interface StackHeaderConfigPropsAndroid {
692
840
  * want to change some property in runtime, use `updateToolbarMenuElements`
693
841
  * view command.
694
842
  *
695
- * Changing this prop in runtime will result in full toolbar menu rebuild.
696
- * Any prior changes applied via `updateToolbarMenuElements` will be lost.
843
+ * Changing this prop at runtime rebuilds the toolbar menu and resets all
844
+ * of its runtime state: checkbox/radio selections return to their
845
+ * `initialToggleState` and every change applied via
846
+ * `updateToolbarMenuElements` is discarded, including batches still
847
+ * waiting in the queue (e.g. for an icon download). Any real change
848
+ * counts, even one only swapping an item's icon; re-sending an identical
849
+ * menu is a no-op and preserves the state.
850
+ *
851
+ * An invalid menu is rejected — for example duplicate item or group ids, a
852
+ * `groupId` that is not declared at the same menu level, or more than one
853
+ * `initialToggleState` in a single-selection group. The menu is validated
854
+ * when the prop is set, and a rejected menu leaves the previous one in
855
+ * effect.
697
856
  *
698
857
  * @platform android
699
858
  */
@@ -710,4 +869,462 @@ export interface StackHeaderConfigPropsAndroid {
710
869
  * @supported API 28 or higher
711
870
  */
712
871
  toolbarMenuGroupDividerEnabled?: boolean | undefined;
872
+ /**
873
+ * @summary Horizontally centers the title within the app bar.
874
+ *
875
+ * @remarks
876
+ * Applies to the `small` header only; ignored for `medium` / `large` (use
877
+ * `expandedTitleHorizontalGravity` / `collapsedTitleHorizontalGravity`
878
+ * instead). The title is centered independently of the subtitle. Combining
879
+ * a centered title with left and/or center subviews is not recommended — they
880
+ * may overlap or be laid out incorrectly.
881
+ *
882
+ * @default false
883
+ * @platform android
884
+ */
885
+ titleCentered?: boolean | undefined;
886
+ /**
887
+ * @summary Horizontally centers the subtitle within the app bar.
888
+ *
889
+ * @remarks
890
+ * Applies to the `small` header only. The subtitle is centered independently
891
+ * of the title. See {@link titleCentered}.
892
+ *
893
+ * @default false
894
+ * @platform android
895
+ */
896
+ subtitleCentered?: boolean | undefined;
897
+ /**
898
+ * @summary Horizontal alignment of the title (and subtitle) in the expanded
899
+ * state.
900
+ *
901
+ * @remarks
902
+ * Applies to `medium` / `large` headers only; ignored for `small` (use
903
+ * `titleCentered` instead). The subtitle always follows the title's
904
+ * alignment.
905
+ *
906
+ * @default start
907
+ * @platform android
908
+ */
909
+ expandedTitleHorizontalGravity?:
910
+ | StackHeaderTitleHorizontalGravityAndroid
911
+ | undefined;
912
+ /**
913
+ * @summary Vertical alignment of the title (and subtitle) in the expanded
914
+ * state.
915
+ *
916
+ * @remarks
917
+ * Applies to `medium` / `large` headers only; ignored for `small`.
918
+ *
919
+ * @default bottom
920
+ * @platform android
921
+ */
922
+ expandedTitleVerticalGravity?:
923
+ | StackHeaderTitleVerticalGravityAndroid
924
+ | undefined;
925
+ /**
926
+ * @summary Horizontal alignment of the title (and subtitle) in the collapsed
927
+ * state.
928
+ *
929
+ * @remarks
930
+ * Applies to `medium` / `large` headers only; ignored for `small`. The
931
+ * subtitle always follows the title's alignment. `center` is further affected
932
+ * by `collapsedTitleGravityMode`.
933
+ *
934
+ * @default start
935
+ * @platform android
936
+ */
937
+ collapsedTitleHorizontalGravity?:
938
+ | StackHeaderTitleHorizontalGravityAndroid
939
+ | undefined;
940
+ /**
941
+ * @summary Vertical alignment of the title (and subtitle) in the collapsed
942
+ * state.
943
+ *
944
+ * @remarks
945
+ * Applies to `medium` / `large` headers only; ignored for `small`.
946
+ *
947
+ * @default center
948
+ * @platform android
949
+ */
950
+ collapsedTitleVerticalGravity?:
951
+ | StackHeaderTitleVerticalGravityAndroid
952
+ | undefined;
953
+ /**
954
+ * @summary Anchor used when resolving the collapsed title's horizontal
955
+ * gravity.
956
+ *
957
+ * @description
958
+ * The following values are available:
959
+ * - `availableSpace` - gravity is computed over the space left after the
960
+ * navigation icon, menu and subviews are laid out,
961
+ * - `entireSpace` - gravity is computed over the whole app bar, so a centered
962
+ * title is centered relative to the app bar and pushed aside only if it
963
+ * would overlap another view.
964
+ *
965
+ * @remarks
966
+ * Applies to `medium` / `large` headers only and affects only the collapsed
967
+ * state; it is only visually meaningful with
968
+ * `collapsedTitleHorizontalGravity: 'center'`.
969
+ *
970
+ * Because the underlying Material field is set at construction time, changing
971
+ * this prop rebuilds the header.
972
+ *
973
+ * If the header is laid out during a screen transition, due to a native bug,
974
+ * the title and the subtitle might be laid out incorrectly when `entireSpace`
975
+ * gravity mode is used.
976
+ *
977
+ * @default availableSpace
978
+ * @platform android
979
+ */
980
+ collapsedTitleGravityMode?:
981
+ | StackHeaderCollapsedTitleGravityModeAndroid
982
+ | undefined;
983
+ /**
984
+ * @summary Maximum number of lines for the expanded title and subtitle.
985
+ *
986
+ * @description
987
+ * A single shared value: the same limit applies to both the expanded title
988
+ * and the expanded subtitle. Text exceeding the limit is ellipsized.
989
+ *
990
+ * @remarks
991
+ * Applies to `medium` / `large` headers only; ignored for `small`. The
992
+ * collapsed title is always a single line regardless of this value.
993
+ *
994
+ * A value less than `1` is invalid and falls back to `1`.
995
+ *
996
+ * Changing this value at runtime rebuilds the header. This is required due to
997
+ * a native platform limitation.
998
+ *
999
+ * @default 1
1000
+ * @platform android
1001
+ */
1002
+ maxLines?: number | undefined;
1003
+ /**
1004
+ * @summary Start inset of the toolbar.
1005
+ *
1006
+ * @description
1007
+ * The inset is a minimum: the navigation icon is positioned before it is
1008
+ * applied and is not bounded by it, so the content area starts at whichever
1009
+ * reaches further from the edge — the navigation icon's trailing edge or this
1010
+ * inset. A back button usually wins, which makes this prop inert while one is
1011
+ * visible.
1012
+ *
1013
+ * @remarks
1014
+ * Applies to all header types. On `medium` / `large` it affects the collapsed
1015
+ * title only.
1016
+ *
1017
+ * By default, native platform applies non-zero inset which makes centered
1018
+ * collapsed title look off-center when `collapsedTitleGravityMode:
1019
+ * 'availableSpace'` is used.
1020
+ *
1021
+ * If value is not provided, falls back to Material's default.
1022
+ *
1023
+ * @platform android
1024
+ */
1025
+ contentInsetStart?: number | undefined;
1026
+ /**
1027
+ * @summary End inset of the toolbar content area.
1028
+ *
1029
+ * @remarks
1030
+ * The end-side counterpart of `contentInsetStart`. Applies to all header
1031
+ * types. Like its start-side counterpart it is a minimum, so it is inert
1032
+ * while the toolbar menu shows items that already reach further in.
1033
+ *
1034
+ * If value is not provided, falls back to Material's default.
1035
+ *
1036
+ * @platform android
1037
+ */
1038
+ contentInsetEnd?: number | undefined;
1039
+ /**
1040
+ * @summary Color of the title text. Applies to `small` header only.
1041
+ *
1042
+ * @remarks
1043
+ * If value is not provided, falls back to Material's default.
1044
+ *
1045
+ * @platform android
1046
+ */
1047
+ titleColor?: ColorValue | undefined;
1048
+ /**
1049
+ * @summary Font family of the title text. Applies to `small` header only.
1050
+ *
1051
+ * @remarks
1052
+ * If value is not provided, falls back to Material's default.
1053
+ *
1054
+ * @platform android
1055
+ */
1056
+ titleFontFamily?: TextStyle['fontFamily'] | undefined;
1057
+ /**
1058
+ * @summary Font size (SP) of the title text. Applies to `small` header only.
1059
+ *
1060
+ * @remarks
1061
+ * If value is not provided, falls back to Material's default.
1062
+ *
1063
+ * @platform android
1064
+ */
1065
+ titleFontSize?: TextStyle['fontSize'] | undefined;
1066
+ /**
1067
+ * @summary Font weight of the title text. Applies to `small` header only.
1068
+ *
1069
+ * @remarks
1070
+ * If value is not provided, falls back to Material's default.
1071
+ *
1072
+ * @platform android
1073
+ */
1074
+ titleFontWeight?: TextStyle['fontWeight'] | undefined;
1075
+ /**
1076
+ * @summary Font style of the title text. Applies to `small` header only.
1077
+ *
1078
+ * @remarks
1079
+ * If value is not provided, falls back to Material's default.
1080
+ *
1081
+ * @platform android
1082
+ */
1083
+ titleFontStyle?: TextStyle['fontStyle'] | undefined;
1084
+ /**
1085
+ * @summary Color of the subtitle text. Applies to `small` header only.
1086
+ *
1087
+ * @remarks
1088
+ * If value is not provided, falls back to Material's default.
1089
+ *
1090
+ * @platform android
1091
+ */
1092
+ subtitleColor?: ColorValue | undefined;
1093
+ /**
1094
+ * @summary Font family of the subtitle text. Applies to `small` header only.
1095
+ *
1096
+ * @remarks
1097
+ * If value is not provided, falls back to Material's default.
1098
+ *
1099
+ * @platform android
1100
+ */
1101
+ subtitleFontFamily?: TextStyle['fontFamily'] | undefined;
1102
+ /**
1103
+ * @summary Font size (SP) of the subtitle text. Applies to `small`
1104
+ * header only.
1105
+ *
1106
+ * @remarks
1107
+ * If value is not provided, falls back to Material's default.
1108
+ *
1109
+ * @platform android
1110
+ */
1111
+ subtitleFontSize?: TextStyle['fontSize'] | undefined;
1112
+ /**
1113
+ * @summary Font weight of the subtitle text. Applies to `small` header only.
1114
+ *
1115
+ * @remarks
1116
+ * If value is not provided, falls back to Material's default.
1117
+ *
1118
+ * @platform android
1119
+ */
1120
+ subtitleFontWeight?: TextStyle['fontWeight'] | undefined;
1121
+ /**
1122
+ * @summary Font style of the subtitle text. Applies to `small` header only.
1123
+ *
1124
+ * @remarks
1125
+ * If value is not provided, falls back to Material's default.
1126
+ *
1127
+ * @platform android
1128
+ */
1129
+ subtitleFontStyle?: TextStyle['fontStyle'] | undefined;
1130
+ /**
1131
+ * @summary Color of the expanded title text. Applies to `medium` and
1132
+ * `large` headers only.
1133
+ *
1134
+ * @remarks
1135
+ * If value is not provided, falls back to Material's default.
1136
+ *
1137
+ * @platform android
1138
+ */
1139
+ expandedTitleColor?: ColorValue | undefined;
1140
+ /**
1141
+ * @summary Font family of the expanded title text. Applies to `medium`
1142
+ * and `large` headers only.
1143
+ *
1144
+ * @remarks
1145
+ * If value is not provided, falls back to Material's default.
1146
+ *
1147
+ * @platform android
1148
+ */
1149
+ expandedTitleFontFamily?: TextStyle['fontFamily'] | undefined;
1150
+ /**
1151
+ * @summary Font size (SP) of the expanded title text. Applies to
1152
+ * `medium` and `large` headers only.
1153
+ *
1154
+ * @remarks
1155
+ * If value is not provided, falls back to Material's default.
1156
+ *
1157
+ * @platform android
1158
+ */
1159
+ expandedTitleFontSize?: TextStyle['fontSize'] | undefined;
1160
+ /**
1161
+ * @summary Font weight of the expanded title text. Applies to `medium`
1162
+ * and `large` headers only.
1163
+ *
1164
+ * @remarks
1165
+ * If value is not provided, falls back to Material's default.
1166
+ *
1167
+ * @platform android
1168
+ */
1169
+ expandedTitleFontWeight?: TextStyle['fontWeight'] | undefined;
1170
+ /**
1171
+ * @summary Font style of the expanded title text. Applies to `medium`
1172
+ * and `large` headers only.
1173
+ *
1174
+ * @remarks
1175
+ * If value is not provided, falls back to Material's default.
1176
+ *
1177
+ * @platform android
1178
+ */
1179
+ expandedTitleFontStyle?: TextStyle['fontStyle'] | undefined;
1180
+ /**
1181
+ * @summary Color of the collapsed title text. Applies to `medium` and
1182
+ * `large` headers only.
1183
+ *
1184
+ * @remarks
1185
+ * If value is not provided, falls back to Material's default.
1186
+ *
1187
+ * @platform android
1188
+ */
1189
+ collapsedTitleColor?: ColorValue | undefined;
1190
+ /**
1191
+ * @summary Font family of the collapsed title text. Applies to `medium`
1192
+ * and `large` headers only.
1193
+ *
1194
+ * @remarks
1195
+ * If value is not provided, falls back to Material's default.
1196
+ *
1197
+ * @platform android
1198
+ */
1199
+ collapsedTitleFontFamily?: TextStyle['fontFamily'] | undefined;
1200
+ /**
1201
+ * @summary Font size (SP) of the collapsed title text. Applies to
1202
+ * `medium` and `large` headers only.
1203
+ *
1204
+ * @remarks
1205
+ * If value is not provided, falls back to Material's default.
1206
+ *
1207
+ * @platform android
1208
+ */
1209
+ collapsedTitleFontSize?: TextStyle['fontSize'] | undefined;
1210
+ /**
1211
+ * @summary Font weight of the collapsed title text. Applies to `medium`
1212
+ * and `large` headers only.
1213
+ *
1214
+ * @remarks
1215
+ * If value is not provided, falls back to Material's default.
1216
+ *
1217
+ * @platform android
1218
+ */
1219
+ collapsedTitleFontWeight?: TextStyle['fontWeight'] | undefined;
1220
+ /**
1221
+ * @summary Font style of the collapsed title text. Applies to `medium`
1222
+ * and `large` headers only.
1223
+ *
1224
+ * @remarks
1225
+ * If value is not provided, falls back to Material's default.
1226
+ *
1227
+ * @platform android
1228
+ */
1229
+ collapsedTitleFontStyle?: TextStyle['fontStyle'] | undefined;
1230
+ /**
1231
+ * @summary Color of the expanded subtitle text. Applies to `medium`
1232
+ * and `large` headers only.
1233
+ *
1234
+ * @remarks
1235
+ * If value is not provided, falls back to Material's default.
1236
+ *
1237
+ * @platform android
1238
+ */
1239
+ expandedSubtitleColor?: ColorValue | undefined;
1240
+ /**
1241
+ * @summary Font family of the expanded subtitle text. Applies to
1242
+ * `medium` and `large` headers only.
1243
+ *
1244
+ * @remarks
1245
+ * If value is not provided, falls back to Material's default.
1246
+ *
1247
+ * @platform android
1248
+ */
1249
+ expandedSubtitleFontFamily?: TextStyle['fontFamily'] | undefined;
1250
+ /**
1251
+ * @summary Font size (SP) of the expanded subtitle text. Applies to
1252
+ * `medium` and `large` headers only.
1253
+ *
1254
+ * @remarks
1255
+ * If value is not provided, falls back to Material's default.
1256
+ *
1257
+ * @platform android
1258
+ */
1259
+ expandedSubtitleFontSize?: TextStyle['fontSize'] | undefined;
1260
+ /**
1261
+ * @summary Font weight of the expanded subtitle text. Applies to
1262
+ * `medium` and `large` headers only.
1263
+ *
1264
+ * @remarks
1265
+ * If value is not provided, falls back to Material's default.
1266
+ *
1267
+ * @platform android
1268
+ */
1269
+ expandedSubtitleFontWeight?: TextStyle['fontWeight'] | undefined;
1270
+ /**
1271
+ * @summary Font style of the expanded subtitle text. Applies to
1272
+ * `medium` and `large` headers only.
1273
+ *
1274
+ * @remarks
1275
+ * If value is not provided, falls back to Material's default.
1276
+ *
1277
+ * @platform android
1278
+ */
1279
+ expandedSubtitleFontStyle?: TextStyle['fontStyle'] | undefined;
1280
+ /**
1281
+ * @summary Color of the collapsed subtitle text. Applies to `medium`
1282
+ * and `large` headers only.
1283
+ *
1284
+ * @remarks
1285
+ * If value is not provided, falls back to Material's default.
1286
+ *
1287
+ * @platform android
1288
+ */
1289
+ collapsedSubtitleColor?: ColorValue | undefined;
1290
+ /**
1291
+ * @summary Font family of the collapsed subtitle text. Applies to
1292
+ * `medium` and `large` headers only.
1293
+ *
1294
+ * @remarks
1295
+ * If value is not provided, falls back to Material's default.
1296
+ *
1297
+ * @platform android
1298
+ */
1299
+ collapsedSubtitleFontFamily?: TextStyle['fontFamily'] | undefined;
1300
+ /**
1301
+ * @summary Font size (SP) of the collapsed subtitle text. Applies to
1302
+ * `medium` and `large` headers only.
1303
+ *
1304
+ * @remarks
1305
+ * If value is not provided, falls back to Material's default.
1306
+ *
1307
+ * @platform android
1308
+ */
1309
+ collapsedSubtitleFontSize?: TextStyle['fontSize'] | undefined;
1310
+ /**
1311
+ * @summary Font weight of the collapsed subtitle text. Applies to
1312
+ * `medium` and `large` headers only.
1313
+ *
1314
+ * @remarks
1315
+ * If value is not provided, falls back to Material's default.
1316
+ *
1317
+ * @platform android
1318
+ */
1319
+ collapsedSubtitleFontWeight?: TextStyle['fontWeight'] | undefined;
1320
+ /**
1321
+ * @summary Font style of the collapsed subtitle text. Applies to
1322
+ * `medium` and `large` headers only.
1323
+ *
1324
+ * @remarks
1325
+ * If value is not provided, falls back to Material's default.
1326
+ *
1327
+ * @platform android
1328
+ */
1329
+ collapsedSubtitleFontStyle?: TextStyle['fontStyle'] | undefined;
713
1330
  }