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

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 (436) hide show
  1. package/README.md +1 -2
  2. package/RNScreens.podspec +2 -6
  3. package/android/build.gradle +26 -1
  4. package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +5 -0
  5. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +2 -2
  6. package/android/src/main/java/com/swmansion/rnscreens/legacy/Screen.kt +22 -6
  7. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackFragment.kt +39 -10
  8. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenViewManager.kt +5 -0
  9. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetAppearanceCoordinator.kt → native/coordinator/FormSheetAppearanceCoordinator.kt} +2 -1
  10. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetBehaviorController.kt → native/coordinator/FormSheetBehaviorController.kt} +25 -1
  11. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDimensionsCoordinator.kt → native/coordinator/FormSheetDimensionsCoordinator.kt} +4 -1
  12. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/native/coordinator/FormSheetNativeDismissCoordinator.kt +50 -0
  13. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContainer.kt → native/core/FormSheetContainer.kt} +1 -1
  14. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDialog.kt → native/core/FormSheetDialog.kt} +24 -1
  15. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDialogManager.kt → native/core/FormSheetDialogManager.kt} +25 -1
  16. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentSizeChangeDelegate.kt → native/interfaces/FormSheetContentSizeChangeDelegate.kt} +1 -1
  17. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentSizeChangeProvider.kt → native/interfaces/FormSheetContentSizeChangeProvider.kt} +1 -1
  18. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDialogEventEmitter.kt → native/interfaces/FormSheetDialogEventEmitter.kt} +3 -1
  19. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetConfig.kt → native/model/FormSheetConfig.kt} +5 -1
  20. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDetents.kt → native/model/FormSheetDetents.kt} +1 -1
  21. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetAnimatorFactory.kt → native/presentation/FormSheetAnimatorFactory.kt} +1 -1
  22. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetPresentationManager.kt → native/presentation/FormSheetPresentationManager.kt} +3 -12
  23. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetPresentationState.kt → native/presentation/FormSheetPresentationState.kt} +1 -1
  24. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentWrapper.kt → react/contentwrapper/FormSheetContentWrapper.kt} +3 -1
  25. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentWrapperViewManager.kt → react/contentwrapper/FormSheetContentWrapperViewManager.kt} +1 -1
  26. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDetentChangedEvent.kt → react/event/FormSheetDetentChangedEvent.kt} +1 -1
  27. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDidAppearEvent.kt → react/event/FormSheetDidAppearEvent.kt} +1 -1
  28. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetDidDisappearEvent.kt → react/event/FormSheetDidDisappearEvent.kt} +1 -1
  29. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetNativeDismissEvent.kt → react/event/FormSheetNativeDismissEvent.kt} +1 -1
  30. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/react/event/FormSheetNativeDismissPreventedEvent.kt +29 -0
  31. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetSyncFlushEvent.kt → react/event/FormSheetSyncFlushEvent.kt} +1 -1
  32. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetWillAppearEvent.kt → react/event/FormSheetWillAppearEvent.kt} +1 -1
  33. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetWillDisappearEvent.kt → react/event/FormSheetWillDisappearEvent.kt} +1 -1
  34. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetContentView.kt → react/host/FormSheetContentView.kt} +3 -1
  35. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetHost.kt → react/host/FormSheetHost.kt} +6 -1
  36. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetHostEventEmitter.kt → react/host/FormSheetHostEventEmitter.kt} +16 -1
  37. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/{FormSheetHostViewManager.kt → react/host/FormSheetHostViewManager.kt} +11 -2
  38. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderApplicator.kt +30 -418
  39. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderCoordinatorLayout.kt +36 -113
  40. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderFrameSynchronizer.kt +63 -0
  41. package/android/src/main/java/com/swmansion/rnscreens/stack/header/{StackHeaderAppBarLayout.kt → appbar/StackHeaderAppBarLayout.kt} +1 -6
  42. package/android/src/main/java/com/swmansion/rnscreens/stack/header/{StackHeaderAppBarLayoutBehavior.kt → appbar/StackHeaderAppBarLayoutBehavior.kt} +1 -1
  43. package/android/src/main/java/com/swmansion/rnscreens/stack/header/{StackHeaderScrollingViewBehavior.kt → appbar/StackHeaderScrollingViewBehavior.kt} +1 -1
  44. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfig.kt +28 -6
  45. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigViewManager.kt +8 -1
  46. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationObserver.kt +1 -1
  47. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationProviding.kt +2 -1
  48. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderInvalidationFlags.kt +2 -1
  49. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuApplicator.kt +448 -0
  50. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuMapper.kt +17 -3
  51. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/StackHeaderToolbarMenuSelectionController.kt +83 -0
  52. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuConfig.kt → model/StackHeaderToolbarMenuConfig.kt} +1 -1
  53. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuElementConfig.kt → model/StackHeaderToolbarMenuElementConfig.kt} +1 -1
  54. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuGroupConfig.kt → model/StackHeaderToolbarMenuGroupConfig.kt} +1 -1
  55. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuGroupMetadata.kt → model/StackHeaderToolbarMenuGroupMetadata.kt} +5 -1
  56. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemConfig.kt → model/StackHeaderToolbarMenuItemConfig.kt} +1 -1
  57. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemDefaults.kt → model/StackHeaderToolbarMenuItemDefaults.kt} +1 -1
  58. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemIconSource.kt → model/StackHeaderToolbarMenuItemIconSource.kt} +1 -1
  59. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemShowAsAction.kt → model/StackHeaderToolbarMenuItemShowAsAction.kt} +1 -1
  60. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuItemType.kt → model/StackHeaderToolbarMenuItemType.kt} +1 -1
  61. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarFieldUpdate.kt → update/StackHeaderToolbarFieldUpdate.kt} +1 -1
  62. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuElementOptions.kt → update/StackHeaderToolbarMenuElementOptions.kt} +2 -1
  63. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementRawUpdate.kt +13 -0
  64. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuElementUpdate.kt +10 -0
  65. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuIconResolver.kt +17 -0
  66. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/{StackHeaderToolbarMenuUpdateQueue.kt → update/StackHeaderToolbarMenuUpdateQueue.kt} +1 -43
  67. package/android/src/main/java/com/swmansion/rnscreens/stack/header/toolbar/update/StackHeaderToolbarMenuUpdateQueueDelegate.kt +9 -0
  68. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreen.kt +1 -0
  69. package/common/cpp/react/renderer/components/rnscreens/legacy/RNSScreenShadowNode.cpp +10 -5
  70. package/ios/RNSEnums.h +0 -2
  71. package/ios/RNSOrientationProviding.h +0 -2
  72. package/ios/RNSReactMountingTransactionObserving.h +15 -0
  73. package/ios/legacy/RNSBarButtonItem.mm +12 -5
  74. package/ios/legacy/RNSScreen.h +8 -1
  75. package/ios/legacy/RNSScreen.mm +39 -17
  76. package/ios/legacy/RNSScreenContentWrapper.mm +9 -0
  77. package/ios/legacy/RNSScreenFooter.mm +2 -0
  78. package/ios/legacy/RNSScreenStack.mm +9 -4
  79. package/ios/modals/form-sheet/RNSFormSheetContentWrapperComponentView.mm +9 -0
  80. package/ios/scroll-to-top-guard/RNSScrollToTopGuard.h +17 -0
  81. package/ios/scroll-to-top-guard/RNSScrollToTopGuard.mm +57 -0
  82. package/ios/scroll-to-top-guard/RNSScrollToTopGuardGestureRecognizer.h +28 -0
  83. package/ios/scroll-to-top-guard/RNSScrollToTopGuardGestureRecognizer.mm +64 -0
  84. package/ios/split/RNSSplitAppearanceApplicator.h +36 -0
  85. package/ios/split/RNSSplitAppearanceApplicator.mm +185 -0
  86. package/ios/split/RNSSplitAppearanceCoordinator.h +26 -0
  87. package/ios/split/RNSSplitAppearanceCoordinator.mm +27 -0
  88. package/ios/split/RNSSplitAppearanceUpdateFlags.h +14 -0
  89. package/ios/split/RNSSplitHostComponentView.mm +1 -1
  90. package/ios/split/RNSSplitHostController.h +86 -0
  91. package/ios/split/RNSSplitHostController.mm +560 -0
  92. package/ios/split/RNSSplitNavigationController.h +31 -0
  93. package/ios/split/RNSSplitNavigationController.mm +44 -0
  94. package/ios/split/RNSSplitNavigationControllerFrameObserver.h +32 -0
  95. package/ios/split/RNSSplitNavigationControllerFrameObserver.mm +80 -0
  96. package/ios/split/RNSSplitNavigationControllerFrameOriginChangeDelegate.h +15 -0
  97. package/ios/split/RNSSplitScreenComponentView.mm +8 -9
  98. package/ios/split/RNSSplitScreenController.h +45 -0
  99. package/ios/split/RNSSplitScreenController.mm +130 -0
  100. package/ios/stack/header/RNSStackHeaderConfigComponentView.h +1 -0
  101. package/ios/stack/header/RNSStackHeaderConfigComponentView.mm +47 -9
  102. package/ios/stack/header/RNSStackHeaderConfigDataProviding.h +3 -0
  103. package/ios/stack/header/RNSStackHeaderMenuCoordinator.h +9 -0
  104. package/ios/stack/header/RNSStackHeaderMenuCoordinator.mm +15 -0
  105. package/ios/stack/header/RNSStackHeaderMenuFinder.h +18 -3
  106. package/ios/stack/header/RNSStackHeaderMenuFinder.mm +21 -3
  107. package/ios/stack/host/RNSStackHostComponentView.mm +3 -1
  108. package/ios/stack/host/RNSStackNavigationController.mm +1 -1
  109. package/ios/stack/screen/RNSStackScreenComponentView.mm +0 -2
  110. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.h +6 -1
  111. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.mm +61 -12
  112. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryComponentView.mm +3 -0
  113. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryContentComponentView.mm +4 -1
  114. package/ios/tabs/host/RNSTabBarController.h +5 -12
  115. package/ios/tabs/host/RNSTabBarController.mm +1 -1
  116. package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.ios.js +25 -0
  117. package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.ios.js.map +1 -0
  118. package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.js +24 -0
  119. package/lib/commonjs/components/scroll-to-top-guard/ScrollToTopGuard.js.map +1 -0
  120. package/lib/commonjs/components/scroll-to-top-guard/index.js +13 -0
  121. package/lib/commonjs/components/scroll-to-top-guard/index.js.map +1 -0
  122. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js +11 -12
  123. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  124. package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js +1 -22
  125. package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
  126. package/lib/commonjs/components/stack/header/ios/iconUtils.ios.js +33 -2
  127. package/lib/commonjs/components/stack/header/ios/iconUtils.ios.js.map +1 -1
  128. package/lib/commonjs/components/stack/header/utils.js +6 -9
  129. package/lib/commonjs/components/stack/header/utils.js.map +1 -1
  130. package/lib/commonjs/experimental/index.js +11 -0
  131. package/lib/commonjs/experimental/index.js.map +1 -1
  132. package/lib/commonjs/fabric/ScrollViewMarkerNativeComponent.js.map +1 -1
  133. package/lib/commonjs/fabric/legacy/FullWindowOverlayNativeComponent.js.map +1 -1
  134. package/lib/commonjs/fabric/legacy/ModalScreenNativeComponent.js.map +1 -1
  135. package/lib/commonjs/fabric/legacy/ScreenContainerNativeComponent.js.map +1 -1
  136. package/lib/commonjs/fabric/legacy/ScreenFooterNativeComponent.js.map +1 -1
  137. package/lib/commonjs/fabric/legacy/ScreenNativeComponent.js.map +1 -1
  138. package/lib/commonjs/fabric/legacy/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  139. package/lib/commonjs/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  140. package/lib/commonjs/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
  141. package/lib/commonjs/fabric/legacy/SearchBarNativeComponent.js.map +1 -1
  142. package/lib/commonjs/fabric/modals/form-sheet/FormSheetHostNativeComponent.js.map +1 -1
  143. package/lib/commonjs/fabric/safe-area/SafeAreaViewNativeComponent.js.map +1 -1
  144. package/lib/commonjs/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js +12 -0
  145. package/lib/commonjs/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js.map +1 -0
  146. package/lib/commonjs/fabric/split/SplitHostNativeComponent.js.map +1 -1
  147. package/lib/commonjs/fabric/split/SplitScreenNativeComponent.js.map +1 -1
  148. package/lib/commonjs/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
  149. package/lib/commonjs/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  150. package/lib/commonjs/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  151. package/lib/commonjs/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.js.map +1 -1
  152. package/lib/commonjs/fabric/stack/StackHeaderSubviewAndroidNativeComponent.js.map +1 -1
  153. package/lib/commonjs/fabric/stack/StackHostNativeComponent.js.map +1 -1
  154. package/lib/commonjs/fabric/stack/StackScreenNativeComponent.js.map +1 -1
  155. package/lib/commonjs/fabric/tabs/TabsBottomAccessoryContentNativeComponent.js.map +1 -1
  156. package/lib/commonjs/fabric/tabs/TabsBottomAccessoryNativeComponent.js.map +1 -1
  157. package/lib/commonjs/fabric/tabs/TabsHostAndroidNativeComponent.js.map +1 -1
  158. package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  159. package/lib/commonjs/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
  160. package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
  161. package/lib/commonjs/flags.js +22 -1
  162. package/lib/commonjs/flags.js.map +1 -1
  163. package/lib/commonjs/legacy/components/Screen.js +6 -1
  164. package/lib/commonjs/legacy/components/Screen.js.map +1 -1
  165. package/lib/commonjs/legacy/components/ScreenStackHeaderConfig.js +5 -0
  166. package/lib/commonjs/legacy/components/ScreenStackHeaderConfig.js.map +1 -1
  167. package/lib/commonjs/legacy/components/ScreenStackItem.js.map +1 -1
  168. package/lib/commonjs/legacy/components/SearchBar.js +16 -16
  169. package/lib/commonjs/legacy/components/SearchBar.js.map +1 -1
  170. package/lib/commonjs/legacy/components/helpers/prepareHeaderBarButtonItems.js +3 -0
  171. package/lib/commonjs/legacy/components/helpers/prepareHeaderBarButtonItems.js.map +1 -1
  172. package/lib/commonjs/legacy/gesture-handler/fabricUtils.js.map +1 -1
  173. package/lib/commonjs/legacy/useTransitionProgress.js.map +1 -1
  174. package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.ios.js +20 -0
  175. package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.ios.js.map +1 -0
  176. package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.js +18 -0
  177. package/lib/module/components/scroll-to-top-guard/ScrollToTopGuard.js.map +1 -0
  178. package/lib/module/components/scroll-to-top-guard/index.js +2 -0
  179. package/lib/module/components/scroll-to-top-guard/index.js.map +1 -0
  180. package/lib/module/components/stack/header/StackHeaderConfig.ios.js +14 -15
  181. package/lib/module/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  182. package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js +1 -22
  183. package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
  184. package/lib/module/components/stack/header/ios/iconUtils.ios.js +31 -2
  185. package/lib/module/components/stack/header/ios/iconUtils.ios.js.map +1 -1
  186. package/lib/module/components/stack/header/utils.js +5 -8
  187. package/lib/module/components/stack/header/utils.js.map +1 -1
  188. package/lib/module/experimental/index.js +1 -0
  189. package/lib/module/experimental/index.js.map +1 -1
  190. package/lib/module/fabric/ScrollViewMarkerNativeComponent.js.map +1 -1
  191. package/lib/module/fabric/legacy/FullWindowOverlayNativeComponent.js.map +1 -1
  192. package/lib/module/fabric/legacy/ModalScreenNativeComponent.js.map +1 -1
  193. package/lib/module/fabric/legacy/ScreenContainerNativeComponent.js.map +1 -1
  194. package/lib/module/fabric/legacy/ScreenFooterNativeComponent.js.map +1 -1
  195. package/lib/module/fabric/legacy/ScreenNativeComponent.js.map +1 -1
  196. package/lib/module/fabric/legacy/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  197. package/lib/module/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  198. package/lib/module/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
  199. package/lib/module/fabric/legacy/SearchBarNativeComponent.js.map +1 -1
  200. package/lib/module/fabric/modals/form-sheet/FormSheetHostNativeComponent.js.map +1 -1
  201. package/lib/module/fabric/safe-area/SafeAreaViewNativeComponent.js.map +1 -1
  202. package/lib/module/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js +7 -0
  203. package/lib/module/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.js.map +1 -0
  204. package/lib/module/fabric/split/SplitHostNativeComponent.js.map +1 -1
  205. package/lib/module/fabric/split/SplitScreenNativeComponent.js.map +1 -1
  206. package/lib/module/fabric/stack/StackHeaderConfigAndroidNativeComponent.js.map +1 -1
  207. package/lib/module/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  208. package/lib/module/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  209. package/lib/module/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.js.map +1 -1
  210. package/lib/module/fabric/stack/StackHeaderSubviewAndroidNativeComponent.js.map +1 -1
  211. package/lib/module/fabric/stack/StackHostNativeComponent.js.map +1 -1
  212. package/lib/module/fabric/stack/StackScreenNativeComponent.js.map +1 -1
  213. package/lib/module/fabric/tabs/TabsBottomAccessoryContentNativeComponent.js.map +1 -1
  214. package/lib/module/fabric/tabs/TabsBottomAccessoryNativeComponent.js.map +1 -1
  215. package/lib/module/fabric/tabs/TabsHostAndroidNativeComponent.js.map +1 -1
  216. package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  217. package/lib/module/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
  218. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
  219. package/lib/module/flags.js +22 -1
  220. package/lib/module/flags.js.map +1 -1
  221. package/lib/module/legacy/components/Screen.js +6 -1
  222. package/lib/module/legacy/components/Screen.js.map +1 -1
  223. package/lib/module/legacy/components/ScreenStackHeaderConfig.js +5 -0
  224. package/lib/module/legacy/components/ScreenStackHeaderConfig.js.map +1 -1
  225. package/lib/module/legacy/components/ScreenStackItem.js.map +1 -1
  226. package/lib/module/legacy/components/SearchBar.js +17 -17
  227. package/lib/module/legacy/components/SearchBar.js.map +1 -1
  228. package/lib/module/legacy/components/helpers/prepareHeaderBarButtonItems.js +4 -0
  229. package/lib/module/legacy/components/helpers/prepareHeaderBarButtonItems.js.map +1 -1
  230. package/lib/module/legacy/gesture-handler/fabricUtils.js.map +1 -1
  231. package/lib/module/legacy/useTransitionProgress.js.map +1 -1
  232. package/lib/module/private/hooks/useRenderDebugInfo.js.map +1 -1
  233. package/lib/typescript/components/modals/form-sheet/FormSheet.types.d.ts +2 -2
  234. package/lib/typescript/components/safe-area/SafeAreaView.web.d.ts +5 -2
  235. package/lib/typescript/components/safe-area/SafeAreaView.web.d.ts.map +1 -1
  236. package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.d.ts +15 -0
  237. package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.d.ts.map +1 -0
  238. package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.ios.d.ts +12 -0
  239. package/lib/typescript/components/scroll-to-top-guard/ScrollToTopGuard.ios.d.ts.map +1 -0
  240. package/lib/typescript/components/scroll-to-top-guard/index.d.ts +2 -0
  241. package/lib/typescript/components/scroll-to-top-guard/index.d.ts.map +1 -0
  242. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts +24 -0
  243. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -1
  244. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts.map +1 -1
  245. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts +13 -0
  246. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -1
  247. package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts +5 -2
  248. package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts.map +1 -1
  249. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.d.ts.map +1 -1
  250. package/lib/typescript/components/stack/header/ios/iconUtils.ios.d.ts +3 -0
  251. package/lib/typescript/components/stack/header/ios/iconUtils.ios.d.ts.map +1 -1
  252. package/lib/typescript/components/stack/header/utils.d.ts +1 -2
  253. package/lib/typescript/components/stack/header/utils.d.ts.map +1 -1
  254. package/lib/typescript/components/stack/host/StackHost.types.d.ts +2 -2
  255. package/lib/typescript/components/stack/host/StackHost.types.d.ts.map +1 -1
  256. package/lib/typescript/components/stack/host/StackHost.web.d.ts +6 -2
  257. package/lib/typescript/components/stack/host/StackHost.web.d.ts.map +1 -1
  258. package/lib/typescript/components/stack/screen/StackScreen.web.d.ts +5 -2
  259. package/lib/typescript/components/stack/screen/StackScreen.web.d.ts.map +1 -1
  260. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts +5 -2
  261. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts.map +1 -1
  262. package/lib/typescript/components/tabs/screen/TabsScreen.types.d.ts +7 -3
  263. package/lib/typescript/components/tabs/screen/TabsScreen.types.d.ts.map +1 -1
  264. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts +5 -2
  265. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts.map +1 -1
  266. package/lib/typescript/experimental/index.d.ts +1 -0
  267. package/lib/typescript/experimental/index.d.ts.map +1 -1
  268. package/lib/typescript/fabric/NativeScreensModule.d.ts +1 -1
  269. package/lib/typescript/fabric/ScrollViewMarkerNativeComponent.d.ts +2 -2
  270. package/lib/typescript/fabric/ScrollViewMarkerNativeComponent.d.ts.map +1 -1
  271. package/lib/typescript/fabric/legacy/FullWindowOverlayNativeComponent.d.ts +2 -2
  272. package/lib/typescript/fabric/legacy/FullWindowOverlayNativeComponent.d.ts.map +1 -1
  273. package/lib/typescript/fabric/legacy/ModalScreenNativeComponent.d.ts +3 -2
  274. package/lib/typescript/fabric/legacy/ModalScreenNativeComponent.d.ts.map +1 -1
  275. package/lib/typescript/fabric/legacy/ScreenContainerNativeComponent.d.ts +2 -2
  276. package/lib/typescript/fabric/legacy/ScreenContainerNativeComponent.d.ts.map +1 -1
  277. package/lib/typescript/fabric/legacy/ScreenContentWrapperNativeComponent.d.ts +2 -2
  278. package/lib/typescript/fabric/legacy/ScreenContentWrapperNativeComponent.d.ts.map +1 -1
  279. package/lib/typescript/fabric/legacy/ScreenFooterNativeComponent.d.ts +2 -2
  280. package/lib/typescript/fabric/legacy/ScreenFooterNativeComponent.d.ts.map +1 -1
  281. package/lib/typescript/fabric/legacy/ScreenNativeComponent.d.ts +3 -2
  282. package/lib/typescript/fabric/legacy/ScreenNativeComponent.d.ts.map +1 -1
  283. package/lib/typescript/fabric/legacy/ScreenNavigationContainerNativeComponent.d.ts +2 -2
  284. package/lib/typescript/fabric/legacy/ScreenNavigationContainerNativeComponent.d.ts.map +1 -1
  285. package/lib/typescript/fabric/legacy/ScreenStackHeaderConfigNativeComponent.d.ts +3 -3
  286. package/lib/typescript/fabric/legacy/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
  287. package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -2
  288. package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
  289. package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts +2 -2
  290. package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts.map +1 -1
  291. package/lib/typescript/fabric/legacy/SearchBarNativeComponent.d.ts +6 -6
  292. package/lib/typescript/fabric/legacy/SearchBarNativeComponent.d.ts.map +1 -1
  293. package/lib/typescript/fabric/modals/form-sheet/FormSheetContentWrapperNativeComponent.d.ts +2 -2
  294. package/lib/typescript/fabric/modals/form-sheet/FormSheetContentWrapperNativeComponent.d.ts.map +1 -1
  295. package/lib/typescript/fabric/modals/form-sheet/FormSheetHostNativeComponent.d.ts +2 -2
  296. package/lib/typescript/fabric/modals/form-sheet/FormSheetHostNativeComponent.d.ts.map +1 -1
  297. package/lib/typescript/fabric/safe-area/SafeAreaViewNativeComponent.d.ts +2 -2
  298. package/lib/typescript/fabric/safe-area/SafeAreaViewNativeComponent.d.ts.map +1 -1
  299. package/lib/typescript/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.d.ts +6 -0
  300. package/lib/typescript/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.d.ts.map +1 -0
  301. package/lib/typescript/fabric/split/SplitHostNativeComponent.d.ts +1 -1
  302. package/lib/typescript/fabric/split/SplitHostNativeComponent.d.ts.map +1 -1
  303. package/lib/typescript/fabric/split/SplitScreenNativeComponent.d.ts +2 -2
  304. package/lib/typescript/fabric/split/SplitScreenNativeComponent.d.ts.map +1 -1
  305. package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts +1 -0
  306. package/lib/typescript/fabric/stack/StackHeaderConfigAndroidNativeComponent.d.ts.map +1 -1
  307. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts +2 -1
  308. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -1
  309. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts +2 -2
  310. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts.map +1 -1
  311. package/lib/typescript/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.d.ts +2 -2
  312. package/lib/typescript/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.d.ts.map +1 -1
  313. package/lib/typescript/fabric/stack/StackHeaderSubviewAndroidNativeComponent.d.ts +2 -2
  314. package/lib/typescript/fabric/stack/StackHeaderSubviewAndroidNativeComponent.d.ts.map +1 -1
  315. package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts +2 -2
  316. package/lib/typescript/fabric/stack/StackHostNativeComponent.d.ts.map +1 -1
  317. package/lib/typescript/fabric/stack/StackScreenNativeComponent.d.ts +2 -2
  318. package/lib/typescript/fabric/stack/StackScreenNativeComponent.d.ts.map +1 -1
  319. package/lib/typescript/fabric/tabs/TabsBottomAccessoryContentNativeComponent.d.ts +2 -2
  320. package/lib/typescript/fabric/tabs/TabsBottomAccessoryContentNativeComponent.d.ts.map +1 -1
  321. package/lib/typescript/fabric/tabs/TabsBottomAccessoryNativeComponent.d.ts +2 -2
  322. package/lib/typescript/fabric/tabs/TabsBottomAccessoryNativeComponent.d.ts.map +1 -1
  323. package/lib/typescript/fabric/tabs/TabsHostAndroidNativeComponent.d.ts +2 -2
  324. package/lib/typescript/fabric/tabs/TabsHostAndroidNativeComponent.d.ts.map +1 -1
  325. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +2 -2
  326. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -1
  327. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts +2 -2
  328. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts.map +1 -1
  329. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts +2 -2
  330. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts.map +1 -1
  331. package/lib/typescript/flags.d.ts +13 -0
  332. package/lib/typescript/flags.d.ts.map +1 -1
  333. package/lib/typescript/legacy/TransitionProgressContext.d.ts +1 -1
  334. package/lib/typescript/legacy/TransitionProgressContext.d.ts.map +1 -1
  335. package/lib/typescript/legacy/components/Screen.d.ts +5 -3
  336. package/lib/typescript/legacy/components/Screen.d.ts.map +1 -1
  337. package/lib/typescript/legacy/components/Screen.web.d.ts +10 -2
  338. package/lib/typescript/legacy/components/Screen.web.d.ts.map +1 -1
  339. package/lib/typescript/legacy/components/ScreenContainer.web.d.ts +5 -2
  340. package/lib/typescript/legacy/components/ScreenContainer.web.d.ts.map +1 -1
  341. package/lib/typescript/legacy/components/ScreenContentWrapper.web.d.ts +5 -2
  342. package/lib/typescript/legacy/components/ScreenContentWrapper.web.d.ts.map +1 -1
  343. package/lib/typescript/legacy/components/ScreenContentWrapper.windows.d.ts +5 -2
  344. package/lib/typescript/legacy/components/ScreenContentWrapper.windows.d.ts.map +1 -1
  345. package/lib/typescript/legacy/components/ScreenFooter.web.d.ts +10 -3
  346. package/lib/typescript/legacy/components/ScreenFooter.web.d.ts.map +1 -1
  347. package/lib/typescript/legacy/components/ScreenFooter.windows.d.ts +10 -3
  348. package/lib/typescript/legacy/components/ScreenFooter.windows.d.ts.map +1 -1
  349. package/lib/typescript/legacy/components/ScreenStack.web.d.ts +5 -2
  350. package/lib/typescript/legacy/components/ScreenStack.web.d.ts.map +1 -1
  351. package/lib/typescript/legacy/components/ScreenStackHeaderConfig.d.ts +3 -1
  352. package/lib/typescript/legacy/components/ScreenStackHeaderConfig.d.ts.map +1 -1
  353. package/lib/typescript/legacy/components/ScreenStackItem.d.ts +3 -2
  354. package/lib/typescript/legacy/components/ScreenStackItem.d.ts.map +1 -1
  355. package/lib/typescript/legacy/components/SearchBar.d.ts +3 -3
  356. package/lib/typescript/legacy/components/SearchBar.d.ts.map +1 -1
  357. package/lib/typescript/legacy/components/SearchBar.web.d.ts +5 -2
  358. package/lib/typescript/legacy/components/SearchBar.web.d.ts.map +1 -1
  359. package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts +15 -12
  360. package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts.map +1 -1
  361. package/lib/typescript/legacy/gesture-handler/fabricUtils.d.ts +3 -2
  362. package/lib/typescript/legacy/gesture-handler/fabricUtils.d.ts.map +1 -1
  363. package/lib/typescript/legacy/types.d.ts +25 -5
  364. package/lib/typescript/legacy/types.d.ts.map +1 -1
  365. package/lib/typescript/legacy/useTransitionProgress.d.ts +2 -5
  366. package/lib/typescript/legacy/useTransitionProgress.d.ts.map +1 -1
  367. package/lib/typescript/private/hooks/useRenderDebugInfo.d.ts +2 -2
  368. package/lib/typescript/private/hooks/useRenderDebugInfo.d.ts.map +1 -1
  369. package/package.json +17 -17
  370. package/src/components/modals/form-sheet/FormSheet.types.ts +2 -2
  371. package/src/components/scroll-to-top-guard/ScrollToTopGuard.ios.tsx +17 -0
  372. package/src/components/scroll-to-top-guard/ScrollToTopGuard.tsx +18 -0
  373. package/src/components/scroll-to-top-guard/index.ts +1 -0
  374. package/src/components/stack/header/StackHeaderConfig.android.types.ts +24 -0
  375. package/src/components/stack/header/StackHeaderConfig.ios.tsx +32 -22
  376. package/src/components/stack/header/StackHeaderConfig.ios.types.ts +13 -0
  377. package/src/components/stack/header/ios/StackHeaderItem.ios.tsx +1 -23
  378. package/src/components/stack/header/ios/iconUtils.ios.ts +38 -2
  379. package/src/components/stack/header/utils.ts +6 -11
  380. package/src/components/stack/host/StackHost.types.ts +2 -4
  381. package/src/components/tabs/screen/TabsScreen.types.ts +7 -3
  382. package/src/experimental/index.ts +1 -0
  383. package/src/fabric/ScrollViewMarkerNativeComponent.ts +8 -2
  384. package/src/fabric/legacy/FullWindowOverlayNativeComponent.ts +6 -2
  385. package/src/fabric/legacy/ModalScreenNativeComponent.ts +8 -2
  386. package/src/fabric/legacy/ScreenContainerNativeComponent.ts +5 -2
  387. package/src/fabric/legacy/ScreenContentWrapperNativeComponent.ts +2 -2
  388. package/src/fabric/legacy/ScreenFooterNativeComponent.ts +5 -2
  389. package/src/fabric/legacy/ScreenNativeComponent.ts +8 -2
  390. package/src/fabric/legacy/ScreenNavigationContainerNativeComponent.ts +2 -2
  391. package/src/fabric/legacy/ScreenStackHeaderConfigNativeComponent.ts +8 -3
  392. package/src/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.ts +6 -2
  393. package/src/fabric/legacy/ScreenStackNativeComponent.ts +10 -2
  394. package/src/fabric/legacy/SearchBarNativeComponent.ts +10 -7
  395. package/src/fabric/modals/form-sheet/FormSheetContentWrapperNativeComponent.ts +2 -2
  396. package/src/fabric/modals/form-sheet/FormSheetHostNativeComponent.ts +7 -2
  397. package/src/fabric/safe-area/SafeAreaViewNativeComponent.ts +6 -2
  398. package/src/fabric/scroll-to-top-guard/ScrollToTopGuardNativeComponent.ts +10 -0
  399. package/src/fabric/split/SplitHostNativeComponent.ts +5 -2
  400. package/src/fabric/split/SplitScreenNativeComponent.ts +6 -2
  401. package/src/fabric/stack/StackHeaderConfigAndroidNativeComponent.ts +3 -1
  402. package/src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts +7 -2
  403. package/src/fabric/stack/StackHeaderItemIOSNativeComponent.ts +2 -1
  404. package/src/fabric/stack/StackHeaderItemSpacerIOSNativeComponent.ts +6 -2
  405. package/src/fabric/stack/StackHeaderSubviewAndroidNativeComponent.ts +6 -2
  406. package/src/fabric/stack/StackHostNativeComponent.ts +5 -2
  407. package/src/fabric/stack/StackScreenNativeComponent.ts +6 -2
  408. package/src/fabric/tabs/TabsBottomAccessoryContentNativeComponent.ts +6 -2
  409. package/src/fabric/tabs/TabsBottomAccessoryNativeComponent.ts +6 -2
  410. package/src/fabric/tabs/TabsHostAndroidNativeComponent.ts +7 -2
  411. package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +7 -2
  412. package/src/fabric/tabs/TabsScreenAndroidNativeComponent.ts +2 -1
  413. package/src/fabric/tabs/TabsScreenIOSNativeComponent.ts +2 -1
  414. package/src/flags.ts +26 -0
  415. package/src/legacy/TransitionProgressContext.tsx +1 -1
  416. package/src/legacy/components/Screen.tsx +14 -6
  417. package/src/legacy/components/ScreenStackHeaderConfig.tsx +7 -1
  418. package/src/legacy/components/ScreenStackItem.tsx +3 -4
  419. package/src/legacy/components/SearchBar.tsx +34 -44
  420. package/src/legacy/components/helpers/prepareHeaderBarButtonItems.ts +7 -1
  421. package/src/legacy/gesture-handler/fabricUtils.ts +5 -2
  422. package/src/legacy/types.ts +28 -5
  423. package/src/legacy/useTransitionProgress.tsx +4 -2
  424. package/src/private/hooks/useRenderDebugInfo.tsx +2 -2
  425. package/android/src/main/java/com/swmansion/rnscreens/modals/formsheet/FormSheetNativeDismissCoordinator.kt +0 -25
  426. package/ios/ReactMountingTransactionObserving.swift +0 -7
  427. package/ios/bridging/Swift-Bridging.h +0 -7
  428. package/ios/orientation/RNSOrientationProviding.swift +0 -6
  429. package/ios/orientation/RNSOrientationSwift.swift +0 -14
  430. package/ios/split/RNSSplitAppearanceApplicator.swift +0 -199
  431. package/ios/split/RNSSplitAppearanceCoordinator.swift +0 -26
  432. package/ios/split/RNSSplitAppearanceUpdateFlags.swift +0 -11
  433. package/ios/split/RNSSplitHostController.swift +0 -570
  434. package/ios/split/RNSSplitNavigationController.swift +0 -46
  435. package/ios/split/RNSSplitScreenController.swift +0 -133
  436. package/ios/utils/RNSLog.swift +0 -6
@@ -1,7 +1,12 @@
1
1
  'use client';
2
2
 
3
3
  import { codegenNativeComponent } from 'react-native';
4
- import type { CodegenTypes as CT, ColorValue, ViewProps } from 'react-native';
4
+ import type {
5
+ CodegenTypes as CT,
6
+ ColorValue,
7
+ HostComponent,
8
+ ViewProps,
9
+ } from 'react-native';
5
10
 
6
11
  // #region General helpers
7
12
 
@@ -66,4 +71,4 @@ export interface NativeProps extends ViewProps {
66
71
  export default codegenNativeComponent<NativeProps>('RNSTabsHostAndroid', {
67
72
  interfaceOnly: true,
68
73
  excludedPlatforms: ['iOS'],
69
- });
74
+ }) as HostComponent<NativeProps>;
@@ -1,7 +1,12 @@
1
1
  'use client';
2
2
 
3
3
  import { codegenNativeComponent } from 'react-native';
4
- import type { CodegenTypes as CT, ColorValue, ViewProps } from 'react-native';
4
+ import type {
5
+ CodegenTypes as CT,
6
+ ColorValue,
7
+ HostComponent,
8
+ ViewProps,
9
+ } from 'react-native';
5
10
 
6
11
  // #region General helpers
7
12
 
@@ -89,4 +94,4 @@ export interface NativeProps extends ViewProps {
89
94
  export default codegenNativeComponent<NativeProps>('RNSTabsHostIOS', {
90
95
  interfaceOnly: true,
91
96
  excludedPlatforms: ['android'],
92
- });
97
+ }) as HostComponent<NativeProps>;
@@ -3,6 +3,7 @@
3
3
  import { codegenNativeComponent } from 'react-native';
4
4
  import type {
5
5
  CodegenTypes as CT,
6
+ HostComponent,
6
7
  ImageSource,
7
8
  ProcessedColorValue,
8
9
  ViewProps,
@@ -109,4 +110,4 @@ export interface NativeProps extends ViewProps {
109
110
 
110
111
  export default codegenNativeComponent<NativeProps>('RNSTabsScreenAndroid', {
111
112
  excludedPlatforms: ['iOS'],
112
- });
113
+ }) as HostComponent<NativeProps>;
@@ -3,6 +3,7 @@
3
3
  import { codegenNativeComponent } from 'react-native';
4
4
  import type {
5
5
  CodegenTypes as CT,
6
+ HostComponent,
6
7
  ImageSource,
7
8
  ProcessedColorValue,
8
9
  ViewProps,
@@ -168,4 +169,4 @@ export interface NativeProps extends ViewProps {
168
169
 
169
170
  export default codegenNativeComponent<NativeProps>('RNSTabsScreenIOS', {
170
171
  excludedPlatforms: ['android'],
171
- });
172
+ }) as HostComponent<NativeProps>;
package/src/flags.ts CHANGED
@@ -4,6 +4,7 @@ const RNS_SYNCHRONOUS_HEADER_SUBVIEW_STATE_UPDATES_DEFAULT = true;
4
4
  const RNS_ANDROID_LEGACY_TOP_INSET_BEHAVIOR_DEFAULT = false;
5
5
  const RNS_ANDROID_RESET_SCREEN_SHADOW_STATE_ON_ORIENTATION_CHANGE_DEFAULT =
6
6
  true;
7
+ const RNS_IOS_ORIENTATION_INHERITANCE_FIX_DEFAULT = true;
7
8
  const RNS_DEBUG_LOGGING = false;
8
9
 
9
10
  // TODO: Migrate freeze here
@@ -80,6 +81,8 @@ const _featureFlags = {
80
81
  RNS_ANDROID_LEGACY_TOP_INSET_BEHAVIOR_DEFAULT,
81
82
  androidResetScreenShadowStateOnOrientationChangeEnabled:
82
83
  RNS_ANDROID_RESET_SCREEN_SHADOW_STATE_ON_ORIENTATION_CHANGE_DEFAULT,
84
+ iosOrientationInheritanceFixEnabled:
85
+ RNS_IOS_ORIENTATION_INHERITANCE_FIX_DEFAULT,
83
86
  },
84
87
  stable: {
85
88
  debugLogging: RNS_DEBUG_LOGGING,
@@ -157,6 +160,11 @@ const androidResetScreenShadowStateOnOrientationChangeAccessor =
157
160
  'androidResetScreenShadowStateOnOrientationChangeEnabled',
158
161
  RNS_ANDROID_RESET_SCREEN_SHADOW_STATE_ON_ORIENTATION_CHANGE_DEFAULT,
159
162
  );
163
+ const iosOrientationInheritanceFixAccessor =
164
+ createExperimentalFeatureFlagAccessor(
165
+ 'iosOrientationInheritanceFixEnabled',
166
+ RNS_IOS_ORIENTATION_INHERITANCE_FIX_DEFAULT,
167
+ );
160
168
  const rnsDebugLoggingAccessor = createStableFeatureFlagAccessor(
161
169
  'debugLogging',
162
170
  RNS_DEBUG_LOGGING,
@@ -204,6 +212,24 @@ export const featureFlags = {
204
212
  ) {
205
213
  androidResetScreenShadowStateOnOrientationChangeAccessor.set(value);
206
214
  },
215
+ /**
216
+ * Fixes legacy (Stack v4) screen orientation evaluation on iOS. On by default.
217
+ *
218
+ * Before this fix, a legacy `Screen` without an explicit `screenOrientation`
219
+ * always reported `allButUpsideDown` (iPhone) / `all` (iPad), which overrode
220
+ * the orientation set by an ancestor screen (e.g. a portrait-locked stack
221
+ * hosting bottom tabs). With the fix enabled, such a screen defers to its
222
+ * parent screen / the app's `Info.plist` supported orientations instead.
223
+ *
224
+ * PR: https://github.com/software-mansion/react-native-screens/pull/4408
225
+ * @platform ios
226
+ */
227
+ get iosOrientationInheritanceFixEnabled() {
228
+ return iosOrientationInheritanceFixAccessor.get();
229
+ },
230
+ set iosOrientationInheritanceFixEnabled(value: boolean) {
231
+ iosOrientationInheritanceFixAccessor.set(value);
232
+ },
207
233
  /**
208
234
  * Enables the fix for native / JS state desynchronization in Stack. On by default.
209
235
  * PR: https://github.com/software-mansion/react-native-screens/pull/3584
@@ -3,7 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import { Animated } from 'react-native';
5
5
 
6
- type TransitionProgressContextBody = {
6
+ export type TransitionProgressContextBody = {
7
7
  progress: Animated.Value;
8
8
  closing: Animated.Value;
9
9
  goingForward: Animated.Value;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import React from 'react';
4
- import { Animated, View, Platform } from 'react-native';
4
+ import { Animated, Platform, View } from 'react-native';
5
5
 
6
6
  import TransitionProgressContext from '../TransitionProgressContext';
7
7
  import DelayedFreeze from './helpers/DelayedFreeze';
@@ -41,7 +41,7 @@ const AnimatedNativeModalScreen = Animated.createAnimatedComponent(
41
41
 
42
42
  // Incomplete type, all accessible properties available at:
43
43
  // react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
44
- interface ViewConfig extends View {
44
+ interface ViewConfig extends React.ComponentRef<typeof View> {
45
45
  viewConfig: {
46
46
  validAttributes: {
47
47
  style: {
@@ -65,13 +65,18 @@ interface ViewConfig extends View {
65
65
  };
66
66
  }
67
67
 
68
- export const InnerScreen = React.forwardRef<View, ScreenProps>(
68
+ // Nominal instance type for screen refs. `React.ComponentRef<typeof View>`
69
+ // declaration emit resolves down to the non-public `ReactNativeElement` class.
70
+ // An interface stops that resolution at a name this package can emit.
71
+ export interface ScreenInstance extends React.ComponentRef<typeof View> {}
72
+
73
+ export const InnerScreen = React.forwardRef<ScreenInstance, ScreenProps>(
69
74
  function InnerScreen(props, ref) {
70
75
  const innerRef = React.useRef<ViewConfig | null>(null);
71
76
  React.useImperativeHandle(ref, () => innerRef.current!, []);
72
77
  const prevActivityState = usePrevious(props.activityState);
73
78
 
74
- const setRef = (ref: ViewConfig) => {
79
+ const setRef = (ref: ViewConfig | null) => {
75
80
  innerRef.current = ref;
76
81
  props.onComponentRef?.(ref);
77
82
  };
@@ -175,7 +180,7 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
175
180
  }
176
181
  }
177
182
 
178
- const handleRef = (ref: ViewConfig) => {
183
+ const handleRef = (ref: ViewConfig | null) => {
179
184
  // Workaround is necessary to prevent React Native from hiding frozen screens.
180
185
  // See this PR: https://github.com/grahammendick/navigation/pull/860
181
186
  if (ref?.viewConfig?.validAttributes?.style) {
@@ -277,6 +282,9 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
277
282
  androidResetScreenShadowStateOnOrientationChangeEnabled={
278
283
  featureFlags.experiment
279
284
  .androidResetScreenShadowStateOnOrientationChangeEnabled
285
+ }
286
+ iosOrientationInheritanceFixEnabled={
287
+ featureFlags.experiment.iosOrientationInheritanceFixEnabled
280
288
  }>
281
289
  {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed
282
290
  children
@@ -322,7 +330,7 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
322
330
  // e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)
323
331
  export const ScreenContext = React.createContext(InnerScreen);
324
332
 
325
- const Screen = React.forwardRef<View, ScreenProps>((props, ref) => {
333
+ const Screen = React.forwardRef<ScreenInstance, ScreenProps>((props, ref) => {
326
334
  const ScreenWrapper = React.useContext(ScreenContext) || InnerScreen;
327
335
 
328
336
  return <ScreenWrapper {...props} ref={ref} />;
@@ -30,8 +30,14 @@ import { useEdgeInsetApplication } from './contexts/EdgeInsetApplicationContext'
30
30
  export const ScreenStackHeaderSubview: React.ComponentType<ScreenStackHeaderSubviewNativeProps> =
31
31
  ScreenStackHeaderSubviewNativeComponent;
32
32
 
33
+ // Nominal instance type for header config refs. `React.ComponentRef<typeof View>`
34
+ // declaration emit resolves down to the non-public `ReactNativeElement` class.
35
+ // An interface stops that resolution at a name this package can emit.
36
+ export interface ScreenStackHeaderConfigInstance
37
+ extends React.ComponentRef<typeof View> {}
38
+
33
39
  export const ScreenStackHeaderConfig = React.forwardRef<
34
- View,
40
+ ScreenStackHeaderConfigInstance,
35
41
  ScreenStackHeaderConfigProps
36
42
  >((props, ref) => {
37
43
  const {
@@ -4,7 +4,6 @@ import {
4
4
  type StyleProp,
5
5
  StyleSheet,
6
6
  type ViewStyle,
7
- View,
8
7
  } from 'react-native';
9
8
  import warnOnce from 'warn-once';
10
9
 
@@ -15,7 +14,7 @@ import {
15
14
  StackPresentationTypes,
16
15
  } from '../types';
17
16
  import { ScreenStackHeaderConfig } from './ScreenStackHeaderConfig';
18
- import Screen from './Screen';
17
+ import Screen, { type ScreenInstance } from './Screen';
19
18
  import ScreenStack from './ScreenStack';
20
19
  import { RNSScreensRefContext } from '../contexts';
21
20
  import { FooterComponent } from './ScreenFooter';
@@ -54,7 +53,7 @@ function ScreenStackItem(
54
53
  unstable_sheetFooter,
55
54
  ...rest
56
55
  }: Props,
57
- ref: React.ForwardedRef<View>,
56
+ ref: React.ForwardedRef<ScreenInstance>,
58
57
  ) {
59
58
  const headerVisible = !headerConfig?.hidden;
60
59
  const { nextContextValue: nextEdgeContextValue } = useEdgeInsetApplication(
@@ -65,7 +64,7 @@ function ScreenStackItem(
65
64
  headerConfig?.disableBottomInsetApplication ?? false,
66
65
  );
67
66
 
68
- const currentScreenRef = React.useRef<View | null>(null);
67
+ const currentScreenRef = React.useRef<ScreenInstance | null>(null);
69
68
  const screenRefs = React.useContext(RNSScreensRefContext);
70
69
 
71
70
  React.useImperativeHandle(ref, () => currentScreenRef.current!);
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import React from 'react';
4
- import { SearchBarCommands, SearchBarProps } from '../types';
4
+ import { SearchBarProps } from '../types';
5
5
  import {
6
6
  parseBooleanToOptionalBooleanNativeProp,
7
7
  isSearchBarAvailableForCurrentPlatform,
@@ -10,70 +10,58 @@ import { View } from 'react-native';
10
10
 
11
11
  // Native components
12
12
  import SearchBarNativeComponent, {
13
- Commands as SearchBarNativeCommands,
14
- NativeProps as SearchBarNativeProps,
13
+ Commands as NativeSearchBarCommands,
15
14
  SearchBarEvent,
16
15
  SearchButtonPressedEvent,
17
16
  ChangeTextEvent,
18
17
  } from '../../fabric/legacy/SearchBarNativeComponent';
19
18
  import type { CodegenTypes as CT } from 'react-native';
20
19
 
21
- const NativeSearchBar: React.ComponentType<
22
- SearchBarNativeProps & {
23
- ref?: React.RefObject<SearchBarCommands | null> | undefined;
24
- }
25
- > &
26
- typeof NativeSearchBarCommands =
27
- SearchBarNativeComponent as unknown as React.ComponentType<SearchBarNativeProps> &
28
- SearchBarCommandsType;
29
- const NativeSearchBarCommands: SearchBarCommandsType =
30
- SearchBarNativeCommands as SearchBarCommandsType;
31
-
32
- type NativeSearchBarRef = React.ComponentRef<typeof NativeSearchBar>;
20
+ type SearchBarHostInstance = React.ComponentRef<
21
+ typeof SearchBarNativeComponent
22
+ >;
33
23
 
34
- type SearchBarCommandsType = {
35
- blur: (viewRef: NativeSearchBarRef) => void;
36
- focus: (viewRef: NativeSearchBarRef) => void;
37
- clearText: (viewRef: NativeSearchBarRef) => void;
38
- toggleCancelButton: (viewRef: NativeSearchBarRef, flag: boolean) => void;
39
- setText: (viewRef: NativeSearchBarRef, text: string) => void;
40
- cancelSearch: (viewRef: NativeSearchBarRef) => void;
41
- };
24
+ function SearchBar(props: SearchBarProps) {
25
+ const searchBarRef = React.useRef<SearchBarHostInstance | null>(null);
42
26
 
43
- function SearchBar(
44
- props: SearchBarProps,
45
- forwardedRef: React.Ref<SearchBarCommands>,
46
- ) {
47
- const searchBarRef = React.useRef<SearchBarCommands>(null);
48
-
49
- React.useImperativeHandle(forwardedRef, () => ({
27
+ React.useImperativeHandle(props.ref, () => ({
50
28
  blur: () => {
51
- _callMethodWithRef(ref => NativeSearchBarCommands.blur(ref));
29
+ _callWithNativeInstance(instance =>
30
+ NativeSearchBarCommands.blur(instance),
31
+ );
52
32
  },
53
33
  focus: () => {
54
- _callMethodWithRef(ref => NativeSearchBarCommands.focus(ref));
34
+ _callWithNativeInstance(instance =>
35
+ NativeSearchBarCommands.focus(instance),
36
+ );
55
37
  },
56
38
  toggleCancelButton: (flag: boolean) => {
57
- _callMethodWithRef(ref =>
58
- NativeSearchBarCommands.toggleCancelButton(ref, flag),
39
+ _callWithNativeInstance(instance =>
40
+ NativeSearchBarCommands.toggleCancelButton(instance, flag),
59
41
  );
60
42
  },
61
43
  clearText: () => {
62
- _callMethodWithRef(ref => NativeSearchBarCommands.clearText(ref));
44
+ _callWithNativeInstance(instance =>
45
+ NativeSearchBarCommands.clearText(instance),
46
+ );
63
47
  },
64
48
  setText: (text: string) => {
65
- _callMethodWithRef(ref => NativeSearchBarCommands.setText(ref, text));
49
+ _callWithNativeInstance(instance =>
50
+ NativeSearchBarCommands.setText(instance, text),
51
+ );
66
52
  },
67
53
  cancelSearch: () => {
68
- _callMethodWithRef(ref => NativeSearchBarCommands.cancelSearch(ref));
54
+ _callWithNativeInstance(instance =>
55
+ NativeSearchBarCommands.cancelSearch(instance),
56
+ );
69
57
  },
70
58
  }));
71
59
 
72
- const _callMethodWithRef = React.useCallback(
73
- (method: (ref: SearchBarCommands) => void) => {
74
- const ref = searchBarRef.current;
75
- if (ref) {
76
- method(ref);
60
+ const _callWithNativeInstance = React.useCallback(
61
+ (command: (instance: SearchBarHostInstance) => void) => {
62
+ const instance = searchBarRef.current;
63
+ if (instance) {
64
+ command(instance);
77
65
  } else {
78
66
  console.warn(
79
67
  'Reference to native search bar component has not been updated yet',
@@ -98,11 +86,13 @@ function SearchBar(
98
86
  onSearchButtonPress,
99
87
  onCancelButtonPress,
100
88
  onChangeText,
89
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
90
+ ref,
101
91
  ...rest
102
92
  } = props;
103
93
 
104
94
  return (
105
- <NativeSearchBar
95
+ <SearchBarNativeComponent
106
96
  ref={searchBarRef}
107
97
  {...rest}
108
98
  obscureBackground={parseBooleanToOptionalBooleanNativeProp(
@@ -124,4 +114,4 @@ function SearchBar(
124
114
  );
125
115
  }
126
116
 
127
- export default React.forwardRef<SearchBarCommands, SearchBarProps>(SearchBar);
117
+ export default SearchBar;
@@ -1,9 +1,14 @@
1
1
  import { Image, processColor } from 'react-native';
2
+ import type { ImageResolvedAssetSource } from 'react-native';
2
3
  import type {
3
4
  HeaderBarButtonItem,
4
5
  HeaderBarButtonItemWithMenu,
5
6
  } from '../../types';
6
7
 
8
+ // Local nominal type so declaration emit doesn't resolve the RN alias down to
9
+ // the non-public `types_generated/.../AssetSourceResolver#ResolvedAssetSource`.
10
+ export interface ResolvedImageAsset extends ImageResolvedAssetSource {}
11
+
7
12
  const prepareMenu = (
8
13
  menu: HeaderBarButtonItemWithMenu['menu'],
9
14
  index: number,
@@ -57,7 +62,8 @@ export const prepareHeaderBarButtonItems = (
57
62
  if (item.type === 'spacing') {
58
63
  return item;
59
64
  }
60
- let imageSource, templateSource;
65
+ let imageSource: ResolvedImageAsset | undefined,
66
+ templateSource: ResolvedImageAsset | undefined;
61
67
  if (item.icon?.type === 'imageSource') {
62
68
  imageSource = Image.resolveAssetSource(item.icon.imageSource);
63
69
  } else if (item.icon?.type === 'templateSource') {
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- import { View } from 'react-native';
3
+ import type { ComponentRef } from 'react';
4
+ import type { View } from 'react-native';
4
5
 
5
6
  /* eslint-disable */
6
7
 
@@ -16,7 +17,9 @@ export type HostInstance = {
16
17
  _viewConfig: Record<string, unknown>;
17
18
  };
18
19
 
19
- export function getShadowNodeWrapperAndTagFromRef(ref: View | null): {
20
+ export function getShadowNodeWrapperAndTagFromRef(
21
+ ref: ComponentRef<typeof View> | null,
22
+ ): {
20
23
  shadowNodeWrapper: any;
21
24
  tag: number;
22
25
  } {
@@ -4,7 +4,6 @@ import {
4
4
  ViewProps,
5
5
  View,
6
6
  TargetedEvent,
7
- TextInputFocusEventData,
8
7
  ColorValue,
9
8
  } from 'react-native';
10
9
 
@@ -16,6 +15,16 @@ import type {
16
15
  UserInterfaceStyle,
17
16
  } from '../components/shared/types';
18
17
 
18
+ /**
19
+ * `react-native` 0.87 removed the `TextInputFocusEventData` export (in favor of `TextInputFocusEvent`).
20
+ * We keep a local copy of the previous data shape to keep `SearchBarProps['onChangeText']`
21
+ * backward compatible.
22
+ */
23
+ export interface SearchBarTextEventData extends TargetedEvent {
24
+ eventCount: number;
25
+ text: string;
26
+ }
27
+
19
28
  export type SearchBarCommands = {
20
29
  focus: () => void;
21
30
  blur: () => void;
@@ -333,7 +342,7 @@ export interface ScreenProps extends ViewProps {
333
342
  * @platform ios
334
343
  */
335
344
  preventNativeDismiss?: boolean | undefined;
336
- ref?: React.Ref<View> | undefined;
345
+ ref?: React.Ref<React.ComponentRef<typeof View>> | undefined;
337
346
  /**
338
347
  * How should the screen replacing another screen animate. Defaults to `pop`.
339
348
  * The following values are currently supported:
@@ -362,6 +371,16 @@ export interface ScreenProps extends ViewProps {
362
371
  * - "landscape" – landscape orientations are permitted
363
372
  * - "landscape_left" – landscape-left orientation is permitted
364
373
  * - "landscape_right" – landscape-right orientation is permitted
374
+ *
375
+ * @remarks
376
+ * iOS only: when `screenOrientation` is omitted entirely and the
377
+ * `featureFlags.experiment.iosOrientationInheritanceFixEnabled` flag is
378
+ * enabled (the default), a legacy `Screen` no longer forces
379
+ * "all-but-upside-down". Instead it defers to its parent screen's
380
+ * orientation, ultimately falling back to the app's `Info.plist` supported
381
+ * orientations. Setting `screenOrientation: "default"` explicitly keeps the
382
+ * previous "all-but-upside-down" (iPhone) / "all" (iPad) behavior.
383
+ * See https://github.com/software-mansion/react-native-screens/pull/4408
365
384
  */
366
385
  screenOrientation?: ScreenOrientationTypes | undefined;
367
386
  /**
@@ -995,7 +1014,7 @@ export interface SearchBarProps {
995
1014
  * A callback that gets called when the text changes. It receives the current text value of the search bar.
996
1015
  */
997
1016
  onChangeText?:
998
- | ((e: NativeSyntheticEvent<TextInputFocusEventData>) => void)
1017
+ | ((e: NativeSyntheticEvent<SearchBarTextEventData>) => void)
999
1018
  | undefined;
1000
1019
 
1001
1020
  /**
@@ -1018,7 +1037,7 @@ export interface SearchBarProps {
1018
1037
  * A callback that gets called when the search button is pressed. It receives the current text value of the search bar.
1019
1038
  */
1020
1039
  onSearchButtonPress?:
1021
- | ((e: NativeSyntheticEvent<TextInputFocusEventData>) => void)
1040
+ | ((e: NativeSyntheticEvent<SearchBarTextEventData>) => void)
1022
1041
  | undefined;
1023
1042
  /**
1024
1043
  * Text displayed when search field is empty
@@ -1263,6 +1282,7 @@ export interface HeaderBarButtonItemMenuAction {
1263
1282
  export interface HeaderBarButtonItemSubmenu {
1264
1283
  type: 'submenu';
1265
1284
  title?: string | undefined;
1285
+ subtitle?: string | undefined;
1266
1286
  icon?: PlatformIconIOS | undefined;
1267
1287
  items: HeaderBarButtonItemWithMenu['menu']['items'];
1268
1288
  displayInline?: boolean | undefined;
@@ -1348,7 +1368,10 @@ export type AnimatedScreenTransition = {
1348
1368
  ) => Record<string, unknown>;
1349
1369
  };
1350
1370
 
1351
- export type ScreensRefsHolder = Record<string, React.RefObject<View>>;
1371
+ export type ScreensRefsHolder = Record<
1372
+ string,
1373
+ React.RefObject<React.ComponentRef<typeof View>>
1374
+ >;
1352
1375
 
1353
1376
  export interface GestureProps {
1354
1377
  screensRefs?: React.MutableRefObject<ScreensRefsHolder> | undefined;
@@ -1,8 +1,10 @@
1
1
  import * as React from 'react';
2
2
 
3
- import TransitionProgressContext from './TransitionProgressContext';
3
+ import TransitionProgressContext, {
4
+ type TransitionProgressContextBody,
5
+ } from './TransitionProgressContext';
4
6
 
5
- export default function useTransitionProgress() {
7
+ export default function useTransitionProgress(): TransitionProgressContextBody {
6
8
  const progress = React.useContext(TransitionProgressContext);
7
9
 
8
10
  if (progress === undefined) {
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { findNodeHandle, ReactNativeElement } from 'react-native';
2
+ import { findNodeHandle, HostInstance } from 'react-native';
3
3
  import { RNSLog } from '../logging';
4
4
 
5
- export type NativeComponentGenericRef = React.Component & ReactNativeElement;
5
+ export type NativeComponentGenericRef = React.Component & HostInstance;
6
6
 
7
7
  // A hook that logs information when component is rendered, mounted and unmounted.
8
8
  // It returns a ref that can be passed to a component instance in order to
@@ -1,25 +0,0 @@
1
- package com.swmansion.rnscreens.modals.formsheet
2
-
3
- import com.google.android.material.bottomsheet.BottomSheetDialog
4
- import com.swmansion.rnscreens.modals.dimmingview.DimmingViewManager
5
-
6
- internal class FormSheetNativeDismissCoordinator(
7
- private val dialog: BottomSheetDialog,
8
- private val dimmingManager: DimmingViewManager,
9
- private val onNativeDismiss: () -> Unit,
10
- ) {
11
- internal fun setup() {
12
- dialog.setOnCancelListener {
13
- onNativeDismiss()
14
- }
15
-
16
- dimmingManager.setOnBackdropClickListener {
17
- onNativeDismiss()
18
- }
19
- }
20
-
21
- internal fun destroy() {
22
- dimmingManager.setOnBackdropClickListener {}
23
- dialog.setOnCancelListener(null)
24
- }
25
- }
@@ -1,7 +0,0 @@
1
- import Foundation
2
-
3
- @objc
4
- public protocol ReactMountingTransactionObserving {
5
- func reactMountingTransactionWillMount()
6
- func reactMountingTransactionDidMount()
7
- }
@@ -1,7 +0,0 @@
1
- #pragma once
2
-
3
- #if __has_include(<RNScreens/RNScreens-Swift.h>)
4
- #import <RNScreens/RNScreens-Swift.h>
5
- #else
6
- #import "RNScreens-Swift.h"
7
- #endif
@@ -1,6 +0,0 @@
1
- // TODO: investigate objc - swift interop and deduplicate this code
2
- // This class needs to follow the RNSOrientationProviding from objc.
3
- @objc
4
- public protocol RNSOrientationProvidingSwift {
5
- func evaluateOrientation() -> RNSOrientationSwift
6
- }
@@ -1,14 +0,0 @@
1
- // TODO: investigate objc - swift interop and deduplicate this code
2
- // This enum needs to follow the RNSOrientation from objc.
3
- @objc
4
- public enum RNSOrientationSwift: Int {
5
- case inherit
6
- case all
7
- case allButUpsideDown
8
- case portrait
9
- case portraitUp
10
- case portraitDown
11
- case landscape
12
- case landscapeLeft
13
- case landscapeRight
14
- }