react-native-screens 4.24.0 → 4.25.0-beta.1

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 (958) hide show
  1. package/README.md +7 -3
  2. package/RNScreens.podspec +13 -3
  3. package/android/CMakeLists.txt +7 -22
  4. package/android/build.gradle +9 -28
  5. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +0 -2
  6. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +0 -8
  7. package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +49 -13
  8. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +10 -7
  9. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +15 -89
  10. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +13 -14
  11. package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +0 -4
  12. package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +3 -1
  13. package/android/src/main/java/com/swmansion/rnscreens/ScreenModalFragment.kt +1 -2
  14. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +26 -3
  15. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +1 -3
  16. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +36 -16
  17. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +38 -86
  18. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +1 -1
  19. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +1 -6
  20. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +16 -6
  21. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +21 -61
  22. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +13 -26
  23. package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +7 -37
  24. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +1 -17
  25. package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +4 -0
  26. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/ShadowStateProxy.kt +58 -0
  27. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/colorscheme/ColorScheme.kt +7 -0
  28. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/colorscheme/ColorSchemeCoordinator.kt +120 -0
  29. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/colorscheme/ColorSchemeListener.kt +5 -0
  30. package/android/src/main/java/com/swmansion/rnscreens/gamma/common/colorscheme/ColorSchemeProviding.kt +9 -0
  31. package/android/src/main/java/com/swmansion/rnscreens/gamma/{tabs/image/TabsImageLoader.kt → helpers/ImageLoader.kt} +9 -8
  32. package/android/src/main/java/com/swmansion/rnscreens/gamma/helpers/SystemDrawable.kt +3 -2
  33. package/android/src/main/java/com/swmansion/rnscreens/gamma/helpers/UIManagerHelperExt.kt +11 -0
  34. package/android/src/main/java/com/swmansion/rnscreens/gamma/scrollviewmarker/ScrollViewMarker.kt +91 -0
  35. package/android/src/main/java/com/swmansion/rnscreens/gamma/scrollviewmarker/ScrollViewMarkerViewManager.kt +55 -0
  36. package/android/src/main/java/com/swmansion/rnscreens/gamma/scrollviewmarker/ScrollViewSeeking.kt +13 -0
  37. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/StackHeaderAppBarLayout.kt +117 -0
  38. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/StackHeaderCoordinator.kt +533 -0
  39. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/StackHeaderCoordinatorLayout.kt +100 -0
  40. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/StackHeaderScrollingViewBehavior.kt +19 -0
  41. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/config/OnHeaderConfigAttachListener.kt +5 -0
  42. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/config/OnHeaderConfigChangeListener.kt +5 -0
  43. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/config/StackHeaderConfig.kt +152 -0
  44. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/config/StackHeaderConfigProviding.kt +28 -0
  45. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/config/StackHeaderConfigViewManager.kt +157 -0
  46. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/config/StackHeaderType.kt +7 -0
  47. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/subview/OnStackHeaderSubviewChangeListener.kt +5 -0
  48. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/subview/StackHeaderSubview.kt +91 -0
  49. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/subview/StackHeaderSubviewCollapseMode.kt +20 -0
  50. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/subview/StackHeaderSubviewProviding.kt +14 -0
  51. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/subview/StackHeaderSubviewType.kt +8 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/header/subview/StackHeaderSubviewViewManager.kt +67 -0
  53. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/host/StackContainer.kt +17 -5
  54. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/host/StackHost.kt +27 -0
  55. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/screen/StackScreen.kt +39 -7
  56. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/screen/StackScreenFragment.kt +3 -1
  57. package/android/src/main/java/com/swmansion/rnscreens/gamma/stack/screen/StackScreenViewManager.kt +72 -0
  58. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{TabsHostAppearanceApplicator.kt → appearance/TabsAppearanceApplicator.kt} +99 -62
  59. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/appearance/TabsAppearanceCoordinator.kt +51 -0
  60. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/appearance/TabsAppearanceModel.kt +25 -0
  61. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/container/MenuHelpers.kt +31 -0
  62. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/container/TabsContainer.kt +569 -0
  63. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/container/TabsContainerDelegate.kt +48 -0
  64. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/container/TabsContainerOps.kt +7 -0
  65. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/container/TabsNavState.kt +43 -0
  66. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/host/TabsHost.kt +207 -0
  67. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{TabsHostA11yCoordinator.kt → host/TabsHostA11yCoordinator.kt} +3 -1
  68. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/host/TabsHostEventEmitter.kt +75 -0
  69. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/host/TabsHostViewManager.kt +128 -0
  70. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/host/event/TabsHostTabSelectedEvent.kt +48 -0
  71. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/host/event/TabsHostTabSelectionPreventedEvent.kt +47 -0
  72. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/host/event/TabsHostTabSelectionRejectedEvent.kt +55 -0
  73. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{TabsScreen.kt → screen/TabsScreen.kt} +25 -21
  74. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{TabsScreenDelegate.kt → screen/TabsScreenDelegate.kt} +2 -5
  75. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{TabsScreenEventEmitter.kt → screen/TabsScreenEventEmitter.kt} +6 -6
  76. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{TabsScreenFragment.kt → screen/TabsScreenFragment.kt} +4 -1
  77. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/screen/TabsScreenViewManager.kt +234 -0
  78. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{event → screen/event}/TabsScreenDidAppearEvent.kt +1 -1
  79. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{event → screen/event}/TabsScreenDidDisappearEvent.kt +1 -1
  80. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{event → screen/event}/TabsScreenWillAppearEvent.kt +1 -1
  81. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/{event → screen/event}/TabsScreenWillDisappearEvent.kt +1 -1
  82. package/android/src/main/java/com/swmansion/rnscreens/safearea/SafeAreaView.kt +1 -65
  83. package/android/src/main/java/com/swmansion/rnscreens/safearea/{paper/SafeAreaViewEdges.kt → SafeAreaViewEdges.kt} +1 -1
  84. package/android/src/main/java/com/swmansion/rnscreens/safearea/SafeAreaViewManager.kt +0 -9
  85. package/android/src/main/java/com/swmansion/rnscreens/utils/ColorUtils.kt +25 -0
  86. package/android/src/main/java/com/swmansion/rnscreens/utils/DimensionUtils.kt +18 -0
  87. package/android/src/main/java/com/swmansion/rnscreens/utils/DrawableUtils.kt +23 -0
  88. package/android/src/main/java/com/swmansion/rnscreens/utils/RNSLog.kt +75 -7
  89. package/android/src/main/java/com/swmansion/rnscreens/utils/ScreenDummyLayoutHelper.kt +118 -34
  90. package/android/src/main/jni/rnscreens.h +3 -0
  91. package/common/cpp/react/renderer/components/rnscreens/RNSSplitScreenComponentDescriptor.h +39 -0
  92. package/common/cpp/react/renderer/components/rnscreens/RNSSplitScreenShadowNode.cpp +13 -0
  93. package/common/cpp/react/renderer/components/rnscreens/{RNSSplitViewScreenShadowNode.h → RNSSplitScreenShadowNode.h} +7 -7
  94. package/common/cpp/react/renderer/components/rnscreens/{RNSSplitViewScreenState.h → RNSSplitScreenState.h} +6 -6
  95. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderConfigComponentDescriptor.h +43 -0
  96. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderConfigShadowNode.cpp +21 -0
  97. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderConfigShadowNode.h +33 -0
  98. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderConfigState.cpp +13 -0
  99. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderConfigState.h +44 -0
  100. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderSubviewComponentDescriptor.h +14 -0
  101. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderSubviewShadowNode.cpp +30 -0
  102. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderSubviewShadowNode.h +37 -0
  103. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderSubviewState.cpp +12 -0
  104. package/common/cpp/react/renderer/components/rnscreens/RNSStackHeaderSubviewState.h +39 -0
  105. package/common/cpp/react/renderer/components/rnscreens/RNSStackScreenComponentDescriptor.h +42 -0
  106. package/common/cpp/react/renderer/components/rnscreens/RNSStackScreenShadowNode.cpp +15 -0
  107. package/common/cpp/react/renderer/components/rnscreens/RNSStackScreenShadowNode.h +30 -0
  108. package/common/cpp/react/renderer/components/rnscreens/RNSStackScreenState.cpp +13 -0
  109. package/common/cpp/react/renderer/components/rnscreens/RNSStackScreenState.h +44 -0
  110. package/common/cpp/react/renderer/components/rnscreens/RNSTabsBottomAccessoryShadowNode.cpp +17 -0
  111. package/common/cpp/react/renderer/components/rnscreens/RNSTabsBottomAccessoryShadowNode.h +9 -0
  112. package/common/cpp/react/renderer/components/rnscreens/RNSTabsHostShadowNode.cpp +6 -2
  113. package/common/cpp/react/renderer/components/rnscreens/RNSTabsHostShadowNode.h +7 -2
  114. package/ios/RCTConvert+RNScreens.h +3 -13
  115. package/ios/RCTConvert+RNScreens.mm +2 -67
  116. package/ios/RCTImageComponentView+RNSScreenStackHeaderConfig.h +2 -2
  117. package/ios/RCTImageComponentView+RNSScreenStackHeaderConfig.mm +0 -4
  118. package/ios/RNSConvert.h +6 -6
  119. package/ios/RNSConvert.mm +0 -14
  120. package/ios/RNSEnums.h +3 -3
  121. package/ios/RNSFullWindowOverlay.h +6 -17
  122. package/ios/RNSFullWindowOverlay.mm +7 -60
  123. package/ios/RNSModalScreen.mm +8 -17
  124. package/ios/RNSModule.h +2 -6
  125. package/ios/RNSModule.mm +2 -19
  126. package/ios/RNSScreen.h +13 -49
  127. package/ios/RNSScreen.mm +97 -339
  128. package/ios/RNSScreenContainer.h +2 -11
  129. package/ios/RNSScreenContainer.mm +6 -33
  130. package/ios/RNSScreenContentWrapper.h +4 -11
  131. package/ios/RNSScreenContentWrapper.mm +9 -38
  132. package/ios/RNSScreenFooter.h +4 -11
  133. package/ios/RNSScreenFooter.mm +7 -32
  134. package/ios/RNSScreenNavigationContainer.mm +5 -14
  135. package/ios/RNSScreenStack.h +6 -19
  136. package/ios/RNSScreenStack.mm +52 -181
  137. package/ios/RNSScreenStackAnimator.mm +1 -2
  138. package/ios/RNSScreenStackHeaderConfig.h +3 -60
  139. package/ios/RNSScreenStackHeaderConfig.mm +11 -230
  140. package/ios/RNSScreenStackHeaderSubview.h +2 -12
  141. package/ios/RNSScreenStackHeaderSubview.mm +12 -62
  142. package/ios/RNSSearchBar.mm +10 -6
  143. package/ios/bridging/RNSReactBaseView.h +0 -13
  144. package/ios/conversion/RNSConversions-ScrollViewMarker.h +26 -0
  145. package/ios/conversion/RNSConversions-ScrollViewMarker.mm +44 -0
  146. package/ios/conversion/RNSConversions-SplitView.mm +20 -22
  147. package/ios/conversion/RNSConversions-Stack.h +2 -2
  148. package/ios/conversion/RNSConversions-Stack.mm +2 -2
  149. package/ios/conversion/RNSConversions-Tabs.mm +60 -54
  150. package/ios/conversion/RNSConversions.h +30 -28
  151. package/ios/gamma/scroll-view-marker/RNSScrollViewMarkerComponentView.h +11 -0
  152. package/ios/gamma/scroll-view-marker/RNSScrollViewMarkerComponentView.mm +272 -0
  153. package/ios/gamma/scroll-view-marker/RNSScrollViewSeeking.h +15 -0
  154. package/ios/gamma/split/RNSSplitAppearanceApplicator.swift +194 -0
  155. package/ios/gamma/split/RNSSplitAppearanceCoordinator.swift +26 -0
  156. package/ios/gamma/split/RNSSplitAppearanceUpdateFlags.swift +11 -0
  157. package/ios/gamma/{split-view/RNSSplitViewHostComponentEventEmitter.h → split/RNSSplitHostComponentEventEmitter.h} +5 -5
  158. package/ios/gamma/{split-view/RNSSplitViewHostComponentEventEmitter.mm → split/RNSSplitHostComponentEventEmitter.mm} +4 -4
  159. package/ios/gamma/{split-view/RNSSplitViewHostComponentView.h → split/RNSSplitHostComponentView.h} +10 -10
  160. package/ios/gamma/{split-view/RNSSplitViewHostComponentView.mm → split/RNSSplitHostComponentView.mm} +83 -75
  161. package/ios/gamma/{split-view/RNSSplitViewHostComponentViewManager.h → split/RNSSplitHostComponentViewManager.h} +1 -1
  162. package/ios/gamma/split/RNSSplitHostComponentViewManager.mm +7 -0
  163. package/ios/gamma/{split-view/RNSSplitViewHostController.swift → split/RNSSplitHostController.swift} +82 -82
  164. package/ios/gamma/{split-view/RNSSplitViewNavigationController.swift → split/RNSSplitNavigationController.swift} +10 -10
  165. package/ios/gamma/{split-view/RNSSplitViewScreenComponentEventEmitter.h → split/RNSSplitScreenComponentEventEmitter.h} +5 -5
  166. package/ios/gamma/{split-view/RNSSplitViewScreenComponentEventEmitter.mm → split/RNSSplitScreenComponentEventEmitter.mm} +4 -4
  167. package/ios/gamma/{split-view/RNSSplitViewScreenComponentView.h → split/RNSSplitScreenComponentView.h} +17 -17
  168. package/ios/gamma/{split-view/RNSSplitViewScreenComponentView.mm → split/RNSSplitScreenComponentView.mm} +34 -24
  169. package/ios/gamma/{split-view/RNSSplitViewScreenComponentViewManager.h → split/RNSSplitScreenComponentViewManager.h} +1 -1
  170. package/ios/gamma/split/RNSSplitScreenComponentViewManager.mm +7 -0
  171. package/ios/gamma/split/RNSSplitScreenController.swift +133 -0
  172. package/ios/gamma/{split-view/RNSSplitViewScreenShadowStateProxy.h → split/RNSSplitScreenShadowStateProxy.h} +14 -14
  173. package/ios/gamma/{split-view/RNSSplitViewScreenShadowStateProxy.mm → split/RNSSplitScreenShadowStateProxy.mm} +10 -10
  174. package/ios/gamma/stack/host/RNSStackHostComponentView.h +1 -7
  175. package/ios/gamma/stack/host/RNSStackHostComponentView.mm +77 -83
  176. package/ios/gamma/stack/host/RNSStackNavigationController.h +13 -0
  177. package/ios/gamma/stack/host/RNSStackNavigationController.mm +82 -0
  178. package/ios/gamma/stack/host/RNSStackOperation.h +25 -0
  179. package/ios/gamma/stack/host/RNSStackOperation.mm +21 -0
  180. package/ios/gamma/stack/host/RNSStackOperationCoordinator.h +15 -0
  181. package/ios/gamma/stack/host/RNSStackOperationCoordinator.mm +78 -0
  182. package/ios/gamma/stack/screen/RNSStackScreenComponentView.h +1 -0
  183. package/ios/gamma/stack/screen/RNSStackScreenComponentView.mm +14 -1
  184. package/ios/gamma/stack/screen/RNSStackScreenController.h +15 -0
  185. package/ios/gamma/stack/screen/RNSStackScreenController.mm +66 -0
  186. package/ios/helpers/scroll-view/RNSScrollEdgeEffectApplicator.h +2 -1
  187. package/ios/helpers/scroll-view/RNSScrollEdgeEffectApplicator.mm +2 -1
  188. package/ios/safe-area/RNSSafeAreaViewComponentView.h +0 -17
  189. package/ios/safe-area/RNSSafeAreaViewComponentView.mm +7 -60
  190. package/ios/stubs/RNSGammaStubs.h +5 -2
  191. package/ios/stubs/RNSGammaStubs.mm +5 -2
  192. package/ios/tabs/RNSTabBarAppearanceCoordinator.h +2 -1
  193. package/ios/tabs/RNSTabBarAppearanceCoordinator.mm +1 -0
  194. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.h +4 -9
  195. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.mm +13 -15
  196. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentViewManager.mm +1 -1
  197. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryContentComponentView.mm +10 -0
  198. package/ios/tabs/host/RNSTabBarController.h +96 -8
  199. package/ios/tabs/host/RNSTabBarController.mm +789 -52
  200. package/ios/tabs/host/RNSTabsHostComponentView.h +17 -12
  201. package/ios/tabs/host/RNSTabsHostComponentView.mm +140 -66
  202. package/ios/tabs/host/RNSTabsHostComponentViewManager.mm +0 -3
  203. package/ios/tabs/host/RNSTabsHostEventEmitter.h +49 -12
  204. package/ios/tabs/host/RNSTabsHostEventEmitter.mm +53 -17
  205. package/ios/tabs/host/RNSTabsNavigationState.h +69 -0
  206. package/ios/tabs/host/RNSTabsNavigationState.mm +45 -0
  207. package/ios/tabs/screen/RNSTabsScreenComponentView.h +8 -22
  208. package/ios/tabs/screen/RNSTabsScreenComponentView.mm +44 -105
  209. package/ios/tabs/screen/RNSTabsScreenComponentViewManager.mm +1 -1
  210. package/ios/tabs/screen/RNSTabsScreenEventEmitter.h +1 -1
  211. package/ios/tabs/screen/RNSTabsScreenEventEmitter.mm +2 -2
  212. package/ios/tabs/screen/RNSTabsScreenViewController.h +8 -5
  213. package/ios/tabs/screen/RNSTabsScreenViewController.mm +18 -12
  214. package/ios/utils/RNSLog.swift +6 -0
  215. package/ios/utils/UIView+RNSUtility.h +1 -12
  216. package/ios/utils/UIView+RNSUtility.mm +2 -19
  217. package/lib/commonjs/components/ScreenStack.js +4 -1
  218. package/lib/commonjs/components/ScreenStack.js.map +1 -1
  219. package/lib/commonjs/components/ScreenStackHeaderConfig.js +8 -1
  220. package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -1
  221. package/lib/commonjs/components/ScreenStackItem.js +19 -7
  222. package/lib/commonjs/components/ScreenStackItem.js.map +1 -1
  223. package/lib/commonjs/components/SearchBar.js.map +1 -1
  224. package/lib/commonjs/components/contexts/TopInsetApplicationContext.js +33 -0
  225. package/lib/commonjs/components/contexts/TopInsetApplicationContext.js.map +1 -0
  226. package/lib/commonjs/components/gamma/scroll-view-marker/ScrollViewMarker.js +23 -0
  227. package/lib/commonjs/components/gamma/scroll-view-marker/ScrollViewMarker.js.map +1 -0
  228. package/lib/commonjs/components/gamma/scroll-view-marker/ScrollViewMarker.types.js +6 -0
  229. package/lib/commonjs/components/gamma/scroll-view-marker/ScrollViewMarker.types.js.map +1 -0
  230. package/lib/commonjs/components/gamma/scroll-view-marker/index.js +13 -0
  231. package/lib/commonjs/components/gamma/scroll-view-marker/index.js.map +1 -0
  232. package/lib/commonjs/components/gamma/split/SplitHost.js +5 -5
  233. package/lib/commonjs/components/gamma/split/SplitHost.js.map +1 -1
  234. package/lib/commonjs/components/gamma/split/SplitScreen.js +3 -3
  235. package/lib/commonjs/components/gamma/split/SplitScreen.js.map +1 -1
  236. package/lib/commonjs/components/gamma/split/index.js +2 -28
  237. package/lib/commonjs/components/gamma/split/index.js.map +1 -1
  238. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.android.js +68 -0
  239. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.android.js.map +1 -0
  240. package/lib/commonjs/components/{tabs/TabsAccessoryContent.types.js → gamma/stack/header/StackHeaderConfig.android.types.js} +1 -1
  241. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.android.types.js.map +1 -0
  242. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.d.js +2 -0
  243. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.d.js.map +1 -0
  244. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.ios.js +27 -0
  245. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.ios.js.map +1 -0
  246. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.ios.types.js +2 -0
  247. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.ios.types.js.map +1 -0
  248. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.types.js +6 -0
  249. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.types.js.map +1 -0
  250. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.web.js +10 -0
  251. package/lib/commonjs/components/gamma/stack/header/StackHeaderConfig.web.js.map +1 -0
  252. package/lib/commonjs/components/gamma/stack/header/android/StackHeaderSubview.android.js +33 -0
  253. package/lib/commonjs/components/gamma/stack/header/android/StackHeaderSubview.android.js.map +1 -0
  254. package/lib/commonjs/components/gamma/stack/header/android/StackHeaderSubview.android.types.js +6 -0
  255. package/lib/commonjs/components/gamma/stack/header/android/StackHeaderSubview.android.types.js.map +1 -0
  256. package/lib/commonjs/components/gamma/stack/header/index.js +14 -0
  257. package/lib/commonjs/components/gamma/stack/header/index.js.map +1 -0
  258. package/lib/commonjs/components/gamma/stack/{StackHost.js → host/StackHost.js} +1 -1
  259. package/lib/commonjs/components/gamma/stack/host/StackHost.js.map +1 -0
  260. package/lib/commonjs/components/gamma/stack/host/StackHost.types.js.map +1 -0
  261. package/lib/commonjs/components/gamma/stack/host/StackHost.web.js.map +1 -0
  262. package/lib/commonjs/components/gamma/stack/host/index.js +14 -0
  263. package/lib/commonjs/components/gamma/stack/host/index.js.map +1 -0
  264. package/lib/commonjs/components/gamma/stack/index.js +8 -33
  265. package/lib/commonjs/components/gamma/stack/index.js.map +1 -1
  266. package/lib/commonjs/components/gamma/stack/{StackScreen.js → screen/StackScreen.js} +2 -2
  267. package/lib/commonjs/components/gamma/stack/screen/StackScreen.js.map +1 -0
  268. package/lib/commonjs/components/gamma/stack/screen/StackScreen.types.js.map +1 -0
  269. package/lib/commonjs/components/gamma/stack/screen/StackScreen.web.js.map +1 -0
  270. package/lib/commonjs/components/gamma/stack/screen/index.js +14 -0
  271. package/lib/commonjs/components/gamma/stack/screen/index.js.map +1 -0
  272. package/lib/commonjs/components/helpers/PlatformUtils.js +9 -0
  273. package/lib/commonjs/components/helpers/PlatformUtils.js.map +1 -0
  274. package/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js +4 -3
  275. package/lib/commonjs/components/helpers/prepareHeaderBarButtonItems.js.map +1 -1
  276. package/lib/commonjs/components/safe-area/SafeAreaView.js +1 -2
  277. package/lib/commonjs/components/safe-area/SafeAreaView.js.map +1 -1
  278. package/lib/commonjs/components/safe-area/index.js +13 -0
  279. package/lib/commonjs/components/safe-area/index.js.map +1 -0
  280. package/lib/commonjs/components/tabs/{TabsAccessory.js → bottom-accessory/TabsBottomAccessory.js} +4 -4
  281. package/lib/commonjs/components/tabs/bottom-accessory/TabsBottomAccessory.js.map +1 -0
  282. package/lib/commonjs/components/tabs/bottom-accessory/TabsBottomAccessory.types.js +6 -0
  283. package/lib/commonjs/components/tabs/bottom-accessory/TabsBottomAccessory.types.js.map +1 -0
  284. package/lib/commonjs/components/tabs/{TabsAccessoryContent.js → bottom-accessory/TabsBottomAccessoryContent.js} +4 -4
  285. package/lib/commonjs/components/tabs/bottom-accessory/TabsBottomAccessoryContent.js.map +1 -0
  286. package/lib/commonjs/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.js +6 -0
  287. package/lib/commonjs/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.js.map +1 -0
  288. package/lib/commonjs/components/tabs/bottom-accessory/index.js +21 -0
  289. package/lib/commonjs/components/tabs/bottom-accessory/index.js.map +1 -0
  290. package/lib/commonjs/components/tabs/host/TabsHost.android.js +67 -0
  291. package/lib/commonjs/components/tabs/host/TabsHost.android.js.map +1 -0
  292. package/lib/commonjs/components/tabs/host/TabsHost.android.types.js +2 -0
  293. package/lib/commonjs/components/tabs/host/TabsHost.android.types.js.map +1 -0
  294. package/lib/commonjs/components/tabs/host/TabsHost.d.js +2 -0
  295. package/lib/commonjs/components/tabs/host/TabsHost.d.js.map +1 -0
  296. package/lib/commonjs/components/tabs/{TabsHost.js → host/TabsHost.ios.js} +42 -31
  297. package/lib/commonjs/components/tabs/host/TabsHost.ios.js.map +1 -0
  298. package/lib/commonjs/components/tabs/host/TabsHost.ios.types.js +6 -0
  299. package/lib/commonjs/components/tabs/host/TabsHost.ios.types.js.map +1 -0
  300. package/lib/commonjs/components/tabs/host/TabsHost.types.js.map +1 -0
  301. package/lib/commonjs/components/tabs/host/TabsHost.web.js.map +1 -0
  302. package/lib/commonjs/components/tabs/host/index.js +14 -0
  303. package/lib/commonjs/components/tabs/host/index.js.map +1 -0
  304. package/lib/commonjs/components/tabs/host/useTabsHost.js +31 -0
  305. package/lib/commonjs/components/tabs/host/useTabsHost.js.map +1 -0
  306. package/lib/commonjs/components/tabs/index.js +6 -8
  307. package/lib/commonjs/components/tabs/index.js.map +1 -1
  308. package/lib/commonjs/components/tabs/screen/TabsScreen.android.js +143 -0
  309. package/lib/commonjs/components/tabs/screen/TabsScreen.android.js.map +1 -0
  310. package/lib/commonjs/components/tabs/screen/TabsScreen.android.types.js +6 -0
  311. package/lib/commonjs/components/tabs/screen/TabsScreen.android.types.js.map +1 -0
  312. package/lib/commonjs/components/tabs/screen/TabsScreen.d.js +2 -0
  313. package/lib/commonjs/components/tabs/screen/TabsScreen.d.js.map +1 -0
  314. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.js +165 -0
  315. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.js.map +1 -0
  316. package/lib/commonjs/components/tabs/{TabsAccessory.types.js → screen/TabsScreen.ios.types.js} +1 -1
  317. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.types.js.map +1 -0
  318. package/lib/commonjs/components/tabs/screen/TabsScreen.types.js.map +1 -0
  319. package/lib/commonjs/components/tabs/screen/TabsScreen.web.js.map +1 -0
  320. package/lib/commonjs/components/tabs/screen/index.js +14 -0
  321. package/lib/commonjs/components/tabs/screen/index.js.map +1 -0
  322. package/lib/commonjs/components/tabs/screen/useTabsScreen.js +54 -0
  323. package/lib/commonjs/components/tabs/screen/useTabsScreen.js.map +1 -0
  324. package/lib/commonjs/experimental/index.js +41 -19
  325. package/lib/commonjs/experimental/index.js.map +1 -1
  326. package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -1
  327. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  328. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  329. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  330. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  331. package/lib/commonjs/fabric/gamma/ScrollViewMarkerNativeComponent.js +10 -0
  332. package/lib/commonjs/fabric/gamma/ScrollViewMarkerNativeComponent.js.map +1 -0
  333. package/lib/commonjs/fabric/gamma/{SplitViewHostNativeComponent.js → split/SplitHostNativeComponent.js} +2 -2
  334. package/lib/commonjs/fabric/gamma/split/SplitHostNativeComponent.js.map +1 -0
  335. package/lib/commonjs/fabric/gamma/{SplitViewScreenNativeComponent.js → split/SplitScreenNativeComponent.js} +2 -2
  336. package/lib/commonjs/fabric/gamma/split/SplitScreenNativeComponent.js.map +1 -0
  337. package/lib/commonjs/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.js +13 -0
  338. package/lib/commonjs/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -0
  339. package/lib/commonjs/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.js +13 -0
  340. package/lib/commonjs/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -0
  341. package/lib/commonjs/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.js +13 -0
  342. package/lib/commonjs/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.js.map +1 -0
  343. package/lib/commonjs/fabric/gamma/stack/StackScreenNativeComponent.js +3 -1
  344. package/lib/commonjs/fabric/gamma/stack/StackScreenNativeComponent.js.map +1 -1
  345. package/lib/commonjs/fabric/safe-area/SafeAreaViewNativeComponent.js.map +1 -1
  346. package/lib/commonjs/fabric/tabs/TabsBottomAccessoryNativeComponent.js +2 -1
  347. package/lib/commonjs/fabric/tabs/TabsBottomAccessoryNativeComponent.js.map +1 -1
  348. package/lib/commonjs/fabric/tabs/TabsHostAndroidNativeComponent.js +18 -0
  349. package/lib/commonjs/fabric/tabs/TabsHostAndroidNativeComponent.js.map +1 -0
  350. package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js +17 -0
  351. package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -0
  352. package/lib/commonjs/fabric/tabs/TabsScreenAndroidNativeComponent.js +17 -0
  353. package/lib/commonjs/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -0
  354. package/lib/commonjs/fabric/tabs/{TabsScreenNativeComponent.js → TabsScreenIOSNativeComponent.js} +9 -3
  355. package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -0
  356. package/lib/commonjs/flags.js +70 -12
  357. package/lib/commonjs/flags.js.map +1 -1
  358. package/lib/commonjs/index.js +13 -21
  359. package/lib/commonjs/index.js.map +1 -1
  360. package/lib/commonjs/private/hooks/useRenderDebugInfo.js +2 -1
  361. package/lib/commonjs/private/hooks/useRenderDebugInfo.js.map +1 -1
  362. package/lib/commonjs/private/index.js +2 -8
  363. package/lib/commonjs/private/index.js.map +1 -1
  364. package/lib/commonjs/private/logging.js +27 -10
  365. package/lib/commonjs/private/logging.js.map +1 -1
  366. package/lib/module/components/ScreenStack.js +4 -1
  367. package/lib/module/components/ScreenStack.js.map +1 -1
  368. package/lib/module/components/ScreenStackHeaderConfig.js +8 -1
  369. package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -1
  370. package/lib/module/components/ScreenStackItem.js +18 -6
  371. package/lib/module/components/ScreenStackItem.js.map +1 -1
  372. package/lib/module/components/SearchBar.js.map +1 -1
  373. package/lib/module/components/contexts/TopInsetApplicationContext.js +24 -0
  374. package/lib/module/components/contexts/TopInsetApplicationContext.js.map +1 -0
  375. package/lib/module/components/gamma/scroll-view-marker/ScrollViewMarker.js +16 -0
  376. package/lib/module/components/gamma/scroll-view-marker/ScrollViewMarker.js.map +1 -0
  377. package/lib/module/components/gamma/scroll-view-marker/ScrollViewMarker.types.js +2 -0
  378. package/lib/module/components/gamma/scroll-view-marker/ScrollViewMarker.types.js.map +1 -0
  379. package/lib/module/components/gamma/scroll-view-marker/index.js +2 -0
  380. package/lib/module/components/gamma/scroll-view-marker/index.js.map +1 -0
  381. package/lib/module/components/gamma/split/SplitHost.js +5 -5
  382. package/lib/module/components/gamma/split/SplitHost.js.map +1 -1
  383. package/lib/module/components/gamma/split/SplitScreen.js +3 -3
  384. package/lib/module/components/gamma/split/SplitScreen.js.map +1 -1
  385. package/lib/module/components/gamma/split/index.js +1 -5
  386. package/lib/module/components/gamma/split/index.js.map +1 -1
  387. package/lib/module/components/gamma/stack/header/StackHeaderConfig.android.js +61 -0
  388. package/lib/module/components/gamma/stack/header/StackHeaderConfig.android.js.map +1 -0
  389. package/lib/module/components/gamma/stack/header/StackHeaderConfig.android.types.js +2 -0
  390. package/lib/module/components/gamma/stack/header/StackHeaderConfig.android.types.js.map +1 -0
  391. package/lib/module/components/gamma/stack/header/StackHeaderConfig.d.js +2 -0
  392. package/lib/module/components/gamma/stack/header/StackHeaderConfig.d.js.map +1 -0
  393. package/lib/module/components/gamma/stack/header/StackHeaderConfig.ios.js +21 -0
  394. package/lib/module/components/gamma/stack/header/StackHeaderConfig.ios.js.map +1 -0
  395. package/lib/module/components/gamma/stack/header/StackHeaderConfig.ios.types.js +2 -0
  396. package/lib/module/components/gamma/stack/header/StackHeaderConfig.ios.types.js.map +1 -0
  397. package/lib/module/components/gamma/stack/header/StackHeaderConfig.types.js +2 -0
  398. package/lib/module/components/gamma/stack/header/StackHeaderConfig.types.js.map +1 -0
  399. package/lib/module/components/gamma/stack/header/StackHeaderConfig.web.js +4 -0
  400. package/lib/module/components/gamma/stack/header/StackHeaderConfig.web.js.map +1 -0
  401. package/lib/module/components/gamma/stack/header/android/StackHeaderSubview.android.js +27 -0
  402. package/lib/module/components/gamma/stack/header/android/StackHeaderSubview.android.js.map +1 -0
  403. package/lib/module/components/gamma/stack/header/android/StackHeaderSubview.android.types.js +2 -0
  404. package/lib/module/components/gamma/stack/header/android/StackHeaderSubview.android.types.js.map +1 -0
  405. package/lib/module/components/gamma/stack/header/index.js +2 -0
  406. package/lib/module/components/gamma/stack/header/index.js.map +1 -0
  407. package/lib/module/components/gamma/stack/{StackHost.js → host/StackHost.js} +1 -1
  408. package/lib/module/components/gamma/stack/host/StackHost.js.map +1 -0
  409. package/lib/module/components/gamma/stack/host/StackHost.types.js.map +1 -0
  410. package/lib/module/components/gamma/stack/host/StackHost.web.js.map +1 -0
  411. package/lib/module/components/gamma/stack/host/index.js +2 -0
  412. package/lib/module/components/gamma/stack/host/index.js.map +1 -0
  413. package/lib/module/components/gamma/stack/index.js +6 -8
  414. package/lib/module/components/gamma/stack/index.js.map +1 -1
  415. package/lib/module/components/gamma/stack/{StackScreen.js → screen/StackScreen.js} +2 -2
  416. package/lib/module/components/gamma/stack/screen/StackScreen.js.map +1 -0
  417. package/lib/module/components/gamma/stack/screen/StackScreen.types.js.map +1 -0
  418. package/lib/module/components/gamma/stack/screen/StackScreen.web.js.map +1 -0
  419. package/lib/module/components/gamma/stack/screen/index.js +2 -0
  420. package/lib/module/components/gamma/stack/screen/index.js.map +1 -0
  421. package/lib/module/components/helpers/PlatformUtils.js +3 -0
  422. package/lib/module/components/helpers/PlatformUtils.js.map +1 -0
  423. package/lib/module/components/helpers/prepareHeaderBarButtonItems.js +4 -3
  424. package/lib/module/components/helpers/prepareHeaderBarButtonItems.js.map +1 -1
  425. package/lib/module/components/safe-area/SafeAreaView.js +1 -2
  426. package/lib/module/components/safe-area/SafeAreaView.js.map +1 -1
  427. package/lib/module/components/safe-area/index.js +2 -0
  428. package/lib/module/components/safe-area/index.js.map +1 -0
  429. package/lib/module/components/tabs/{TabsAccessory.js → bottom-accessory/TabsBottomAccessory.js} +3 -3
  430. package/lib/module/components/tabs/bottom-accessory/TabsBottomAccessory.js.map +1 -0
  431. package/lib/module/components/tabs/bottom-accessory/TabsBottomAccessory.types.js +2 -0
  432. package/lib/module/components/tabs/bottom-accessory/TabsBottomAccessory.types.js.map +1 -0
  433. package/lib/module/components/tabs/{TabsAccessoryContent.js → bottom-accessory/TabsBottomAccessoryContent.js} +3 -3
  434. package/lib/module/components/tabs/bottom-accessory/TabsBottomAccessoryContent.js.map +1 -0
  435. package/lib/module/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.js +2 -0
  436. package/lib/module/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.js.map +1 -0
  437. package/lib/module/components/tabs/bottom-accessory/index.js +3 -0
  438. package/lib/module/components/tabs/bottom-accessory/index.js.map +1 -0
  439. package/lib/module/components/tabs/host/TabsHost.android.js +62 -0
  440. package/lib/module/components/tabs/host/TabsHost.android.js.map +1 -0
  441. package/lib/module/components/tabs/host/TabsHost.android.types.js +2 -0
  442. package/lib/module/components/tabs/host/TabsHost.android.types.js.map +1 -0
  443. package/lib/module/components/tabs/host/TabsHost.d.js +2 -0
  444. package/lib/module/components/tabs/host/TabsHost.d.js.map +1 -0
  445. package/lib/module/components/tabs/host/TabsHost.ios.js +75 -0
  446. package/lib/module/components/tabs/host/TabsHost.ios.js.map +1 -0
  447. package/lib/module/components/tabs/host/TabsHost.ios.types.js +2 -0
  448. package/lib/module/components/tabs/host/TabsHost.ios.types.js.map +1 -0
  449. package/lib/module/components/tabs/host/TabsHost.types.js.map +1 -0
  450. package/lib/module/components/tabs/host/TabsHost.web.js.map +1 -0
  451. package/lib/module/components/tabs/host/index.js +2 -0
  452. package/lib/module/components/tabs/host/index.js.map +1 -0
  453. package/lib/module/components/tabs/host/useTabsHost.js +24 -0
  454. package/lib/module/components/tabs/host/useTabsHost.js.map +1 -0
  455. package/lib/module/components/tabs/index.js +3 -4
  456. package/lib/module/components/tabs/index.js.map +1 -1
  457. package/lib/module/components/tabs/screen/TabsScreen.android.js +138 -0
  458. package/lib/module/components/tabs/screen/TabsScreen.android.js.map +1 -0
  459. package/lib/module/components/tabs/screen/TabsScreen.android.types.js +2 -0
  460. package/lib/module/components/tabs/screen/TabsScreen.android.types.js.map +1 -0
  461. package/lib/module/components/tabs/screen/TabsScreen.d.js +2 -0
  462. package/lib/module/components/tabs/screen/TabsScreen.d.js.map +1 -0
  463. package/lib/module/components/tabs/screen/TabsScreen.ios.js +160 -0
  464. package/lib/module/components/tabs/screen/TabsScreen.ios.js.map +1 -0
  465. package/lib/module/components/tabs/screen/TabsScreen.ios.types.js +2 -0
  466. package/lib/module/components/tabs/screen/TabsScreen.ios.types.js.map +1 -0
  467. package/lib/module/components/tabs/screen/TabsScreen.types.js.map +1 -0
  468. package/lib/module/components/tabs/screen/TabsScreen.web.js.map +1 -0
  469. package/lib/module/components/tabs/screen/index.js +2 -0
  470. package/lib/module/components/tabs/screen/index.js.map +1 -0
  471. package/lib/module/components/tabs/screen/useTabsScreen.js +47 -0
  472. package/lib/module/components/tabs/screen/useTabsScreen.js.map +1 -0
  473. package/lib/module/experimental/index.js +5 -6
  474. package/lib/module/experimental/index.js.map +1 -1
  475. package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -1
  476. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  477. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  478. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  479. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  480. package/lib/module/fabric/gamma/ScrollViewMarkerNativeComponent.js +5 -0
  481. package/lib/module/fabric/gamma/ScrollViewMarkerNativeComponent.js.map +1 -0
  482. package/lib/module/fabric/gamma/{SplitViewHostNativeComponent.js → split/SplitHostNativeComponent.js} +2 -2
  483. package/lib/module/fabric/gamma/split/SplitHostNativeComponent.js.map +1 -0
  484. package/lib/module/fabric/gamma/{SplitViewScreenNativeComponent.js → split/SplitScreenNativeComponent.js} +2 -2
  485. package/lib/module/fabric/gamma/split/SplitScreenNativeComponent.js.map +1 -0
  486. package/lib/module/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.js +8 -0
  487. package/lib/module/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -0
  488. package/lib/module/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.js +8 -0
  489. package/lib/module/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -0
  490. package/lib/module/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.js +8 -0
  491. package/lib/module/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.js.map +1 -0
  492. package/lib/module/fabric/gamma/stack/StackScreenNativeComponent.js +3 -1
  493. package/lib/module/fabric/gamma/stack/StackScreenNativeComponent.js.map +1 -1
  494. package/lib/module/fabric/safe-area/SafeAreaViewNativeComponent.js.map +1 -1
  495. package/lib/module/fabric/tabs/TabsBottomAccessoryNativeComponent.js +2 -1
  496. package/lib/module/fabric/tabs/TabsBottomAccessoryNativeComponent.js.map +1 -1
  497. package/lib/module/fabric/tabs/TabsHostAndroidNativeComponent.js +17 -0
  498. package/lib/module/fabric/tabs/TabsHostAndroidNativeComponent.js.map +1 -0
  499. package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js +17 -0
  500. package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -0
  501. package/lib/module/fabric/tabs/TabsScreenAndroidNativeComponent.js +18 -0
  502. package/lib/module/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -0
  503. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js +20 -0
  504. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -0
  505. package/lib/module/flags.js +70 -12
  506. package/lib/module/flags.js.map +1 -1
  507. package/lib/module/index.js +5 -2
  508. package/lib/module/index.js.map +1 -1
  509. package/lib/module/private/hooks/useRenderDebugInfo.js +2 -1
  510. package/lib/module/private/hooks/useRenderDebugInfo.js.map +1 -1
  511. package/lib/module/private/index.js +1 -1
  512. package/lib/module/private/index.js.map +1 -1
  513. package/lib/module/private/logging.js +26 -8
  514. package/lib/module/private/logging.js.map +1 -1
  515. package/lib/typescript/components/DebugContainer.d.ts +1 -1
  516. package/lib/typescript/components/DebugContainer.d.ts.map +1 -1
  517. package/lib/typescript/components/FullWindowOverlay.d.ts +1 -1
  518. package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -1
  519. package/lib/typescript/components/ScreenFooter.d.ts +1 -1
  520. package/lib/typescript/components/ScreenFooter.d.ts.map +1 -1
  521. package/lib/typescript/components/ScreenStack.d.ts.map +1 -1
  522. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -1
  523. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts +1 -1
  524. package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts.map +1 -1
  525. package/lib/typescript/components/ScreenStackItem.d.ts +2 -2
  526. package/lib/typescript/components/ScreenStackItem.d.ts.map +1 -1
  527. package/lib/typescript/components/SearchBar.d.ts.map +1 -1
  528. package/lib/typescript/components/contexts/TopInsetApplicationContext.d.ts +8 -0
  529. package/lib/typescript/components/contexts/TopInsetApplicationContext.d.ts.map +1 -0
  530. package/lib/typescript/components/gamma/scroll-view-marker/ScrollViewMarker.d.ts +4 -0
  531. package/lib/typescript/components/gamma/scroll-view-marker/ScrollViewMarker.d.ts.map +1 -0
  532. package/lib/typescript/components/gamma/scroll-view-marker/ScrollViewMarker.types.d.ts +39 -0
  533. package/lib/typescript/components/gamma/scroll-view-marker/ScrollViewMarker.types.d.ts.map +1 -0
  534. package/lib/typescript/components/gamma/scroll-view-marker/index.d.ts +3 -0
  535. package/lib/typescript/components/gamma/scroll-view-marker/index.d.ts.map +1 -0
  536. package/lib/typescript/components/gamma/split/SplitHost.types.d.ts +30 -29
  537. package/lib/typescript/components/gamma/split/SplitHost.types.d.ts.map +1 -1
  538. package/lib/typescript/components/gamma/split/SplitScreen.types.d.ts +5 -5
  539. package/lib/typescript/components/gamma/split/SplitScreen.types.d.ts.map +1 -1
  540. package/lib/typescript/components/gamma/split/index.d.ts +4 -4
  541. package/lib/typescript/components/gamma/split/index.d.ts.map +1 -1
  542. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.android.d.ts +8 -0
  543. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.android.d.ts.map +1 -0
  544. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.android.types.d.ts +33 -0
  545. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -0
  546. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.ios.d.ts +8 -0
  547. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.ios.d.ts.map +1 -0
  548. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.ios.types.d.ts +3 -0
  549. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -0
  550. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.types.d.ts +13 -0
  551. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.types.d.ts.map +1 -0
  552. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.web.d.ts +4 -0
  553. package/lib/typescript/components/gamma/stack/header/StackHeaderConfig.web.d.ts.map +1 -0
  554. package/lib/typescript/components/gamma/stack/header/android/StackHeaderSubview.android.d.ts +8 -0
  555. package/lib/typescript/components/gamma/stack/header/android/StackHeaderSubview.android.d.ts.map +1 -0
  556. package/lib/typescript/components/gamma/stack/header/android/StackHeaderSubview.android.types.d.ts +9 -0
  557. package/lib/typescript/components/gamma/stack/header/android/StackHeaderSubview.android.types.d.ts.map +1 -0
  558. package/lib/typescript/components/gamma/stack/header/index.d.ts +5 -0
  559. package/lib/typescript/components/gamma/stack/header/index.d.ts.map +1 -0
  560. package/lib/typescript/components/gamma/stack/host/StackHost.d.ts.map +1 -0
  561. package/lib/typescript/components/gamma/stack/{StackHost.types.d.ts → host/StackHost.types.d.ts} +2 -2
  562. package/lib/typescript/components/gamma/stack/host/StackHost.types.d.ts.map +1 -0
  563. package/lib/typescript/components/gamma/stack/host/StackHost.web.d.ts.map +1 -0
  564. package/lib/typescript/components/gamma/stack/host/index.d.ts +3 -0
  565. package/lib/typescript/components/gamma/stack/host/index.d.ts.map +1 -0
  566. package/lib/typescript/components/gamma/stack/index.d.ts +9 -6
  567. package/lib/typescript/components/gamma/stack/index.d.ts.map +1 -1
  568. package/lib/typescript/components/gamma/stack/screen/StackScreen.d.ts.map +1 -0
  569. package/lib/typescript/components/gamma/stack/screen/StackScreen.types.d.ts +22 -0
  570. package/lib/typescript/components/gamma/stack/screen/StackScreen.types.d.ts.map +1 -0
  571. package/lib/typescript/components/gamma/stack/screen/StackScreen.web.d.ts.map +1 -0
  572. package/lib/typescript/components/gamma/stack/screen/index.d.ts +3 -0
  573. package/lib/typescript/components/gamma/stack/screen/index.d.ts.map +1 -0
  574. package/lib/typescript/components/helpers/PlatformUtils.d.ts +2 -0
  575. package/lib/typescript/components/helpers/PlatformUtils.d.ts.map +1 -0
  576. package/lib/typescript/components/helpers/prepareHeaderBarButtonItems.d.ts +81 -81
  577. package/lib/typescript/components/helpers/prepareHeaderBarButtonItems.d.ts.map +1 -1
  578. package/lib/typescript/components/safe-area/SafeAreaView.d.ts +1 -2
  579. package/lib/typescript/components/safe-area/SafeAreaView.d.ts.map +1 -1
  580. package/lib/typescript/components/safe-area/SafeAreaView.types.d.ts +2 -2
  581. package/lib/typescript/components/safe-area/SafeAreaView.types.d.ts.map +1 -1
  582. package/lib/typescript/components/safe-area/index.d.ts +3 -0
  583. package/lib/typescript/components/safe-area/index.d.ts.map +1 -0
  584. package/lib/typescript/components/shared/types.d.ts +4 -0
  585. package/lib/typescript/components/shared/types.d.ts.map +1 -1
  586. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessory.d.ts +7 -0
  587. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessory.d.ts.map +1 -0
  588. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessory.types.d.ts +9 -0
  589. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessory.types.d.ts.map +1 -0
  590. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessoryContent.d.ts +7 -0
  591. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessoryContent.d.ts.map +1 -0
  592. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.d.ts +6 -0
  593. package/lib/typescript/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.d.ts.map +1 -0
  594. package/lib/typescript/components/tabs/bottom-accessory/index.d.ts +5 -0
  595. package/lib/typescript/components/tabs/bottom-accessory/index.d.ts.map +1 -0
  596. package/lib/typescript/components/tabs/host/TabsHost.android.d.ts +8 -0
  597. package/lib/typescript/components/tabs/host/TabsHost.android.d.ts.map +1 -0
  598. package/lib/typescript/components/tabs/host/TabsHost.android.types.d.ts +19 -0
  599. package/lib/typescript/components/tabs/host/TabsHost.android.types.d.ts.map +1 -0
  600. package/lib/typescript/components/tabs/{TabsHost.d.ts → host/TabsHost.ios.d.ts} +1 -1
  601. package/lib/typescript/components/tabs/host/TabsHost.ios.d.ts.map +1 -0
  602. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts +127 -0
  603. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts.map +1 -0
  604. package/lib/typescript/components/tabs/host/TabsHost.types.d.ts +234 -0
  605. package/lib/typescript/components/tabs/host/TabsHost.types.d.ts.map +1 -0
  606. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts.map +1 -0
  607. package/lib/typescript/components/tabs/host/index.d.ts +5 -0
  608. package/lib/typescript/components/tabs/host/index.d.ts.map +1 -0
  609. package/lib/typescript/components/tabs/host/useTabsHost.d.ts +15 -0
  610. package/lib/typescript/components/tabs/host/useTabsHost.d.ts.map +1 -0
  611. package/lib/typescript/components/tabs/index.d.ts +6 -7
  612. package/lib/typescript/components/tabs/index.d.ts.map +1 -1
  613. package/lib/typescript/components/tabs/screen/TabsScreen.android.d.ts +8 -0
  614. package/lib/typescript/components/tabs/screen/TabsScreen.android.d.ts.map +1 -0
  615. package/lib/typescript/components/tabs/screen/TabsScreen.android.types.d.ts +182 -0
  616. package/lib/typescript/components/tabs/screen/TabsScreen.android.types.d.ts.map +1 -0
  617. package/lib/typescript/components/tabs/{TabsScreen.d.ts → screen/TabsScreen.ios.d.ts} +1 -1
  618. package/lib/typescript/components/tabs/screen/TabsScreen.ios.d.ts.map +1 -0
  619. package/lib/typescript/components/tabs/screen/TabsScreen.ios.types.d.ts +292 -0
  620. package/lib/typescript/components/tabs/screen/TabsScreen.ios.types.d.ts.map +1 -0
  621. package/lib/typescript/components/tabs/screen/TabsScreen.types.d.ts +174 -0
  622. package/lib/typescript/components/tabs/screen/TabsScreen.types.d.ts.map +1 -0
  623. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts.map +1 -0
  624. package/lib/typescript/components/tabs/screen/index.d.ts +5 -0
  625. package/lib/typescript/components/tabs/screen/index.d.ts.map +1 -0
  626. package/lib/typescript/components/tabs/screen/useTabsScreen.d.ts +25 -0
  627. package/lib/typescript/components/tabs/screen/useTabsScreen.d.ts.map +1 -0
  628. package/lib/typescript/experimental/index.d.ts +4 -4
  629. package/lib/typescript/experimental/index.d.ts.map +1 -1
  630. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +32 -27
  631. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -1
  632. package/lib/typescript/fabric/ScreenNativeComponent.d.ts +27 -27
  633. package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -1
  634. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +32 -30
  635. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
  636. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +1 -1
  637. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
  638. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +4 -2
  639. package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -1
  640. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +18 -18
  641. package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -1
  642. package/lib/typescript/fabric/gamma/ScrollViewMarkerNativeComponent.d.ts +11 -0
  643. package/lib/typescript/fabric/gamma/ScrollViewMarkerNativeComponent.d.ts.map +1 -0
  644. package/lib/typescript/fabric/gamma/{SplitViewHostNativeComponent.d.ts → split/SplitHostNativeComponent.d.ts} +6 -6
  645. package/lib/typescript/fabric/gamma/split/SplitHostNativeComponent.d.ts.map +1 -0
  646. package/lib/typescript/fabric/gamma/split/SplitScreenNativeComponent.d.ts +13 -0
  647. package/lib/typescript/fabric/gamma/split/SplitScreenNativeComponent.d.ts.map +1 -0
  648. package/lib/typescript/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.d.ts +15 -0
  649. package/lib/typescript/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.d.ts.map +1 -0
  650. package/lib/typescript/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.d.ts +10 -0
  651. package/lib/typescript/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -0
  652. package/lib/typescript/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.d.ts +10 -0
  653. package/lib/typescript/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.d.ts.map +1 -0
  654. package/lib/typescript/fabric/gamma/stack/StackScreenNativeComponent.d.ts +6 -6
  655. package/lib/typescript/fabric/gamma/stack/StackScreenNativeComponent.d.ts.map +1 -1
  656. package/lib/typescript/fabric/safe-area/SafeAreaViewNativeComponent.d.ts +1 -1
  657. package/lib/typescript/fabric/safe-area/SafeAreaViewNativeComponent.d.ts.map +1 -1
  658. package/lib/typescript/fabric/tabs/TabsBottomAccessoryNativeComponent.d.ts +1 -1
  659. package/lib/typescript/fabric/tabs/TabsBottomAccessoryNativeComponent.d.ts.map +1 -1
  660. package/lib/typescript/fabric/tabs/TabsHostAndroidNativeComponent.d.ts +39 -0
  661. package/lib/typescript/fabric/tabs/TabsHostAndroidNativeComponent.d.ts.map +1 -0
  662. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +50 -0
  663. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -0
  664. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts +51 -0
  665. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts.map +1 -0
  666. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts +68 -0
  667. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts.map +1 -0
  668. package/lib/typescript/flags.d.ts +30 -2
  669. package/lib/typescript/flags.d.ts.map +1 -1
  670. package/lib/typescript/index.d.ts +3 -2
  671. package/lib/typescript/index.d.ts.map +1 -1
  672. package/lib/typescript/private/hooks/useRenderDebugInfo.d.ts.map +1 -1
  673. package/lib/typescript/private/index.d.ts +1 -1
  674. package/lib/typescript/private/index.d.ts.map +1 -1
  675. package/lib/typescript/private/logging.d.ts +6 -2
  676. package/lib/typescript/private/logging.d.ts.map +1 -1
  677. package/lib/typescript/types.d.ts +209 -188
  678. package/lib/typescript/types.d.ts.map +1 -1
  679. package/package.json +21 -21
  680. package/react-native.config.js +4 -1
  681. package/src/components/DebugContainer.tsx +1 -1
  682. package/src/components/FullWindowOverlay.tsx +1 -1
  683. package/src/components/ScreenFooter.tsx +1 -1
  684. package/src/components/ScreenStack.tsx +5 -0
  685. package/src/components/ScreenStackHeaderConfig.tsx +8 -0
  686. package/src/components/ScreenStackHeaderConfig.web.tsx +1 -1
  687. package/src/components/ScreenStackItem.tsx +38 -26
  688. package/src/components/SearchBar.tsx +3 -1
  689. package/src/components/contexts/TopInsetApplicationContext.ts +27 -0
  690. package/src/components/gamma/scroll-view-marker/ScrollViewMarker.tsx +17 -0
  691. package/src/components/gamma/scroll-view-marker/ScrollViewMarker.types.ts +42 -0
  692. package/src/components/gamma/scroll-view-marker/index.ts +3 -0
  693. package/src/components/gamma/split/SplitHost.tsx +9 -9
  694. package/src/components/gamma/split/SplitHost.types.ts +36 -40
  695. package/src/components/gamma/split/SplitScreen.tsx +5 -5
  696. package/src/components/gamma/split/SplitScreen.types.ts +13 -5
  697. package/src/components/gamma/split/index.ts +19 -5
  698. package/src/components/gamma/stack/header/StackHeaderConfig.android.tsx +96 -0
  699. package/src/components/gamma/stack/header/StackHeaderConfig.android.types.ts +38 -0
  700. package/src/components/gamma/stack/header/StackHeaderConfig.d.ts +17 -0
  701. package/src/components/gamma/stack/header/StackHeaderConfig.ios.tsx +18 -0
  702. package/src/components/gamma/stack/header/StackHeaderConfig.ios.types.ts +2 -0
  703. package/src/components/gamma/stack/header/StackHeaderConfig.types.ts +14 -0
  704. package/src/components/gamma/stack/header/StackHeaderConfig.web.tsx +5 -0
  705. package/src/components/gamma/stack/header/android/StackHeaderSubview.android.tsx +33 -0
  706. package/src/components/gamma/stack/header/android/StackHeaderSubview.android.types.ts +16 -0
  707. package/src/components/gamma/stack/header/index.ts +6 -0
  708. package/src/components/gamma/stack/{StackHost.tsx → host/StackHost.tsx} +1 -1
  709. package/src/components/gamma/stack/host/StackHost.types.ts +13 -0
  710. package/src/components/gamma/stack/host/index.ts +3 -0
  711. package/src/components/gamma/stack/index.ts +28 -7
  712. package/src/components/gamma/stack/{StackScreen.tsx → screen/StackScreen.tsx} +2 -2
  713. package/src/components/gamma/stack/{StackScreen.types.ts → screen/StackScreen.types.ts} +9 -9
  714. package/src/components/gamma/stack/screen/index.ts +3 -0
  715. package/src/components/helpers/PlatformUtils.ts +4 -0
  716. package/src/components/helpers/prepareHeaderBarButtonItems.ts +4 -2
  717. package/src/components/safe-area/SafeAreaView.tsx +1 -3
  718. package/src/components/safe-area/SafeAreaView.types.ts +2 -2
  719. package/src/components/safe-area/index.ts +3 -0
  720. package/src/components/shared/types.ts +37 -0
  721. package/src/components/tabs/{TabsAccessory.tsx → bottom-accessory/TabsBottomAccessory.tsx} +3 -3
  722. package/src/components/tabs/bottom-accessory/TabsBottomAccessory.types.ts +15 -0
  723. package/src/components/tabs/bottom-accessory/TabsBottomAccessoryContent.tsx +19 -0
  724. package/src/components/tabs/bottom-accessory/TabsBottomAccessoryContent.types.ts +6 -0
  725. package/src/components/tabs/bottom-accessory/index.ts +5 -0
  726. package/src/components/tabs/host/TabsHost.android.tsx +65 -0
  727. package/src/components/tabs/host/TabsHost.android.types.ts +18 -0
  728. package/src/components/tabs/host/TabsHost.d.ts +15 -0
  729. package/src/components/tabs/host/TabsHost.ios.tsx +94 -0
  730. package/src/components/tabs/host/TabsHost.ios.types.ts +139 -0
  731. package/src/components/tabs/host/TabsHost.types.ts +264 -0
  732. package/src/components/tabs/host/index.ts +6 -0
  733. package/src/components/tabs/host/useTabsHost.ts +49 -0
  734. package/src/components/tabs/index.ts +43 -8
  735. package/src/components/tabs/screen/TabsScreen.android.tsx +198 -0
  736. package/src/components/tabs/screen/TabsScreen.android.types.ts +189 -0
  737. package/src/components/tabs/screen/TabsScreen.d.ts +15 -0
  738. package/src/components/tabs/screen/TabsScreen.ios.tsx +235 -0
  739. package/src/components/tabs/screen/TabsScreen.ios.types.ts +312 -0
  740. package/src/components/tabs/screen/TabsScreen.types.ts +202 -0
  741. package/src/components/tabs/screen/index.ts +6 -0
  742. package/src/components/tabs/screen/useTabsScreen.ts +97 -0
  743. package/src/experimental/index.ts +5 -8
  744. package/src/fabric/ModalScreenNativeComponent.ts +41 -27
  745. package/src/fabric/ScreenNativeComponent.ts +35 -27
  746. package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +36 -30
  747. package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +1 -1
  748. package/src/fabric/ScreenStackNativeComponent.ts +7 -2
  749. package/src/fabric/SearchBarNativeComponent.ts +24 -18
  750. package/src/fabric/gamma/ScrollViewMarkerNativeComponent.ts +15 -0
  751. package/src/fabric/gamma/{SplitViewHostNativeComponent.ts → split/SplitHostNativeComponent.ts} +8 -6
  752. package/src/fabric/gamma/split/SplitScreenNativeComponent.ts +24 -0
  753. package/src/fabric/gamma/stack/StackHeaderConfigAndroidNativeComponent.ts +33 -0
  754. package/src/fabric/gamma/stack/StackHeaderConfigIOSNativeComponent.ts +18 -0
  755. package/src/fabric/gamma/stack/StackHeaderSubviewAndroidNativeComponent.ts +27 -0
  756. package/src/fabric/gamma/stack/StackScreenNativeComponent.ts +11 -7
  757. package/src/fabric/safe-area/SafeAreaViewNativeComponent.ts +8 -6
  758. package/src/fabric/tabs/TabsBottomAccessoryNativeComponent.ts +4 -1
  759. package/src/fabric/tabs/TabsHostAndroidNativeComponent.ts +69 -0
  760. package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +91 -0
  761. package/src/fabric/tabs/TabsScreenAndroidNativeComponent.ts +112 -0
  762. package/src/fabric/tabs/TabsScreenIOSNativeComponent.ts +171 -0
  763. package/src/flags.ts +93 -14
  764. package/src/index.tsx +6 -2
  765. package/src/private/hooks/useRenderDebugInfo.tsx +2 -1
  766. package/src/private/index.ts +1 -4
  767. package/src/private/logging.ts +27 -12
  768. package/src/types.tsx +262 -231
  769. package/android/src/main/java/com/swmansion/rnscreens/CustomAppBarLayout.kt +0 -25
  770. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +0 -28
  771. package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +0 -24
  772. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHost.kt +0 -566
  773. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHostAppearanceCoordinator.kt +0 -46
  774. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHostEventEmitter.kt +0 -26
  775. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsHostViewManager.kt +0 -222
  776. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/TabsScreenViewManager.kt +0 -246
  777. package/android/src/main/java/com/swmansion/rnscreens/gamma/tabs/event/TabsHostNativeFocusChangeEvent.kt +0 -47
  778. package/android/src/main/java/com/swmansion/rnscreens/safearea/paper/SafeAreaViewLocalData.kt +0 -10
  779. package/android/src/main/java/com/swmansion/rnscreens/safearea/paper/SafeAreaViewShadowNode.kt +0 -124
  780. package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +0 -9
  781. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSafeAreaViewManagerDelegate.java +0 -37
  782. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSafeAreaViewManagerInterface.java +0 -20
  783. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +0 -27
  784. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +0 -17
  785. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +0 -27
  786. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +0 -17
  787. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +0 -27
  788. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +0 -17
  789. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +0 -156
  790. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +0 -60
  791. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +0 -128
  792. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +0 -50
  793. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java +0 -39
  794. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java +0 -20
  795. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java +0 -33
  796. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java +0 -17
  797. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +0 -107
  798. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +0 -40
  799. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSStackHostManagerDelegate.java +0 -27
  800. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSStackHostManagerInterface.java +0 -17
  801. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSStackScreenManagerDelegate.java +0 -39
  802. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSStackScreenManagerInterface.java +0 -20
  803. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSTabsHostManagerDelegate.java +0 -91
  804. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSTabsHostManagerInterface.java +0 -37
  805. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSTabsScreenManagerDelegate.java +0 -114
  806. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSTabsScreenManagerInterface.java +0 -46
  807. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +0 -56
  808. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderSubviewViewGroup.kt +0 -19
  809. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +0 -19
  810. package/android/src/paper/java/com/swmansion/rnscreens/NativeProxy.kt +0 -23
  811. package/android/src/paper/java/com/swmansion/rnscreens/NativeScreensModuleSpec.java +0 -35
  812. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenComponentDescriptor.h +0 -40
  813. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenShadowNode.cpp +0 -13
  814. package/ios/RNSInvalidatedComponentsRegistry.h +0 -15
  815. package/ios/RNSInvalidatedComponentsRegistry.mm +0 -34
  816. package/ios/RNSViewControllerInvalidating.h +0 -15
  817. package/ios/RNSViewControllerInvalidator.h +0 -17
  818. package/ios/RNSViewControllerInvalidator.mm +0 -23
  819. package/ios/gamma/split-view/RNSSplitViewAppearanceApplicator.swift +0 -194
  820. package/ios/gamma/split-view/RNSSplitViewAppearanceCoordinator.swift +0 -26
  821. package/ios/gamma/split-view/RNSSplitViewAppearanceUpdateFlags.swift +0 -11
  822. package/ios/gamma/split-view/RNSSplitViewHostComponentViewManager.mm +0 -7
  823. package/ios/gamma/split-view/RNSSplitViewScreenComponentViewManager.mm +0 -7
  824. package/ios/gamma/split-view/RNSSplitViewScreenController.swift +0 -133
  825. package/ios/gamma/stack/host/RNSStackController.swift +0 -65
  826. package/ios/gamma/stack/screen/RNSStackScreenController.swift +0 -64
  827. package/ios/safe-area/paper/RNSSafeAreaViewEdges.h +0 -16
  828. package/ios/safe-area/paper/RNSSafeAreaViewEdges.mm +0 -37
  829. package/ios/safe-area/paper/RNSSafeAreaViewLocalData.h +0 -22
  830. package/ios/safe-area/paper/RNSSafeAreaViewLocalData.mm +0 -20
  831. package/ios/safe-area/paper/RNSSafeAreaViewManager.h +0 -16
  832. package/ios/safe-area/paper/RNSSafeAreaViewManager.mm +0 -28
  833. package/ios/safe-area/paper/RNSSafeAreaViewShadowView.h +0 -16
  834. package/ios/safe-area/paper/RNSSafeAreaViewShadowView.mm +0 -152
  835. package/ios/tabs/host/RNSTabBarControllerDelegate.h +0 -11
  836. package/ios/tabs/host/RNSTabBarControllerDelegate.mm +0 -87
  837. package/lib/commonjs/components/gamma/stack/StackHost.js.map +0 -1
  838. package/lib/commonjs/components/gamma/stack/StackHost.types.js.map +0 -1
  839. package/lib/commonjs/components/gamma/stack/StackHost.web.js.map +0 -1
  840. package/lib/commonjs/components/gamma/stack/StackScreen.js.map +0 -1
  841. package/lib/commonjs/components/gamma/stack/StackScreen.types.js.map +0 -1
  842. package/lib/commonjs/components/gamma/stack/StackScreen.web.js.map +0 -1
  843. package/lib/commonjs/components/tabs/TabsAccessory.js.map +0 -1
  844. package/lib/commonjs/components/tabs/TabsAccessory.types.js.map +0 -1
  845. package/lib/commonjs/components/tabs/TabsAccessoryContent.js.map +0 -1
  846. package/lib/commonjs/components/tabs/TabsAccessoryContent.types.js.map +0 -1
  847. package/lib/commonjs/components/tabs/TabsHost.js.map +0 -1
  848. package/lib/commonjs/components/tabs/TabsHost.types.js.map +0 -1
  849. package/lib/commonjs/components/tabs/TabsHost.web.js.map +0 -1
  850. package/lib/commonjs/components/tabs/TabsScreen.js +0 -257
  851. package/lib/commonjs/components/tabs/TabsScreen.js.map +0 -1
  852. package/lib/commonjs/components/tabs/TabsScreen.types.js.map +0 -1
  853. package/lib/commonjs/components/tabs/TabsScreen.web.js.map +0 -1
  854. package/lib/commonjs/experimental/types.js +0 -61
  855. package/lib/commonjs/experimental/types.js.map +0 -1
  856. package/lib/commonjs/fabric/gamma/SplitViewHostNativeComponent.js.map +0 -1
  857. package/lib/commonjs/fabric/gamma/SplitViewScreenNativeComponent.js.map +0 -1
  858. package/lib/commonjs/fabric/tabs/TabsHostNativeComponent.js +0 -18
  859. package/lib/commonjs/fabric/tabs/TabsHostNativeComponent.js.map +0 -1
  860. package/lib/commonjs/fabric/tabs/TabsScreenNativeComponent.js.map +0 -1
  861. package/lib/module/components/gamma/stack/StackHost.js.map +0 -1
  862. package/lib/module/components/gamma/stack/StackHost.types.js.map +0 -1
  863. package/lib/module/components/gamma/stack/StackHost.web.js.map +0 -1
  864. package/lib/module/components/gamma/stack/StackScreen.js.map +0 -1
  865. package/lib/module/components/gamma/stack/StackScreen.types.js.map +0 -1
  866. package/lib/module/components/gamma/stack/StackScreen.web.js.map +0 -1
  867. package/lib/module/components/tabs/TabsAccessory.js.map +0 -1
  868. package/lib/module/components/tabs/TabsAccessory.types.js +0 -2
  869. package/lib/module/components/tabs/TabsAccessory.types.js.map +0 -1
  870. package/lib/module/components/tabs/TabsAccessoryContent.js.map +0 -1
  871. package/lib/module/components/tabs/TabsAccessoryContent.types.js +0 -2
  872. package/lib/module/components/tabs/TabsAccessoryContent.types.js.map +0 -1
  873. package/lib/module/components/tabs/TabsHost.js +0 -64
  874. package/lib/module/components/tabs/TabsHost.js.map +0 -1
  875. package/lib/module/components/tabs/TabsHost.types.js.map +0 -1
  876. package/lib/module/components/tabs/TabsHost.web.js.map +0 -1
  877. package/lib/module/components/tabs/TabsScreen.js +0 -251
  878. package/lib/module/components/tabs/TabsScreen.js.map +0 -1
  879. package/lib/module/components/tabs/TabsScreen.types.js.map +0 -1
  880. package/lib/module/components/tabs/TabsScreen.web.js.map +0 -1
  881. package/lib/module/experimental/types.js +0 -11
  882. package/lib/module/experimental/types.js.map +0 -1
  883. package/lib/module/fabric/gamma/SplitViewHostNativeComponent.js.map +0 -1
  884. package/lib/module/fabric/gamma/SplitViewScreenNativeComponent.js.map +0 -1
  885. package/lib/module/fabric/tabs/TabsHostNativeComponent.js +0 -15
  886. package/lib/module/fabric/tabs/TabsHostNativeComponent.js.map +0 -1
  887. package/lib/module/fabric/tabs/TabsScreenNativeComponent.js +0 -10
  888. package/lib/module/fabric/tabs/TabsScreenNativeComponent.js.map +0 -1
  889. package/lib/typescript/components/gamma/stack/StackHost.d.ts.map +0 -1
  890. package/lib/typescript/components/gamma/stack/StackHost.types.d.ts.map +0 -1
  891. package/lib/typescript/components/gamma/stack/StackHost.web.d.ts.map +0 -1
  892. package/lib/typescript/components/gamma/stack/StackScreen.d.ts.map +0 -1
  893. package/lib/typescript/components/gamma/stack/StackScreen.types.d.ts +0 -22
  894. package/lib/typescript/components/gamma/stack/StackScreen.types.d.ts.map +0 -1
  895. package/lib/typescript/components/gamma/stack/StackScreen.web.d.ts.map +0 -1
  896. package/lib/typescript/components/tabs/TabsAccessory.d.ts +0 -7
  897. package/lib/typescript/components/tabs/TabsAccessory.d.ts.map +0 -1
  898. package/lib/typescript/components/tabs/TabsAccessory.types.d.ts +0 -9
  899. package/lib/typescript/components/tabs/TabsAccessory.types.d.ts.map +0 -1
  900. package/lib/typescript/components/tabs/TabsAccessoryContent.d.ts +0 -7
  901. package/lib/typescript/components/tabs/TabsAccessoryContent.d.ts.map +0 -1
  902. package/lib/typescript/components/tabs/TabsAccessoryContent.types.d.ts +0 -6
  903. package/lib/typescript/components/tabs/TabsAccessoryContent.types.d.ts.map +0 -1
  904. package/lib/typescript/components/tabs/TabsHost.d.ts.map +0 -1
  905. package/lib/typescript/components/tabs/TabsHost.types.d.ts +0 -257
  906. package/lib/typescript/components/tabs/TabsHost.types.d.ts.map +0 -1
  907. package/lib/typescript/components/tabs/TabsHost.web.d.ts.map +0 -1
  908. package/lib/typescript/components/tabs/TabsScreen.d.ts.map +0 -1
  909. package/lib/typescript/components/tabs/TabsScreen.types.d.ts +0 -536
  910. package/lib/typescript/components/tabs/TabsScreen.types.d.ts.map +0 -1
  911. package/lib/typescript/components/tabs/TabsScreen.web.d.ts.map +0 -1
  912. package/lib/typescript/experimental/types.d.ts +0 -10
  913. package/lib/typescript/experimental/types.d.ts.map +0 -1
  914. package/lib/typescript/fabric/gamma/SplitViewHostNativeComponent.d.ts.map +0 -1
  915. package/lib/typescript/fabric/gamma/SplitViewScreenNativeComponent.d.ts +0 -13
  916. package/lib/typescript/fabric/gamma/SplitViewScreenNativeComponent.d.ts.map +0 -1
  917. package/lib/typescript/fabric/tabs/TabsHostNativeComponent.d.ts +0 -34
  918. package/lib/typescript/fabric/tabs/TabsHostNativeComponent.d.ts.map +0 -1
  919. package/lib/typescript/fabric/tabs/TabsScreenNativeComponent.d.ts +0 -82
  920. package/lib/typescript/fabric/tabs/TabsScreenNativeComponent.d.ts.map +0 -1
  921. package/src/components/gamma/stack/StackHost.types.ts +0 -10
  922. package/src/components/tabs/TabsAccessory.types.ts +0 -13
  923. package/src/components/tabs/TabsAccessoryContent.tsx +0 -17
  924. package/src/components/tabs/TabsAccessoryContent.types.ts +0 -6
  925. package/src/components/tabs/TabsHost.tsx +0 -105
  926. package/src/components/tabs/TabsHost.types.ts +0 -297
  927. package/src/components/tabs/TabsScreen.tsx +0 -382
  928. package/src/components/tabs/TabsScreen.types.ts +0 -630
  929. package/src/experimental/types.ts +0 -10
  930. package/src/fabric/gamma/SplitViewScreenNativeComponent.ts +0 -24
  931. package/src/fabric/tabs/TabsHostNativeComponent.ts +0 -75
  932. package/src/fabric/tabs/TabsScreenNativeComponent.ts +0 -175
  933. /package/lib/commonjs/components/gamma/stack/{StackHost.types.js → host/StackHost.types.js} +0 -0
  934. /package/lib/commonjs/components/gamma/stack/{StackHost.web.js → host/StackHost.web.js} +0 -0
  935. /package/lib/commonjs/components/gamma/stack/{StackScreen.types.js → screen/StackScreen.types.js} +0 -0
  936. /package/lib/commonjs/components/gamma/stack/{StackScreen.web.js → screen/StackScreen.web.js} +0 -0
  937. /package/lib/commonjs/components/tabs/{TabsHost.types.js → host/TabsHost.types.js} +0 -0
  938. /package/lib/commonjs/components/tabs/{TabsHost.web.js → host/TabsHost.web.js} +0 -0
  939. /package/lib/commonjs/components/tabs/{TabsScreen.types.js → screen/TabsScreen.types.js} +0 -0
  940. /package/lib/commonjs/components/tabs/{TabsScreen.web.js → screen/TabsScreen.web.js} +0 -0
  941. /package/lib/module/components/gamma/stack/{StackHost.types.js → host/StackHost.types.js} +0 -0
  942. /package/lib/module/components/gamma/stack/{StackHost.web.js → host/StackHost.web.js} +0 -0
  943. /package/lib/module/components/gamma/stack/{StackScreen.types.js → screen/StackScreen.types.js} +0 -0
  944. /package/lib/module/components/gamma/stack/{StackScreen.web.js → screen/StackScreen.web.js} +0 -0
  945. /package/lib/module/components/tabs/{TabsHost.types.js → host/TabsHost.types.js} +0 -0
  946. /package/lib/module/components/tabs/{TabsHost.web.js → host/TabsHost.web.js} +0 -0
  947. /package/lib/module/components/tabs/{TabsScreen.types.js → screen/TabsScreen.types.js} +0 -0
  948. /package/lib/module/components/tabs/{TabsScreen.web.js → screen/TabsScreen.web.js} +0 -0
  949. /package/lib/typescript/components/gamma/stack/{StackHost.d.ts → host/StackHost.d.ts} +0 -0
  950. /package/lib/typescript/components/gamma/stack/{StackHost.web.d.ts → host/StackHost.web.d.ts} +0 -0
  951. /package/lib/typescript/components/gamma/stack/{StackScreen.d.ts → screen/StackScreen.d.ts} +0 -0
  952. /package/lib/typescript/components/gamma/stack/{StackScreen.web.d.ts → screen/StackScreen.web.d.ts} +0 -0
  953. /package/lib/typescript/components/tabs/{TabsHost.web.d.ts → host/TabsHost.web.d.ts} +0 -0
  954. /package/lib/typescript/components/tabs/{TabsScreen.web.d.ts → screen/TabsScreen.web.d.ts} +0 -0
  955. /package/src/components/gamma/stack/{StackHost.web.tsx → host/StackHost.web.tsx} +0 -0
  956. /package/src/components/gamma/stack/{StackScreen.web.tsx → screen/StackScreen.web.tsx} +0 -0
  957. /package/src/components/tabs/{TabsHost.web.tsx → host/TabsHost.web.tsx} +0 -0
  958. /package/src/components/tabs/{TabsScreen.web.tsx → screen/TabsScreen.web.tsx} +0 -0
@@ -0,0 +1,312 @@
1
+ import type { ColorValue, TextStyle } from 'react-native';
2
+ import type { UserInterfaceStyle, BlurEffect } from '../../shared/types';
3
+ import type { PlatformIconIOS } from '../../../types';
4
+
5
+ export type TabsScreenBlurEffect = BlurEffect | 'systemDefault';
6
+
7
+ export type TabsScreenSystemItem =
8
+ | 'bookmarks'
9
+ | 'contacts'
10
+ | 'downloads'
11
+ | 'favorites'
12
+ | 'featured'
13
+ | 'history'
14
+ | 'more'
15
+ | 'mostRecent'
16
+ | 'mostViewed'
17
+ | 'recents'
18
+ | 'search'
19
+ | 'topRated';
20
+
21
+ export interface TabsScreenAppearanceIOS {
22
+ /**
23
+ * @summary Specifies the appearance of tab bar items when they are in stacked layout.
24
+ *
25
+ * Tab bar items in stacked layout have the icon above the title.
26
+ * Stacked layout is used e.g. on the iPhone in portrait orientation.
27
+ *
28
+ * @platform ios
29
+ */
30
+ stacked?: TabsScreenItemAppearanceIOS | undefined;
31
+ /**
32
+ * @summary Specifies the appearance of tab bar items when they are in inline layout.
33
+ *
34
+ * Tab bar items in inline layout have the icon next to the title.
35
+ * Inline layout is used in regular-width environments, e.g. in landscape orientation on the iPhone 16 Pro Max.
36
+ *
37
+ * Complete list of size classes for iOS and iPadOS devices is available in Apple's Human Interface Guidelines:
38
+ * @see {@link https://developer.apple.com/design/human-interface-guidelines/layout#iOS-iPadOS-device-size-classes|HIG: Device size classes}
39
+ *
40
+ * @platform ios
41
+ */
42
+ inline?: TabsScreenItemAppearanceIOS | undefined;
43
+ /**
44
+ * @summary Specifies the appearance of tab bar items when they are in compact inline layout.
45
+ *
46
+ * Tab bar items in compact inline layout have the icon next to the title.
47
+ * Compact inline layout is used in compact-width environments, e.g. in landscape orientation on the iPhone 16 Pro.
48
+ *
49
+ * Complete list of size classes for iOS and iPadOS devices is available in Apple's Human Interface Guidelines:
50
+ * @see {@link https://developer.apple.com/design/human-interface-guidelines/layout#iOS-iPadOS-device-size-classes|HIG: Device size classes}
51
+ *
52
+ * @platform ios
53
+ */
54
+ compactInline?: TabsScreenItemAppearanceIOS | undefined;
55
+
56
+ /**
57
+ * @summary Specifies the background color for the entire tab bar when tab screen is selected.
58
+ *
59
+ * This property does not affect the tab bar starting from iOS 26.
60
+ *
61
+ * @platform ios
62
+ * @supported iOS 18 or lower
63
+ */
64
+ tabBarBackgroundColor?: ColorValue | undefined;
65
+ /**
66
+ * @summary Specifies the blur effect applied to the tab bar when tab screen is selected.
67
+ *
68
+ * Works with backgroundColor's alpha < 1.
69
+ *
70
+ * This property does not affect the tab bar starting from iOS 26.
71
+ *
72
+ * The following values are currently supported:
73
+ *
74
+ * - `none` - disables blur effect
75
+ * - `systemDefault` - uses UIKit's default tab bar blur effect
76
+ * - one of styles mapped from UIKit's UIBlurEffectStyle, e.g. `systemUltraThinMaterial`
77
+ *
78
+ * Complete list of possible blur effect styles is available in the official UIKit documentation:
79
+ * @see {@link https://developer.apple.com/documentation/uikit/uiblureffect/style|UIBlurEffect.Style}
80
+ *
81
+ * @default systemDefault
82
+ *
83
+ * @platform ios
84
+ * @supported iOS 18 or lower
85
+ */
86
+ tabBarBlurEffect?: TabsScreenBlurEffect | undefined;
87
+ /**
88
+ * @summary Specifies the shadow color for the tab bar when tab screen is selected.
89
+ *
90
+ * This property does not affect the tab bar starting from iOS 26.
91
+ *
92
+ * @platform ios
93
+ * @supported iOS 18 or lower
94
+ */
95
+ tabBarShadowColor?: ColorValue | undefined;
96
+ }
97
+
98
+ export interface TabsScreenItemAppearanceIOS {
99
+ /**
100
+ * Defines appearance for all tab bar items which are in their enabled, unselected and unfocused state.
101
+ * The color scheme is determined by the configuration of the currently selected tab.
102
+ *
103
+ * @platform ios
104
+ */
105
+ normal?: TabsScreenItemStateAppearanceIOS | undefined;
106
+ /**
107
+ * Defines appearance for the tab bar item that is currently active.
108
+ * The appearance is determined by the configuration of the currently selected tab itself.
109
+ *
110
+ * @platform ios
111
+ */
112
+ selected?: TabsScreenItemStateAppearanceIOS | undefined;
113
+ /**
114
+ * Defines appearance for a tab bar item when it receives focus.
115
+ * The appearance is determined by the configuration of the currently selected tab.
116
+ *
117
+ * @platform ios
118
+ */
119
+ focused?: TabsScreenItemStateAppearanceIOS | undefined;
120
+ /**
121
+ * Defines appearance for tab bar items when they are disabled.
122
+ * The appearance is determined by the configuration of the currently selected tab.
123
+ *
124
+ * @platform ios
125
+ */
126
+ disabled?: TabsScreenItemStateAppearanceIOS | undefined;
127
+ }
128
+
129
+ export interface TabsScreenItemStateAppearanceIOS {
130
+ /**
131
+ * @summary Specifies the font family used for the title of each tab bar item
132
+ * when tab screen is selected.
133
+ *
134
+ * @platform ios
135
+ */
136
+ tabBarItemTitleFontFamily?: TextStyle['fontFamily'] | undefined;
137
+ /**
138
+ * @summary Specifies the font size used for the title of each tab bar item
139
+ * when tab screen is selected.
140
+ *
141
+ * @platform ios
142
+ */
143
+ tabBarItemTitleFontSize?: TextStyle['fontSize'] | undefined;
144
+ /**
145
+ * @summary Specifies the font weight used for the title of each tab bar item
146
+ * when tab screen is selected.
147
+ *
148
+ * @platform ios
149
+ */
150
+ tabBarItemTitleFontWeight?: TextStyle['fontWeight'] | undefined;
151
+ /**
152
+ * @summary Specifies the font style used for the title of each tab bar item
153
+ * when tab screen is selected.
154
+ *
155
+ * @platform ios
156
+ */
157
+ tabBarItemTitleFontStyle?: TextStyle['fontStyle'] | undefined;
158
+ /**
159
+ * @summary Specifies the font color used for the title of each tab bar item
160
+ * when tab screen is selected.
161
+ *
162
+ * Overrides the color defined in `tabBarTintColor` and `tabBarItemIconColor`.
163
+ *
164
+ * @platform ios
165
+ */
166
+ tabBarItemTitleFontColor?: TextStyle['color'] | undefined;
167
+ /**
168
+ * @summary Specifies the title offset for each tab bar item when tab screen
169
+ * is selected.
170
+ *
171
+ * Depending on the iOS version and the device's interface orientation,
172
+ * this setting may affect the alignment of the text, badge and icon.
173
+ *
174
+ * @platform ios
175
+ */
176
+ tabBarItemTitlePositionAdjustment?:
177
+ | {
178
+ horizontal?: number | undefined;
179
+ vertical?: number | undefined;
180
+ }
181
+ | undefined;
182
+ /**
183
+ * @summary Specifies the icon color for each tab bar item when tab screen
184
+ * is selected.
185
+ *
186
+ * This also impacts the title text color.
187
+ *
188
+ * Starting from iOS 26, it only applies to selected tab bar item. Other items
189
+ * adopt a dark or light appearance depending on the theme of the tab bar.
190
+ *
191
+ * Is overridden by `tabBarItemTitleFontColor` (for title text color).
192
+ * Overrides `tabBarTintColor`.
193
+ *
194
+ * @platform ios
195
+ */
196
+ tabBarItemIconColor?: ColorValue | undefined;
197
+ /**
198
+ * @summary Specifies the background color of badges for each tab bar item
199
+ * when tab screen is selected.
200
+ *
201
+ * @platform ios
202
+ */
203
+ tabBarItemBadgeBackgroundColor?: ColorValue | undefined;
204
+ }
205
+
206
+ export interface TabsScreenPropsIOS {
207
+ /**
208
+ * @summary Specifies the standard tab bar appearance.
209
+ *
210
+ * Allows to customize the appearance depending on the tab bar item layout (stacked,
211
+ * inline, compact inline) and state (normal, selected, focused, disabled).
212
+ *
213
+ * @platform ios
214
+ */
215
+ standardAppearance?: TabsScreenAppearanceIOS | undefined;
216
+ /**
217
+ * @summary Specifies the tab bar appearace when edge of scrollable content aligns
218
+ * with the edge of the tab bar.
219
+ *
220
+ * Allows to customize the appearance depending on the tab bar item layout (stacked,
221
+ * inline, compact inline) and state (normal, selected, focused, disabled).
222
+ *
223
+ * If this property is `undefined`, UIKit uses `standardAppearance`, modified to
224
+ * have a transparent background.
225
+ *
226
+ * @platform ios
227
+ */
228
+ scrollEdgeAppearance?: TabsScreenAppearanceIOS | undefined;
229
+ /**
230
+ * @summary Specifies the icon for the tab bar item.
231
+ *
232
+ * Supported values:
233
+ * - `{ type: 'imageSource', imageSource }`
234
+ * Uses an image from the provided resource.
235
+ * - `{ type: 'sfSymbol', name }`
236
+ * Uses an SF Symbol with the specified name.
237
+ * - `{ type: 'xcasset', name }`
238
+ * Uses asset from Xcassets.
239
+ * - `{ type: 'templateSource', templateSource }`
240
+ * Uses the provided image as a template image.
241
+ * The icon color will depend on the current state
242
+ * of the tab bar item and icon color-related props.
243
+ *
244
+ * If no `selectedIcon` is provided, this icon will also
245
+ * be used as the selected state icon.
246
+ *
247
+ * @platform ios
248
+ */
249
+ icon?: PlatformIconIOS | undefined;
250
+ /**
251
+ * @summary Specifies the icon for tab bar item when it is selected.
252
+ *
253
+ * Supports the same values as `icon` property.
254
+ *
255
+ * To use `selectedIcon`, `icon` must also be provided.
256
+ *
257
+ * @platform ios
258
+ */
259
+ selectedIcon?: PlatformIconIOS | undefined;
260
+ /**
261
+ * @summary System-provided tab bar item with predefined icon and title
262
+ *
263
+ * Uses Apple's built-in tab bar items (e.g., bookmarks, contacts, downloads) with
264
+ * standard iOS styling and localized titles. Custom `icon` or `selectedIcon`
265
+ * properties will override the system icon, but the system-defined title cannot
266
+ * be customized.
267
+ *
268
+ * @see {@link https://developer.apple.com/documentation/uikit/uitabbaritem/systemitem|UITabBarItem.SystemItem}
269
+ *
270
+ * @platform ios
271
+ */
272
+ systemItem?: TabsScreenSystemItem | undefined;
273
+ /**
274
+ * @summary Specifies if `contentInsetAdjustmentBehavior` of first ScrollView
275
+ * in first descendant chain from tab screen should be overridden back from `never`
276
+ * to `automatic`.
277
+ *
278
+ * By default, `react-native`'s ScrollView has `contentInsetAdjustmentBehavior`
279
+ * set to `never` instead of UIKit-default (which is `automatic`). This
280
+ * prevents ScrollViews from respecting navigation bar insets.
281
+ * When this prop is set to `true`, `automatic` behavior is reverted.
282
+ *
283
+ * Supported only on Fabric.
284
+ *
285
+ * @default true
286
+ *
287
+ * @platform ios
288
+ */
289
+ overrideScrollViewContentInsetAdjustmentBehavior?: boolean | undefined;
290
+ /**
291
+ * @summary Allows to override system appearance for the tab bar.
292
+ *
293
+ * Does not support dynamic changes to the prop value for the currently visible screen.
294
+ *
295
+ * Please note that this prop is marked as **experimental** and might be subject to breaking changes or even removal.
296
+ * Consider using `colorScheme` on `TabsHost` instead.
297
+ *
298
+ * The following values are currently supported:
299
+ * - `unspecified` - an unspecified interface style,
300
+ * - `light` - the light interface style,
301
+ * - `dark` - the dark interface style.
302
+ *
303
+ * The supported values correspond to the official UIKit documentation:
304
+ *
305
+ * @see {@link https://developer.apple.com/documentation/uikit/uiuserinterfacestyle|UIUserInterfaceStyle}
306
+ *
307
+ * @default unspecified
308
+ *
309
+ * @platform ios
310
+ */
311
+ experimental_userInterfaceStyle?: UserInterfaceStyle | undefined;
312
+ }
@@ -0,0 +1,202 @@
1
+ import type {
2
+ NativeSyntheticEvent,
3
+ StyleProp,
4
+ ViewProps,
5
+ ViewStyle,
6
+ } from 'react-native';
7
+
8
+ import type { TabsScreenPropsIOS } from './TabsScreen.ios.types';
9
+ import type { TabsScreenPropsAndroid } from './TabsScreen.android.types';
10
+ import type { InterfaceOrientation } from '../../shared/types';
11
+
12
+ // #region General helpers
13
+
14
+ export type EmptyObject = Record<string, never>;
15
+
16
+ export type TabsScreenEventHandler<T> = (
17
+ event: NativeSyntheticEvent<T>,
18
+ ) => void;
19
+
20
+ // Currently iOS-only, but we plan to support it on Android
21
+ export type TabsScreenOrientation = InterfaceOrientation | 'inherit';
22
+
23
+ // #endregion General helpers
24
+
25
+ export interface TabsScreenPropsBase {
26
+ // Control
27
+ /**
28
+ * @summary Identifies screen, e.g. when receiving onNativeFocusChange event.
29
+ *
30
+ * @platform android, ios
31
+ */
32
+ screenKey: string;
33
+ /**
34
+ * @summary When set to `true`, prevents native tab selection for this screen.
35
+ *
36
+ * @default false
37
+ *
38
+ * @platform android, ios
39
+ */
40
+ preventNativeSelection?: boolean | undefined;
41
+
42
+ // General
43
+ children?: ViewProps['children'] | undefined;
44
+ style?: StyleProp<Pick<ViewStyle, 'backgroundColor'>> | undefined;
45
+ /**
46
+ * @summary Title of the tab screen, displayed in the tab bar item.
47
+ *
48
+ * @platform android, ios
49
+ */
50
+ title?: string | undefined;
51
+ /**
52
+ * @summary Specifies content of tab bar item badge.
53
+ *
54
+ * On iOS, badge is displayed as regular string.
55
+ *
56
+ * On Android, the value is interpreted in the following order:
57
+ * - if the string can be parsed to integer, displays the value as a number;
58
+ * - otherwise if the string is empty, displays "small dot" badge;
59
+ * - otherwise, displays the value as a text.
60
+ *
61
+ * @platform android, ios
62
+ */
63
+ badgeValue?: string | undefined;
64
+ /**
65
+ * @summary Specifies which special effects (also known as microinteractions)
66
+ * are enabled for the tab screen.
67
+ *
68
+ * For repeated tab selection (selecting already focused tab bar item),
69
+ * there are 2 supported special effects:
70
+ * - `popToRoot` - when Stack is nested inside tab screen and repeated
71
+ * selection is detected, the Stack will pop to root screen,
72
+ * - `scrollToTop` - when there is a ScrollView in first descendant
73
+ * chain from tab screen and repeated selection is detected, ScrollView
74
+ * will be scrolled to top.
75
+ *
76
+ * `popToRoot` has priority over `scrollToTop`.
77
+ *
78
+ * @default All special effects are enabled by default.
79
+ *
80
+ * @platform android, ios
81
+ */
82
+ specialEffects?:
83
+ | {
84
+ repeatedTabSelection?:
85
+ | {
86
+ /**
87
+ * @default true
88
+ */
89
+ popToRoot?: boolean | undefined;
90
+ /**
91
+ * @default true
92
+ */
93
+ scrollToTop?: boolean | undefined;
94
+ }
95
+ | undefined;
96
+ }
97
+ | undefined;
98
+ /**
99
+ * @summary Specifies supported orientations for the tab screen.
100
+ *
101
+ * Procedure for determining supported orientations:
102
+ * 1. Traversal initiates from the root component and moves to the
103
+ * deepest child possible.
104
+ * 2. Components are queried for their supported orientations:
105
+ * - if `orientation` is explicitly set (e.g., `portrait`,
106
+ * `landscape`), it is immediately used,
107
+ * - if `orientation` is set to `inherit`, the parent component
108
+ * is queried.
109
+ *
110
+ * Note that:
111
+ * - some components (like `SplitHost`) may choose not to query
112
+ * its child components,
113
+ * - Stack v4 implementation **ALWAYS** returns some supported
114
+ * orientations (`allButUpsideDown` by default), overriding
115
+ * orientation from tab screen.
116
+ *
117
+ * The following values are currently supported:
118
+ *
119
+ * - `inherit` - tab screen supports the same orientations as parent
120
+ * component,
121
+ * - `all` - tab screen supports all orientations,
122
+ * - `allButUpsideDown` - tab screen supports all but the upside-down
123
+ * portrait interface orientation,
124
+ * - `portrait` - tab screen supports both portrait-up and portrait-down
125
+ * interface orientations,
126
+ * - 'portraitUp' - tab screen supports a portrait-up interface
127
+ * orientation,
128
+ * - `portraitDown` - tab screen supports a portrait-down interface
129
+ * orientation,
130
+ * - `landscape` - tab screen supports both landscape-left and
131
+ * landscape-right interface orientations,
132
+ * - `landscapeLeft` - tab screen supports landscape-left interface
133
+ * orientaion,
134
+ * - `landscapeRight` - tab screen supports landscape-right interface
135
+ * orientaion.
136
+ *
137
+ * The supported values (apart from `inherit`, `portrait`, `portraitUp`,
138
+ * `portraitDown`) correspond to the official UIKit documentation:
139
+ *
140
+ * @see {@link https://developer.apple.com/documentation/uikit/uiinterfaceorientationmask|UIInterfaceOrientationMask}
141
+ *
142
+ * @default inherit
143
+ *
144
+ * @platform ios
145
+ */
146
+ orientation?: TabsScreenOrientation | undefined;
147
+
148
+ // Accessibility
149
+ /**
150
+ * @summary testID for the TabsScreen
151
+ */
152
+ testID?: string | undefined;
153
+ /**
154
+ * @summary accessibilityLabel for the TabsScreen
155
+ */
156
+ accessibilityLabel?: string | undefined;
157
+ /**
158
+ * @summary testID for the TabBarItem
159
+ */
160
+ tabBarItemTestID?: string | undefined;
161
+ /**
162
+ * @summary accessibilityLabel for the TabBarItem
163
+ *
164
+ * @supported iOS, Android API level >=26
165
+ */
166
+ tabBarItemAccessibilityLabel?: string | undefined;
167
+
168
+ // Events
169
+ /**
170
+ * @summary A callback that gets invoked when the tab screen will appear.
171
+ * This is called as soon as the transition begins.
172
+ *
173
+ * @platform android, ios
174
+ */
175
+ onWillAppear?: TabsScreenEventHandler<EmptyObject> | undefined;
176
+ /**
177
+ * @summary A callback that gets invoked when the tab screen did appear.
178
+ * This is called as soon as the transition ends.
179
+ *
180
+ * @platform android, ios
181
+ */
182
+ onDidAppear?: TabsScreenEventHandler<EmptyObject> | undefined;
183
+ /**
184
+ * @summary A callback that gets invoked when the tab screen will disappear.
185
+ * This is called as soon as the transition begins.
186
+ *
187
+ * @platform android, ios
188
+ */
189
+ onWillDisappear?: TabsScreenEventHandler<EmptyObject> | undefined;
190
+ /**
191
+ * @summary A callback that gets invoked when the tab screen did disappear.
192
+ * This is called as soon as the transition ends.
193
+ *
194
+ * @platform android, ios
195
+ */
196
+ onDidDisappear?: TabsScreenEventHandler<EmptyObject> | undefined;
197
+ }
198
+
199
+ export interface TabsScreenProps extends TabsScreenPropsBase {
200
+ ios?: TabsScreenPropsIOS | undefined;
201
+ android?: TabsScreenPropsAndroid | undefined;
202
+ }
@@ -0,0 +1,6 @@
1
+ export { default as TabsScreen } from './TabsScreen';
2
+
3
+ export type * from './TabsScreen.types';
4
+
5
+ export type * from './TabsScreen.android.types';
6
+ export type * from './TabsScreen.ios.types';
@@ -0,0 +1,97 @@
1
+ import React from 'react';
2
+ import { findNodeHandle, type NativeSyntheticEvent } from 'react-native';
3
+ import type { NativeProps as TabsScreenAndroidNativeComponentProps } from '../../../fabric/tabs/TabsScreenAndroidNativeComponent';
4
+ import type { NativeProps as TabsScreenIOSNativeComponentProps } from '../../../fabric/tabs/TabsScreenIOSNativeComponent';
5
+ import { RNSLog } from '../../../private';
6
+ import type { EmptyObject, TabsScreenEventHandler } from './TabsScreen.types';
7
+
8
+ type TabsScreenPlatformNativeComponentProps =
9
+ | TabsScreenAndroidNativeComponentProps
10
+ | TabsScreenIOSNativeComponentProps;
11
+
12
+ interface TabsScreenConfig<T> {
13
+ componentNodeRef: React.RefObject<React.Component<T> | null>;
14
+ onDidAppear?: TabsScreenEventHandler<EmptyObject> | undefined;
15
+ onDidDisappear?: TabsScreenEventHandler<EmptyObject> | undefined;
16
+ onWillAppear?: TabsScreenEventHandler<EmptyObject> | undefined;
17
+ onWillDisappear?: TabsScreenEventHandler<EmptyObject> | undefined;
18
+ screenKey: string;
19
+ }
20
+
21
+ export function useTabsScreen<
22
+ T extends TabsScreenPlatformNativeComponentProps,
23
+ >({
24
+ componentNodeRef,
25
+ onDidAppear,
26
+ onDidDisappear,
27
+ onWillAppear,
28
+ onWillDisappear,
29
+ screenKey,
30
+ }: TabsScreenConfig<T>) {
31
+ const componentNodeHandle = React.useRef<number>(-1);
32
+
33
+ React.useEffect(() => {
34
+ if (componentNodeRef.current != null) {
35
+ componentNodeHandle.current =
36
+ findNodeHandle(componentNodeRef.current) ?? -1;
37
+ } else {
38
+ componentNodeHandle.current = -1;
39
+ }
40
+ }, []);
41
+
42
+ const onWillAppearCallback = React.useCallback(
43
+ (event: NativeSyntheticEvent<EmptyObject>) => {
44
+ RNSLog.log(
45
+ `TabsScreen [${componentNodeHandle.current}] onWillAppear received`,
46
+ );
47
+ onWillAppear?.(event);
48
+ },
49
+ [onWillAppear],
50
+ );
51
+
52
+ const onDidAppearCallback = React.useCallback(
53
+ (event: NativeSyntheticEvent<EmptyObject>) => {
54
+ RNSLog.log(
55
+ `TabsScreen [${componentNodeHandle.current}] onDidAppear received`,
56
+ );
57
+ onDidAppear?.(event);
58
+ },
59
+ [onDidAppear],
60
+ );
61
+
62
+ const onWillDisappearCallback = React.useCallback(
63
+ (event: NativeSyntheticEvent<EmptyObject>) => {
64
+ RNSLog.log(
65
+ `TabsScreen [${componentNodeHandle.current}] onWillDisappear received`,
66
+ );
67
+ onWillDisappear?.(event);
68
+ },
69
+ [onWillDisappear],
70
+ );
71
+
72
+ const onDidDisappearCallback = React.useCallback(
73
+ (event: NativeSyntheticEvent<EmptyObject>) => {
74
+ RNSLog.log(
75
+ `TabsScreen [${componentNodeHandle.current}] onDidDisappear received`,
76
+ );
77
+ onDidDisappear?.(event);
78
+ },
79
+ [onDidDisappear],
80
+ );
81
+
82
+ RNSLog.log(
83
+ `TabsScreen [${
84
+ componentNodeHandle.current ?? -1
85
+ }] render; screenKey: ${screenKey}`,
86
+ );
87
+
88
+ return {
89
+ componentNodeRef,
90
+ lifecycleCallbacks: {
91
+ onWillAppear: onWillAppearCallback,
92
+ onDidAppear: onDidAppearCallback,
93
+ onWillDisappear: onWillDisappearCallback,
94
+ onDidDisappear: onDidDisappearCallback,
95
+ },
96
+ };
97
+ }
@@ -3,12 +3,9 @@
3
3
  * BE SUBJECT TO BREAKING CHANGES WITHOUT NOTICE OR LIBRARY MAJOR VERSION CHANGE.
4
4
  */
5
5
 
6
- // Types
7
- export type * from './types';
6
+ // Components & types
8
7
 
9
- // Components
10
-
11
- export { default as Stack } from '../components/gamma/stack';
12
-
13
- export { default as Split } from '../components/gamma/split';
14
- export { default as SafeAreaView } from '../components/safe-area/SafeAreaView';
8
+ export * from '../components/gamma/stack';
9
+ export * from '../components/gamma/split';
10
+ export * from '../components/safe-area';
11
+ export * from '../components/gamma/scroll-view-marker';