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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/README.md +0 -4
  2. package/android/build.gradle +1 -0
  3. package/android/consumer-rules.pro +3 -0
  4. package/android/src/fabric/java/com/swmansion/rnscreens/legacy/FabricEnabledHeaderConfigViewGroup.kt +2 -0
  5. package/android/src/fabric/java/com/swmansion/rnscreens/legacy/FabricEnabledHeaderSubviewViewGroup.kt +2 -0
  6. package/android/src/fabric/java/com/swmansion/rnscreens/legacy/FabricEnabledViewGroup.kt +18 -3
  7. package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +2 -2
  8. package/android/src/main/java/com/swmansion/rnscreens/ScreensModule.kt +7 -3
  9. package/android/src/main/java/com/swmansion/rnscreens/common/colorscheme/ColorSchemeCoordinator.kt +11 -1
  10. package/android/src/main/java/com/swmansion/rnscreens/common/container/Container.kt +9 -0
  11. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetAppearanceCoordinator.kt +2 -2
  12. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetBehaviorController.kt +2 -2
  13. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetDimensionsCoordinator.kt +6 -6
  14. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetKeyboardCoordinator.kt +1 -1
  15. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/coordinator/FormSheetNativeDismissCoordinator.kt +2 -2
  16. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native/core → core/modals/formsheet/dialog}/FormSheetAvailableHeightProvider.kt +1 -1
  17. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native/core → core/modals/formsheet/dialog}/FormSheetContainer.kt +1 -1
  18. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native/core → core/modals/formsheet/dialog}/FormSheetDialog.kt +1 -1
  19. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native/core → core/modals/formsheet/dialog}/FormSheetDialogManager.kt +26 -8
  20. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/interfaces/FormSheetContentSizeChangeDelegate.kt +1 -1
  21. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/interfaces/FormSheetContentSizeChangeProvider.kt +1 -1
  22. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/interfaces/FormSheetDialogEventEmitter.kt +1 -1
  23. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/model/FormSheetConfig.kt +1 -1
  24. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/model/FormSheetDetents.kt +1 -1
  25. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetAnimatorFactory.kt +1 -1
  26. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetDimmingManager.kt +6 -18
  27. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetDismissalOrigin.kt +1 -1
  28. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetPresentation.kt +10 -10
  29. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetPresentationManager.kt +1 -1
  30. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetPresentationState.kt +1 -1
  31. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/native → core/modals/formsheet}/presentation/FormSheetStackRegistry.kt +1 -1
  32. package/android/src/main/java/com/swmansion/rnscreens/ext/FragmentManagerExt.kt +6 -0
  33. package/android/src/main/java/com/swmansion/rnscreens/helpers/FragmentManagerHelper.kt +0 -3
  34. package/android/src/main/java/com/swmansion/rnscreens/helpers/NoTintDrawable.kt +31 -0
  35. package/android/src/main/java/com/swmansion/rnscreens/helpers/ViewFinder.kt +0 -17
  36. package/android/src/main/java/com/swmansion/rnscreens/legacy/Screen.kt +29 -2
  37. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenContainer.kt +35 -3
  38. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStack.kt +13 -0
  39. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackHeaderConfig.kt +7 -1
  40. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackHeaderSubviewManager.kt +7 -0
  41. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenStackViewManager.kt +6 -0
  42. package/android/src/main/java/com/swmansion/rnscreens/legacy/bottomsheet/DimmingView.kt +2 -0
  43. package/android/src/main/java/com/swmansion/rnscreens/legacy/stack/views/ScreensCoordinatorLayout.kt +2 -0
  44. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/contentwrapper/FormSheetContentWrapper.kt +3 -3
  45. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/contentwrapper/FormSheetContentWrapperViewManager.kt +1 -1
  46. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDetentChangedEvent.kt +1 -1
  47. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDidAppearEvent.kt +1 -1
  48. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDidDisappearEvent.kt +1 -1
  49. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetDismissEvent.kt +1 -1
  50. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetNativeDismissEvent.kt +1 -1
  51. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetNativeDismissPreventedEvent.kt +1 -1
  52. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetSyncFlushEvent.kt +1 -1
  53. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetWillAppearEvent.kt +1 -1
  54. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/event/FormSheetWillDisappearEvent.kt +1 -1
  55. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetContentView.kt +3 -3
  56. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetHost.kt +5 -3
  57. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetHostEventEmitter.kt +11 -11
  58. package/android/src/main/java/com/swmansion/rnscreens/{modals/formsheet/react → react/modals/formsheet}/host/FormSheetHostViewManager.kt +10 -10
  59. package/android/src/main/java/com/swmansion/rnscreens/safearea/OnInterfaceInsetsChangeListener.kt +15 -0
  60. package/android/src/main/java/com/swmansion/rnscreens/safearea/SafeAreaProvider.kt +8 -8
  61. package/android/src/main/java/com/swmansion/rnscreens/safearea/SafeAreaView.kt +3 -2
  62. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderApplicator.kt +0 -52
  63. package/android/src/main/java/com/swmansion/rnscreens/stack/header/StackHeaderCoordinatorLayout.kt +112 -59
  64. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderAppBarLayout.kt +1 -1
  65. package/android/src/main/java/com/swmansion/rnscreens/stack/header/appbar/StackHeaderToolbar.kt +74 -0
  66. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfig.kt +4 -73
  67. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationObserver.kt +5 -2
  68. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderConfigurationProviding.kt +0 -6
  69. package/android/src/main/java/com/swmansion/rnscreens/stack/header/config/StackHeaderInvalidationFlags.kt +3 -7
  70. package/android/src/main/java/com/swmansion/rnscreens/stack/host/FragmentOperation.kt +1 -0
  71. package/android/src/main/java/com/swmansion/rnscreens/stack/host/FragmentOperationExecutor.kt +2 -1
  72. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainer.kt +57 -19
  73. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainerDelegate.kt +7 -0
  74. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackContainerUpdateCoordinator.kt +5 -3
  75. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackHost.kt +14 -5
  76. package/android/src/main/java/com/swmansion/rnscreens/stack/host/StackUpdateBatchStateProviding.kt +10 -0
  77. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/PreventNativeDismissCallback.kt +2 -2
  78. package/android/src/main/java/com/swmansion/rnscreens/stack/screen/StackScreenFragment.kt +33 -12
  79. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceApplicator.kt +106 -10
  80. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceCoordinator.kt +44 -3
  81. package/android/src/main/java/com/swmansion/rnscreens/tabs/appearance/TabsAppearanceModel.kt +3 -0
  82. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/CustomBottomNavigationView.kt +21 -1
  83. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/TabsContainer.kt +28 -13
  84. package/android/src/main/java/com/swmansion/rnscreens/tabs/container/TabsContainerDelegate.kt +11 -0
  85. package/android/src/main/java/com/swmansion/rnscreens/tabs/host/TabsHost.kt +12 -2
  86. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreen.kt +41 -17
  87. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenDelegate.kt +6 -0
  88. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenIcon.kt +82 -0
  89. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenIconTinting.kt +17 -0
  90. package/android/src/main/java/com/swmansion/rnscreens/tabs/screen/TabsScreenViewManager.kt +26 -19
  91. package/android/src/main/java/com/swmansion/rnscreens/utils/DimensionUtils.kt +14 -7
  92. package/android/src/main/java/com/swmansion/rnscreens/utils/RNSLog.kt +22 -6
  93. package/ios/RNSEnums.h +14 -1
  94. package/ios/helpers/image/RNSImageLoadingHelper.h +7 -0
  95. package/ios/helpers/image/RNSImageLoadingHelper.mm +9 -0
  96. package/ios/legacy/RNSBarButtonItem.mm +15 -0
  97. package/ios/legacy/RNSConvert.h +6 -0
  98. package/ios/legacy/RNSConvert.mm +17 -0
  99. package/ios/legacy/RNSNavigationBar.h +31 -0
  100. package/ios/legacy/RNSNavigationBar.mm +15 -0
  101. package/ios/legacy/RNSScreen.mm +122 -12
  102. package/ios/legacy/RNSScreenContentWrapper.mm +4 -1
  103. package/ios/legacy/RNSScreenStack.mm +202 -15
  104. package/ios/legacy/RNSScreenStackHeaderConfig.h +30 -0
  105. package/ios/legacy/RNSScreenStackHeaderConfig.mm +70 -17
  106. package/ios/legacy/RNSScreenStackHeaderSubview.mm +33 -0
  107. package/ios/safe-area/RNSSafeAreaViewComponentView.mm +1 -12
  108. package/ios/stack/conversion/RNSConversions-Stack.h +30 -0
  109. package/ios/stack/conversion/RNSConversions-Stack.mm +79 -0
  110. package/ios/stack/header/RNSHeaderItemVisibilityPriority.h +9 -0
  111. package/ios/stack/header/RNSStackHeaderConfigComponentView.h +4 -0
  112. package/ios/stack/header/RNSStackHeaderConfigComponentView.mm +40 -6
  113. package/ios/stack/header/RNSStackHeaderConfigDataProviding.h +5 -0
  114. package/ios/stack/header/RNSStackHeaderContentFactory.mm +3 -0
  115. package/ios/stack/header/RNSStackHeaderItemComponentView.h +9 -2
  116. package/ios/stack/header/RNSStackHeaderItemComponentView.mm +57 -3
  117. package/ios/stack/header/RNSStackHeaderItemDataProviding.h +5 -0
  118. package/ios/stack/header/RNSStackHeaderMenuCoordinator.h +13 -0
  119. package/ios/stack/header/RNSStackHeaderMenuCoordinator.mm +24 -0
  120. package/ios/stack/header/RNSStackHeaderMenuFinder.h +8 -1
  121. package/ios/stack/header/RNSStackHeaderMenuFinder.mm +26 -9
  122. package/ios/stack/screen/RNSStackScreenComponentView.h +2 -1
  123. package/ios/stack/screen/RNSStackScreenComponentView.mm +23 -0
  124. package/ios/stack/screen/RNSStackScreenHeaderCoordinator.mm +81 -8
  125. package/ios/tabs/RNSTabBarAppearanceCoordinator.mm +79 -16
  126. package/ios/tabs/RNSTabBarItemCoordinator.h +16 -0
  127. package/ios/tabs/RNSTabBarItemCoordinator.mm +143 -0
  128. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryWrapperView.h +24 -0
  129. package/ios/tabs/bottom-accessory/RNSTabsBottomAccessoryWrapperView.mm +22 -0
  130. package/ios/tabs/conversion/RNSConversions-Tabs.h +22 -0
  131. package/ios/tabs/conversion/RNSConversions-Tabs.mm +97 -3
  132. package/ios/tabs/host/RNSTabBarController.h +16 -0
  133. package/ios/tabs/host/RNSTabBarController.mm +516 -107
  134. package/ios/tabs/host/RNSTabsHostComponentView.h +2 -0
  135. package/ios/tabs/host/RNSTabsHostComponentView.mm +32 -2
  136. package/ios/tabs/screen/RNSTabsScreenComponentView.h +21 -0
  137. package/ios/tabs/screen/RNSTabsScreenComponentView.mm +54 -69
  138. package/ios/tabs/screen/RNSTabsScreenViewController.mm +1 -0
  139. package/ios/utils/RNSDefines.h +12 -7
  140. package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js +3 -2
  141. package/lib/commonjs/components/stack/header/StackHeaderConfig.android.js.map +1 -1
  142. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js +8 -3
  143. package/lib/commonjs/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  144. package/lib/commonjs/components/stack/header/StackHeaderConfig.js +17 -0
  145. package/lib/commonjs/components/stack/header/StackHeaderConfig.js.map +1 -0
  146. package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js +4 -1
  147. package/lib/commonjs/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
  148. package/lib/commonjs/components/stack/host/StackHost.js +8 -1
  149. package/lib/commonjs/components/stack/host/StackHost.js.map +1 -1
  150. package/lib/commonjs/components/stack/host/StackHost.web.js +0 -2
  151. package/lib/commonjs/components/stack/host/StackHost.web.js.map +1 -1
  152. package/lib/commonjs/components/stack/index.js.map +1 -1
  153. package/lib/commonjs/components/tabs/host/TabsHost.ios.js +2 -0
  154. package/lib/commonjs/components/tabs/host/TabsHost.ios.js.map +1 -1
  155. package/lib/commonjs/components/tabs/host/{TabsHost.web.js → TabsHost.js} +1 -1
  156. package/lib/commonjs/components/tabs/host/TabsHost.js.map +1 -0
  157. package/lib/commonjs/components/tabs/index.js.map +1 -1
  158. package/lib/commonjs/components/tabs/screen/TabsScreen.android.js +3 -1
  159. package/lib/commonjs/components/tabs/screen/TabsScreen.android.js.map +1 -1
  160. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.js +10 -1
  161. package/lib/commonjs/components/tabs/screen/TabsScreen.ios.js.map +1 -1
  162. package/lib/commonjs/components/tabs/screen/{TabsScreen.web.js → TabsScreen.js} +1 -1
  163. package/lib/commonjs/components/tabs/screen/TabsScreen.js.map +1 -0
  164. package/lib/commonjs/components/{stack/header/StackHeaderConfig.d.js → tabs/screen/TabsScreenIcon.types.js} +1 -1
  165. package/lib/commonjs/components/{stack/header/StackHeaderConfig.d.js.map → tabs/screen/TabsScreenIcon.types.js.map} +1 -1
  166. package/lib/commonjs/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  167. package/lib/commonjs/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
  168. package/lib/commonjs/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  169. package/lib/commonjs/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  170. package/lib/commonjs/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  171. package/lib/commonjs/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
  172. package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js +1 -1
  173. package/lib/commonjs/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
  174. package/lib/commonjs/legacy/components/ScreenStackItem.js +31 -11
  175. package/lib/commonjs/legacy/components/ScreenStackItem.js.map +1 -1
  176. package/lib/module/components/stack/header/StackHeaderConfig.android.js +4 -3
  177. package/lib/module/components/stack/header/StackHeaderConfig.android.js.map +1 -1
  178. package/lib/module/components/stack/header/StackHeaderConfig.ios.js +9 -4
  179. package/lib/module/components/stack/header/StackHeaderConfig.ios.js.map +1 -1
  180. package/lib/module/components/stack/header/StackHeaderConfig.js +10 -0
  181. package/lib/module/components/stack/header/StackHeaderConfig.js.map +1 -0
  182. package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js +4 -1
  183. package/lib/module/components/stack/header/ios/StackHeaderItem.ios.js.map +1 -1
  184. package/lib/module/components/stack/host/StackHost.js +9 -2
  185. package/lib/module/components/stack/host/StackHost.js.map +1 -1
  186. package/lib/module/components/stack/host/StackHost.web.js +0 -3
  187. package/lib/module/components/stack/host/StackHost.web.js.map +1 -1
  188. package/lib/module/components/stack/index.js.map +1 -1
  189. package/lib/module/components/tabs/host/TabsHost.ios.js +2 -0
  190. package/lib/module/components/tabs/host/TabsHost.ios.js.map +1 -1
  191. package/{src/components/tabs/host/TabsHost.web.tsx → lib/module/components/tabs/host/TabsHost.js} +1 -2
  192. package/lib/module/components/tabs/host/TabsHost.js.map +1 -0
  193. package/lib/module/components/tabs/index.js.map +1 -1
  194. package/lib/module/components/tabs/screen/TabsScreen.android.js +3 -1
  195. package/lib/module/components/tabs/screen/TabsScreen.android.js.map +1 -1
  196. package/lib/module/components/tabs/screen/TabsScreen.ios.js +10 -1
  197. package/lib/module/components/tabs/screen/TabsScreen.ios.js.map +1 -1
  198. package/{src/components/tabs/screen/TabsScreen.web.tsx → lib/module/components/tabs/screen/TabsScreen.js} +1 -2
  199. package/lib/module/components/tabs/screen/TabsScreen.js.map +1 -0
  200. package/lib/module/components/tabs/screen/TabsScreenIcon.types.js +2 -0
  201. package/lib/module/components/{stack/header/StackHeaderConfig.d.js.map → tabs/screen/TabsScreenIcon.types.js.map} +1 -1
  202. package/lib/module/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  203. package/lib/module/fabric/legacy/ScreenStackNativeComponent.js.map +1 -1
  204. package/lib/module/fabric/stack/StackHeaderConfigIOSNativeComponent.js.map +1 -1
  205. package/lib/module/fabric/stack/StackHeaderItemIOSNativeComponent.js.map +1 -1
  206. package/lib/module/fabric/tabs/TabsHostIOSNativeComponent.js.map +1 -1
  207. package/lib/module/fabric/tabs/TabsScreenAndroidNativeComponent.js.map +1 -1
  208. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js +1 -1
  209. package/lib/module/fabric/tabs/TabsScreenIOSNativeComponent.js.map +1 -1
  210. package/lib/module/legacy/components/ScreenStackItem.js +31 -11
  211. package/lib/module/legacy/components/ScreenStackItem.js.map +1 -1
  212. package/lib/typescript/components/stack/header/StackHeaderConfig.android.d.ts +6 -3
  213. package/lib/typescript/components/stack/header/StackHeaderConfig.android.d.ts.map +1 -1
  214. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts +4 -3
  215. package/lib/typescript/components/stack/header/StackHeaderConfig.android.types.d.ts.map +1 -1
  216. package/lib/typescript/components/stack/header/StackHeaderConfig.d.ts +8 -0
  217. package/lib/typescript/components/stack/header/StackHeaderConfig.d.ts.map +1 -0
  218. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts +6 -3
  219. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.d.ts.map +1 -1
  220. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts +137 -2
  221. package/lib/typescript/components/stack/header/StackHeaderConfig.ios.types.d.ts.map +1 -1
  222. package/lib/typescript/components/stack/header/StackHeaderConfig.types.d.ts +2 -0
  223. package/lib/typescript/components/stack/header/StackHeaderConfig.types.d.ts.map +1 -1
  224. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.d.ts.map +1 -1
  225. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts +5 -0
  226. package/lib/typescript/components/stack/header/ios/StackHeaderItem.ios.types.d.ts.map +1 -1
  227. package/lib/typescript/components/stack/host/StackHost.d.ts.map +1 -1
  228. package/lib/typescript/components/stack/host/StackHost.types.d.ts +24 -1
  229. package/lib/typescript/components/stack/host/StackHost.types.d.ts.map +1 -1
  230. package/lib/typescript/components/stack/host/StackHost.web.d.ts +1 -3
  231. package/lib/typescript/components/stack/host/StackHost.web.d.ts.map +1 -1
  232. package/lib/typescript/components/stack/index.d.ts +4 -3
  233. package/lib/typescript/components/stack/index.d.ts.map +1 -1
  234. package/lib/typescript/components/tabs/host/TabsHost.d.ts +5 -0
  235. package/lib/typescript/components/tabs/host/TabsHost.d.ts.map +1 -0
  236. package/lib/typescript/components/tabs/host/TabsHost.ios.d.ts.map +1 -1
  237. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts +56 -0
  238. package/lib/typescript/components/tabs/host/TabsHost.ios.types.d.ts.map +1 -1
  239. package/lib/typescript/components/tabs/index.d.ts +4 -6
  240. package/lib/typescript/components/tabs/index.d.ts.map +1 -1
  241. package/lib/typescript/components/tabs/screen/TabsScreen.android.d.ts.map +1 -1
  242. package/lib/typescript/components/tabs/screen/TabsScreen.android.types.d.ts +42 -7
  243. package/lib/typescript/components/tabs/screen/TabsScreen.android.types.d.ts.map +1 -1
  244. package/lib/typescript/components/tabs/screen/TabsScreen.d.ts +5 -0
  245. package/lib/typescript/components/tabs/screen/TabsScreen.d.ts.map +1 -0
  246. package/lib/typescript/components/tabs/screen/TabsScreen.ios.d.ts.map +1 -1
  247. package/lib/typescript/components/tabs/screen/TabsScreen.ios.types.d.ts +78 -13
  248. package/lib/typescript/components/tabs/screen/TabsScreen.ios.types.d.ts.map +1 -1
  249. package/lib/typescript/components/tabs/screen/TabsScreenIcon.types.d.ts +91 -0
  250. package/lib/typescript/components/tabs/screen/TabsScreenIcon.types.d.ts.map +1 -0
  251. package/lib/typescript/components/tabs/screen/index.d.ts +1 -0
  252. package/lib/typescript/components/tabs/screen/index.d.ts.map +1 -1
  253. package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts +2 -0
  254. package/lib/typescript/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
  255. package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts +1 -0
  256. package/lib/typescript/fabric/legacy/ScreenStackNativeComponent.d.ts.map +1 -1
  257. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts +4 -0
  258. package/lib/typescript/fabric/stack/StackHeaderConfigIOSNativeComponent.d.ts.map +1 -1
  259. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts +6 -0
  260. package/lib/typescript/fabric/stack/StackHeaderItemIOSNativeComponent.d.ts.map +1 -1
  261. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts +3 -0
  262. package/lib/typescript/fabric/tabs/TabsHostIOSNativeComponent.d.ts.map +1 -1
  263. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts +6 -0
  264. package/lib/typescript/fabric/tabs/TabsScreenAndroidNativeComponent.d.ts.map +1 -1
  265. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts +10 -1
  266. package/lib/typescript/fabric/tabs/TabsScreenIOSNativeComponent.d.ts.map +1 -1
  267. package/lib/typescript/legacy/components/ScreenStackItem.d.ts +25 -0
  268. package/lib/typescript/legacy/components/ScreenStackItem.d.ts.map +1 -1
  269. package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts +4 -0
  270. package/lib/typescript/legacy/components/helpers/prepareHeaderBarButtonItems.d.ts.map +1 -1
  271. package/lib/typescript/legacy/types.d.ts +30 -0
  272. package/lib/typescript/legacy/types.d.ts.map +1 -1
  273. package/package.json +4 -2
  274. package/src/components/stack/header/StackHeaderConfig.android.tsx +6 -20
  275. package/src/components/stack/header/StackHeaderConfig.android.types.ts +4 -3
  276. package/src/components/stack/header/StackHeaderConfig.ios.tsx +10 -16
  277. package/src/components/stack/header/StackHeaderConfig.ios.types.ts +148 -2
  278. package/src/components/stack/header/StackHeaderConfig.tsx +12 -0
  279. package/src/components/stack/header/StackHeaderConfig.types.ts +2 -0
  280. package/src/components/stack/header/ios/StackHeaderItem.ios.tsx +9 -1
  281. package/src/components/stack/header/ios/StackHeaderItem.ios.types.ts +5 -0
  282. package/src/components/stack/host/StackHost.tsx +10 -3
  283. package/src/components/stack/host/StackHost.types.ts +25 -1
  284. package/src/components/stack/host/StackHost.web.tsx +1 -4
  285. package/src/components/stack/index.ts +9 -1
  286. package/src/components/tabs/host/TabsHost.ios.tsx +2 -0
  287. package/src/components/tabs/host/TabsHost.ios.types.ts +60 -0
  288. package/src/components/tabs/host/TabsHost.tsx +7 -0
  289. package/src/components/tabs/index.ts +9 -0
  290. package/src/components/tabs/screen/TabsScreen.android.tsx +8 -3
  291. package/src/components/tabs/screen/TabsScreen.android.types.ts +42 -7
  292. package/src/components/tabs/screen/TabsScreen.ios.tsx +22 -5
  293. package/src/components/tabs/screen/TabsScreen.ios.types.ts +79 -17
  294. package/src/components/tabs/screen/TabsScreen.tsx +7 -0
  295. package/src/components/tabs/screen/TabsScreenIcon.types.ts +117 -0
  296. package/src/components/tabs/screen/index.ts +1 -0
  297. package/src/fabric/legacy/ScreenStackHeaderSubviewNativeComponent.ts +6 -0
  298. package/src/fabric/legacy/ScreenStackNativeComponent.ts +2 -0
  299. package/src/fabric/stack/StackHeaderConfigIOSNativeComponent.ts +11 -0
  300. package/src/fabric/stack/StackHeaderItemIOSNativeComponent.ts +11 -0
  301. package/src/fabric/tabs/TabsHostIOSNativeComponent.ts +7 -0
  302. package/src/fabric/tabs/TabsScreenAndroidNativeComponent.ts +9 -0
  303. package/src/fabric/tabs/TabsScreenIOSNativeComponent.ts +20 -2
  304. package/src/legacy/components/ScreenStackItem.tsx +59 -12
  305. package/src/legacy/types.ts +31 -0
  306. package/android/src/main/java/com/swmansion/rnscreens/legacy/ScreenModalFragment.kt +0 -281
  307. package/android/src/main/java/com/swmansion/rnscreens/legacy/bottomsheet/BottomSheetDialogRootView.kt +0 -104
  308. package/android/src/main/java/com/swmansion/rnscreens/legacy/bottomsheet/BottomSheetDialogScreen.kt +0 -26
  309. package/lib/commonjs/components/stack/header/StackHeaderConfig.web.js +0 -10
  310. package/lib/commonjs/components/stack/header/StackHeaderConfig.web.js.map +0 -1
  311. package/lib/commonjs/components/tabs/host/TabsHost.d.js +0 -2
  312. package/lib/commonjs/components/tabs/host/TabsHost.d.js.map +0 -1
  313. package/lib/commonjs/components/tabs/host/TabsHost.web.js.map +0 -1
  314. package/lib/commonjs/components/tabs/screen/TabsScreen.d.js +0 -2
  315. package/lib/commonjs/components/tabs/screen/TabsScreen.d.js.map +0 -1
  316. package/lib/commonjs/components/tabs/screen/TabsScreen.web.js.map +0 -1
  317. package/lib/module/components/stack/header/StackHeaderConfig.d.js +0 -2
  318. package/lib/module/components/stack/header/StackHeaderConfig.web.js +0 -4
  319. package/lib/module/components/stack/header/StackHeaderConfig.web.js.map +0 -1
  320. package/lib/module/components/tabs/host/TabsHost.d.js +0 -2
  321. package/lib/module/components/tabs/host/TabsHost.d.js.map +0 -1
  322. package/lib/module/components/tabs/host/TabsHost.web.js +0 -4
  323. package/lib/module/components/tabs/host/TabsHost.web.js.map +0 -1
  324. package/lib/module/components/tabs/screen/TabsScreen.d.js +0 -2
  325. package/lib/module/components/tabs/screen/TabsScreen.d.js.map +0 -1
  326. package/lib/module/components/tabs/screen/TabsScreen.web.js +0 -4
  327. package/lib/module/components/tabs/screen/TabsScreen.web.js.map +0 -1
  328. package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts +0 -7
  329. package/lib/typescript/components/stack/header/StackHeaderConfig.web.d.ts.map +0 -1
  330. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts +0 -7
  331. package/lib/typescript/components/tabs/host/TabsHost.web.d.ts.map +0 -1
  332. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts +0 -7
  333. package/lib/typescript/components/tabs/screen/TabsScreen.web.d.ts.map +0 -1
  334. package/src/components/stack/header/StackHeaderConfig.d.ts +0 -22
  335. package/src/components/stack/header/StackHeaderConfig.web.tsx +0 -5
  336. package/src/components/tabs/host/TabsHost.d.ts +0 -12
  337. package/src/components/tabs/screen/TabsScreen.d.ts +0 -12
@@ -1,281 +0,0 @@
1
- package com.swmansion.rnscreens.legacy
2
-
3
- import android.app.Activity
4
- import android.app.Dialog
5
- import android.content.Context
6
- import android.os.Build
7
- import android.os.Bundle
8
- import android.view.LayoutInflater
9
- import android.view.View
10
- import android.view.ViewGroup
11
- import android.view.ViewParent
12
- import android.view.WindowManager
13
- import androidx.fragment.app.Fragment
14
- import com.facebook.react.bridge.ReactContext
15
- import com.facebook.react.uimanager.UIManagerHelper
16
- import com.google.android.material.bottomsheet.BottomSheetBehavior
17
- import com.google.android.material.bottomsheet.BottomSheetDialog
18
- import com.google.android.material.bottomsheet.BottomSheetDialogFragment
19
- import com.swmansion.rnscreens.ext.parentAsView
20
- import com.swmansion.rnscreens.ext.recycle
21
- import com.swmansion.rnscreens.legacy.bottomsheet.BottomSheetDialogRootView
22
- import com.swmansion.rnscreens.legacy.bottomsheet.BottomSheetDialogScreen
23
- import com.swmansion.rnscreens.legacy.events.ScreenDismissedEvent
24
-
25
- class ScreenModalFragment :
26
- BottomSheetDialogFragment,
27
- ScreenStackFragmentWrapper {
28
- override lateinit var screen: Screen
29
-
30
- // Nested containers
31
- override val childScreenContainers = ArrayList<ScreenContainer>()
32
-
33
- private val container: ScreenStack?
34
- get() = screen.container as? ScreenStack
35
-
36
- /**
37
- * Dialog instance. Note that we are responsible for creating the dialog.
38
- * This member is valid after `onCreateDialog` method runs.
39
- */
40
- private lateinit var sheetDialog: BottomSheetDialog
41
-
42
- /**
43
- * Behaviour attached to bottom sheet dialog.
44
- * This member is valid after `onCreateDialog` method runs.
45
- */
46
- private val behavior
47
- get() = sheetDialog.behavior
48
-
49
- override val fragment: Fragment
50
- get() = this
51
-
52
- constructor() {
53
- throw IllegalStateException(
54
- "Screen fragments should never be restored. Follow instructions from https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704067 to properly configure your main activity.",
55
- )
56
- }
57
-
58
- constructor(screen: Screen) : super() {
59
- this.screen = screen
60
- }
61
-
62
- override fun onCreate(savedInstanceState: Bundle?) {
63
- super.onCreate(savedInstanceState)
64
- // Right now whole purpose of this Fragment is to be displayed as a dialog.
65
- // I've experimented with setting false here, but could not get it to work.
66
- showsDialog = true
67
- }
68
-
69
- // We override this method to provide our custom dialog type instead of the default Dialog.
70
- override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
71
- configureDialogAndBehaviour()
72
-
73
- val reactEventDispatcher =
74
- checkNotNull(
75
- screen.reactEventDispatcher,
76
- ) { "[RNScreens] No ReactEventDispatcher attached to screen while creating modal fragment" }
77
- val rootView = BottomSheetDialogRootView(screen.reactContext, reactEventDispatcher)
78
-
79
- rootView.addView(screen.recycle())
80
- sheetDialog.setContentView(rootView)
81
-
82
- rootView.parentAsView()?.clipToOutline = true
83
-
84
- return sheetDialog
85
- }
86
-
87
- override fun onCreateView(
88
- inflater: LayoutInflater,
89
- container: ViewGroup?,
90
- savedInstanceState: Bundle?,
91
- ): View? = null
92
-
93
- override fun isTranslucent(): Boolean = true
94
-
95
- override fun dismissFromContainer() {
96
- check(container is ScreenStack)
97
- val container = container as ScreenStack
98
- container.dismiss(this)
99
- }
100
-
101
- // Modal can never be first on the stack
102
- override fun canNavigateBack(): Boolean = true
103
-
104
- override fun addChildScreenContainer(container: ScreenContainer) {
105
- childScreenContainers.add(container)
106
- }
107
-
108
- override fun removeChildScreenContainer(container: ScreenContainer) {
109
- childScreenContainers.remove(container)
110
- }
111
-
112
- override fun onContainerUpdate() {
113
- }
114
-
115
- override fun onViewAnimationStart() {
116
- }
117
-
118
- override fun onViewAnimationEnd() {
119
- }
120
-
121
- override fun tryGetActivity(): Activity? = requireActivity()
122
-
123
- override fun tryGetContext(): ReactContext? {
124
- if (context is ReactContext) {
125
- return context as ReactContext
126
- }
127
- if (screen.context is ReactContext) {
128
- return screen.context as ReactContext
129
- }
130
-
131
- var parent: ViewParent? = screen.container
132
- while (parent != null) {
133
- if (parent is Screen && parent.context is ReactContext) {
134
- return parent.context as ReactContext
135
- }
136
- parent = parent.parent
137
- }
138
-
139
- return null
140
- }
141
-
142
- override fun canDispatchLifecycleEvent(event: ScreenFragment.ScreenLifecycleEvent): Boolean {
143
- TODO("Not yet implemented")
144
- }
145
-
146
- override fun updateLastEventDispatched(event: ScreenFragment.ScreenLifecycleEvent) {
147
- TODO("Not yet implemented")
148
- }
149
-
150
- override fun dispatchLifecycleEvent(
151
- event: ScreenFragment.ScreenLifecycleEvent,
152
- fragmentWrapper: ScreenFragmentWrapper,
153
- ) {
154
- TODO("Not yet implemented")
155
- }
156
-
157
- override fun dispatchLifecycleEventInChildContainers(event: ScreenFragment.ScreenLifecycleEvent) {
158
- TODO("Not yet implemented")
159
- }
160
-
161
- override fun dispatchHeaderBackButtonClickedEvent() {
162
- TODO("Not yet implemented")
163
- }
164
-
165
- override fun dispatchTransitionProgressEvent(
166
- alpha: Float,
167
- closing: Boolean,
168
- ) {
169
- TODO("Not yet implemented")
170
- }
171
-
172
- override fun onDestroy() {
173
- super.onDestroy()
174
- val container = container
175
- if (container == null || !container.hasScreen(this)) {
176
- val screenContext = screen.context
177
- if (screenContext is ReactContext) {
178
- val surfaceId = UIManagerHelper.getSurfaceId(screenContext)
179
- UIManagerHelper
180
- .getEventDispatcherForReactTag(screenContext, screen.id)
181
- ?.dispatchEvent(ScreenDismissedEvent(surfaceId, screen.id))
182
- }
183
- }
184
- childScreenContainers.clear()
185
- }
186
-
187
- override fun removeToolbar(): Unit = throw IllegalStateException("[RNScreens] Modal screens on Android do not support header right now")
188
-
189
- override fun setToolbar(toolbar: CustomToolbar): Unit =
190
- throw IllegalStateException("[RNScreens] Modal screens on Android do not support header right now")
191
-
192
- override fun setToolbarShadowHidden(hidden: Boolean): Unit =
193
- throw IllegalStateException("[RNScreens] Modal screens on Android do not support header right now")
194
-
195
- override fun setToolbarTranslucent(translucent: Boolean): Unit =
196
- throw IllegalStateException("[RNScreens] Modal screens on Android do not support header right now")
197
-
198
- private fun configureDialogAndBehaviour(): BottomSheetDialog {
199
- sheetDialog = BottomSheetDialogScreen(requireContext(), this)
200
- sheetDialog.dismissWithAnimation = true
201
- sheetDialog.setCanceledOnTouchOutside(screen.sheetClosesOnTouchOutside)
202
-
203
- configureBehaviour()
204
-
205
- return sheetDialog
206
- }
207
-
208
- /**
209
- * This method might return slightly different values depending on code path,
210
- * but during testing I've found this effect negligible. For practical purposes
211
- * this is acceptable.
212
- */
213
- private fun tryResolveContainerHeight(): Int? {
214
- screen.container?.height?.let { return it }
215
- context
216
- ?.resources
217
- ?.displayMetrics
218
- ?.heightPixels
219
- ?.let { return it }
220
-
221
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
222
- (context?.getSystemService(Context.WINDOW_SERVICE) as? WindowManager)
223
- ?.currentWindowMetrics
224
- ?.bounds
225
- ?.height()
226
- ?.let { return it }
227
- }
228
- return null
229
- }
230
-
231
- private fun configureBehaviour() {
232
- val containerHeight = tryResolveContainerHeight()
233
- check(containerHeight != null) { "[RNScreens] Failed to find window height during bottom sheet behaviour configuration" }
234
-
235
- behavior.apply {
236
- isHideable = true
237
- isDraggable = true
238
- }
239
-
240
- when (screen.sheetDetents.count) {
241
- 1 ->
242
- behavior.apply {
243
- state = BottomSheetBehavior.STATE_EXPANDED
244
- skipCollapsed = true
245
- isFitToContents = true
246
- maxHeight = screen.sheetDetents.maxAllowedHeight(containerHeight)
247
- }
248
-
249
- 2 ->
250
- behavior.apply {
251
- state =
252
- screen.sheetDetents.sheetStateFromIndex(
253
- screen.sheetInitialDetentIndex,
254
- )
255
- skipCollapsed = false
256
- isFitToContents = true
257
- peekHeight = screen.sheetDetents.peekHeight(containerHeight)
258
- maxHeight = screen.sheetDetents.maxAllowedHeight(containerHeight)
259
- }
260
-
261
- 3 ->
262
- behavior.apply {
263
- state =
264
- screen.sheetDetents.sheetStateFromIndex(
265
- screen.sheetInitialDetentIndex,
266
- )
267
- skipCollapsed = false
268
- isFitToContents = false
269
- peekHeight = screen.sheetDetents.peekHeight(containerHeight)
270
- expandedOffset = screen.sheetDetents.expandedOffsetFromTop(containerHeight)
271
- halfExpandedRatio = screen.sheetDetents.halfExpandedRatio()
272
- }
273
-
274
- else -> throw IllegalStateException("[RNScreens] Invalid detent count ${screen.sheetDetents.count}. Expected at most 3.")
275
- }
276
- }
277
-
278
- companion object {
279
- const val TAG = "ScreenModalFragment"
280
- }
281
- }
@@ -1,104 +0,0 @@
1
- package com.swmansion.rnscreens.legacy.bottomsheet
2
-
3
- import android.annotation.SuppressLint
4
- import android.view.MotionEvent
5
- import android.view.View
6
- import com.facebook.react.bridge.ReactContext
7
- import com.facebook.react.config.ReactFeatureFlags
8
- import com.facebook.react.uimanager.JSPointerDispatcher
9
- import com.facebook.react.uimanager.JSTouchDispatcher
10
- import com.facebook.react.uimanager.RootView
11
- import com.facebook.react.uimanager.events.EventDispatcher
12
- import com.facebook.react.views.view.ReactViewGroup
13
-
14
- @SuppressLint("ViewConstructor")
15
- class BottomSheetDialogRootView(
16
- val reactContext: ReactContext?,
17
- private val eventDispatcher: EventDispatcher,
18
- ) : ReactViewGroup(reactContext),
19
- RootView {
20
- private val jsTouchDispatcher: JSTouchDispatcher = JSTouchDispatcher(this)
21
- private var jsPointerDispatcher: JSPointerDispatcher? = null
22
-
23
- init {
24
- // Can we safely use ReactFeatureFlags?
25
- if (ReactFeatureFlags.dispatchPointerEvents) {
26
- jsPointerDispatcher = JSPointerDispatcher(this)
27
- }
28
- }
29
-
30
- override fun onLayout(
31
- changed: Boolean,
32
- l: Int,
33
- t: Int,
34
- r: Int,
35
- b: Int,
36
- ) {
37
- if (changed) {
38
- // This view is used right now only in ScreenModalFragment, where it is injected
39
- // to view hierarchy as a parent of a Screen.
40
- assert(childCount == 1) { "[RNScreens] Expected only a single child view under $TAG, received: $childCount" }
41
- getChildAt(0).layout(l, t, r, b)
42
- }
43
- }
44
-
45
- override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
46
- jsTouchDispatcher.handleTouchEvent(event, eventDispatcher)
47
- jsPointerDispatcher?.handleMotionEvent(event, eventDispatcher, true)
48
- return super.onInterceptTouchEvent(event)
49
- }
50
-
51
- override fun onTouchEvent(event: MotionEvent): Boolean {
52
- jsTouchDispatcher.handleTouchEvent(event, eventDispatcher)
53
- jsPointerDispatcher?.handleMotionEvent(event, eventDispatcher, false)
54
- super.onTouchEvent(event)
55
- return true
56
- }
57
-
58
- override fun onInterceptHoverEvent(event: MotionEvent): Boolean {
59
- jsPointerDispatcher?.handleMotionEvent(event, eventDispatcher, true)
60
- // This is how DialogRootViewGroup implements this, it might be a copy-paste mistake
61
- // on their side.
62
- return super.onHoverEvent(event)
63
- }
64
-
65
- override fun onHoverEvent(event: MotionEvent): Boolean {
66
- jsPointerDispatcher?.handleMotionEvent(event, eventDispatcher, false)
67
- return super.onHoverEvent(event)
68
- }
69
-
70
- override fun onChildStartedNativeGesture(
71
- view: View?,
72
- event: MotionEvent,
73
- ) {
74
- jsTouchDispatcher.onChildStartedNativeGesture(event, eventDispatcher)
75
- jsPointerDispatcher?.onChildStartedNativeGesture(view, event, eventDispatcher)
76
- }
77
-
78
- @Deprecated("Deprecated by React Native")
79
- override fun onChildStartedNativeGesture(event: MotionEvent): Unit =
80
- throw IllegalStateException("Deprecated onChildStartedNativeGesture was called")
81
-
82
- override fun onChildEndedNativeGesture(
83
- view: View,
84
- event: MotionEvent,
85
- ) {
86
- jsTouchDispatcher.onChildEndedNativeGesture(event, eventDispatcher)
87
- jsPointerDispatcher?.onChildEndedNativeGesture()
88
- }
89
-
90
- override fun requestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {
91
- // We do not pass through request of our child up the view hierarchy, as we
92
- // need to keep receiving events.
93
- }
94
-
95
- override fun handleException(throwable: Throwable) {
96
- // TODO: I need ThemedReactContext here.
97
- // TODO: Determine where it is initially created & verify its lifecycle
98
- // reactContext?.reactApplicationContext?.handleException(RuntimeException(throwable))
99
- }
100
-
101
- companion object {
102
- const val TAG = "BottomSheetDialogRootView"
103
- }
104
- }
@@ -1,26 +0,0 @@
1
- package com.swmansion.rnscreens.legacy.bottomsheet
2
-
3
- import android.content.Context
4
- import com.google.android.material.bottomsheet.BottomSheetDialog
5
- import com.swmansion.rnscreens.legacy.ScreenModalFragment
6
- import java.lang.ref.WeakReference
7
-
8
- class BottomSheetDialogScreen(
9
- context: Context,
10
- fragment: ScreenModalFragment,
11
- ) : BottomSheetDialog(context) {
12
- private val fragmentRef: WeakReference<ScreenModalFragment> = WeakReference(fragment)
13
-
14
- // There are various code paths leading to this method, however the one I'm concerned with
15
- // is dismissal via swipe-down. If the sheet is dismissed we don't want the native dismiss logic
16
- // to run, as this will lead to inconsistencies in ScreenStack state. Instead we intercept
17
- // dismiss intention and run our logic.
18
- override fun cancel() {
19
- fragmentRef.get()!!.dismissFromContainer()
20
- this.show()
21
- }
22
-
23
- companion object {
24
- val TAG = BottomSheetDialogScreen::class.simpleName
25
- }
26
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _reactNative = require("react-native");
8
- const StackHeaderConfig = _reactNative.View;
9
- var _default = exports.default = StackHeaderConfig;
10
- //# sourceMappingURL=StackHeaderConfig.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","StackHeaderConfig","View","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["components/stack/header/StackHeaderConfig.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,iBAAiB,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhBJ,iBAAiB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=TabsHost.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/tabs/host/TabsHost.d.ts"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","TabsHost","View","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["components/tabs/host/TabsHost.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEPJ,QAAQ","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=TabsScreen.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/tabs/screen/TabsScreen.d.ts"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","TabsScreen","View","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["components/tabs/screen/TabsScreen.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAETJ,UAAU","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=StackHeaderConfig.d.js.map
@@ -1,4 +0,0 @@
1
- import { View } from 'react-native';
2
- const StackHeaderConfig = View;
3
- export default StackHeaderConfig;
4
- //# sourceMappingURL=StackHeaderConfig.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["View","StackHeaderConfig"],"sourceRoot":"../../../../../src","sources":["components/stack/header/StackHeaderConfig.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,MAAMC,iBAAiB,GAAGD,IAAI;AAE9B,eAAeC,iBAAiB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=TabsHost.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/tabs/host/TabsHost.d.ts"],"mappings":"","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import { View } from 'react-native';
2
- const TabsHost = View;
3
- export default TabsHost;
4
- //# sourceMappingURL=TabsHost.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["View","TabsHost"],"sourceRoot":"../../../../../src","sources":["components/tabs/host/TabsHost.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,MAAMC,QAAQ,GAAGD,IAAI;AAErB,eAAeC,QAAQ","ignoreList":[]}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=TabsScreen.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/tabs/screen/TabsScreen.d.ts"],"mappings":"","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import { View } from 'react-native';
2
- const TabsScreen = View;
3
- export default TabsScreen;
4
- //# sourceMappingURL=TabsScreen.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["View","TabsScreen"],"sourceRoot":"../../../../../src","sources":["components/tabs/screen/TabsScreen.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,MAAMC,UAAU,GAAGD,IAAI;AAEvB,eAAeC,UAAU","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- declare const StackHeaderConfig: (props: Omit<import("react-native").ViewProps, keyof {
2
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
3
- }> & {
4
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
5
- }) => React.ReactNode;
6
- export default StackHeaderConfig;
7
- //# sourceMappingURL=StackHeaderConfig.web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StackHeaderConfig.web.d.ts","sourceRoot":"","sources":["../../../../../src/components/stack/header/StackHeaderConfig.web.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,iBAAiB;OAG+hB,CAAC;;OAAmD,CAAC;qBAH7kB,CAAC;AAE/B,eAAe,iBAAiB,CAAC"}
@@ -1,7 +0,0 @@
1
- declare const TabsHost: (props: Omit<import("react-native").ViewProps, keyof {
2
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
3
- }> & {
4
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
5
- }) => React.ReactNode;
6
- export default TabsHost;
7
- //# sourceMappingURL=TabsHost.web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabsHost.web.d.ts","sourceRoot":"","sources":["../../../../../src/components/tabs/host/TabsHost.web.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ;OAG0jB,CAAC;;OAAmD,CAAC;qBAHxmB,CAAC;AAEtB,eAAe,QAAQ,CAAC"}
@@ -1,7 +0,0 @@
1
- declare const TabsScreen: (props: Omit<import("react-native").ViewProps, keyof {
2
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
3
- }> & {
4
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
5
- }) => React.ReactNode;
6
- export default TabsScreen;
7
- //# sourceMappingURL=TabsScreen.web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabsScreen.web.d.ts","sourceRoot":"","sources":["../../../../../src/components/tabs/screen/TabsScreen.web.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU;OAGojB,CAAC;;OAAmD,CAAC;qBAHlmB,CAAC;AAExB,eAAe,UAAU,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * TS module resolution does not support this RN platform extension pattern out of the box.
3
- * Without a base .tsx file, TS will throw a "Cannot find module" error.
4
- *
5
- * This file satisfies the TS compiler by providing the correct type signatures,
6
- * whereas Metro will handle the proper runtime file resolution.
7
- */
8
-
9
- import React from 'react';
10
- import type {
11
- StackHeaderConfigProps,
12
- StackHeaderConfigRef,
13
- } from './StackHeaderConfig.types';
14
-
15
- /**
16
- * EXPERIMENTAL API, MIGHT CHANGE W/O ANY NOTICE
17
- */
18
- declare const StackHeaderConfig: React.ForwardRefExoticComponent<
19
- StackHeaderConfigProps & React.RefAttributes<StackHeaderConfigRef>
20
- >;
21
-
22
- export default StackHeaderConfig;
@@ -1,5 +0,0 @@
1
- import { View } from 'react-native';
2
-
3
- const StackHeaderConfig = View;
4
-
5
- export default StackHeaderConfig;
@@ -1,12 +0,0 @@
1
- /**
2
- * TS module resolution does not support this RN platform extension pattern out of the box.
3
- * Without a base .tsx file, TS will throw a "Cannot find module" error.
4
- *
5
- * This file satisfies the TS compiler by providing the correct type signatures,
6
- * whereas Metro will handle the proper runtime file resolution.
7
- */
8
-
9
- import React from 'react';
10
- import { TabsHostProps } from './TabsHost.types';
11
-
12
- export default function TabsHost(props: TabsHostProps): React.JSX.Element;
@@ -1,12 +0,0 @@
1
- /**
2
- * TS module resolution does not support this RN platform extension pattern out of the box.
3
- * Without a base .tsx file, TS will throw a "Cannot find module" error.
4
- *
5
- * This file satisfies the TS compiler by providing the correct type signatures,
6
- * whereas Metro will handle the proper runtime file resolution.
7
- */
8
-
9
- import React from 'react';
10
- import { TabsScreenProps } from './TabsScreen.types';
11
-
12
- export default function TabsScreen(props: TabsScreenProps): React.JSX.Element;