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,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.event
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableMap
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.event
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableMap
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.event
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableMap
@@ -0,0 +1,29 @@
1
+ package com.swmansion.rnscreens.modals.formsheet.react.event
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.swmansion.rnscreens.common.event.NamingAwareEventType
7
+
8
+ class FormSheetNativeDismissPreventedEvent(
9
+ surfaceId: Int,
10
+ viewId: Int,
11
+ ) : Event<FormSheetNativeDismissPreventedEvent>(surfaceId, viewId),
12
+ NamingAwareEventType {
13
+ override fun getEventName(): String = EVENT_NAME
14
+
15
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
16
+
17
+ override fun getEventData(): WritableMap? = Arguments.createMap()
18
+
19
+ override fun canCoalesce(): Boolean = false
20
+
21
+ companion object : NamingAwareEventType {
22
+ const val EVENT_NAME = "topNativeDismissPrevented"
23
+ const val EVENT_REGISTRATION_NAME = "onNativeDismissPrevented"
24
+
25
+ override fun getEventName() = EVENT_NAME
26
+
27
+ override fun getEventRegistrationName() = EVENT_REGISTRATION_NAME
28
+ }
29
+ }
@@ -1,6 +1,6 @@
1
1
  // Implementation adapted from `expo`: https://github.com/expo/expo/pull/45775
2
2
 
3
- package com.swmansion.rnscreens.modals.formsheet
3
+ package com.swmansion.rnscreens.modals.formsheet.react.event
4
4
 
5
5
  import com.facebook.react.bridge.Arguments
6
6
  import com.facebook.react.bridge.WritableMap
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.event
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableMap
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.event
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.WritableMap
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.host
2
2
 
3
3
  import android.annotation.SuppressLint
4
4
  import android.content.Context
@@ -18,6 +18,8 @@ import com.facebook.react.uimanager.common.UIManagerType
18
18
  import com.facebook.react.uimanager.events.EventDispatcher
19
19
  import com.facebook.react.views.view.ReactViewGroup
20
20
  import com.swmansion.rnscreens.helpers.getFabricUIManagerNotNull
21
+ import com.swmansion.rnscreens.modals.formsheet.native.interfaces.FormSheetContentSizeChangeDelegate
22
+ import com.swmansion.rnscreens.modals.formsheet.native.interfaces.FormSheetContentSizeChangeProvider
21
23
 
22
24
  @OptIn(UnstableReactNativeAPI::class)
23
25
  @SuppressLint("ViewConstructor")
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.host
2
2
 
3
3
  import android.view.View
4
4
  import android.view.ViewGroup
@@ -6,6 +6,8 @@ import com.facebook.react.uimanager.PointerEvents
6
6
  import com.facebook.react.uimanager.ReactPointerEventsView
7
7
  import com.facebook.react.uimanager.ThemedReactContext
8
8
  import com.swmansion.rnscreens.common.ShadowStateProxy
9
+ import com.swmansion.rnscreens.modals.formsheet.native.core.FormSheetDialogManager
10
+ import com.swmansion.rnscreens.modals.formsheet.native.model.FormSheetConfig
9
11
 
10
12
  class FormSheetHost(
11
13
  val reactContext: ThemedReactContext,
@@ -23,6 +25,8 @@ class FormSheetHost(
23
25
 
24
26
  internal var preferredCornerRadius = FormSheetConfig.SYSTEM_DEFAULT_CORNER_RADIUS
25
27
 
28
+ internal var preventNativeDismiss = false
29
+
26
30
  internal var nativeContainerBackgroundColor: Int? = null
27
31
 
28
32
  internal var detents: List<Double> = emptyList()
@@ -94,6 +98,7 @@ class FormSheetHost(
94
98
  prefersGrabberVisible = this.prefersGrabberVisible,
95
99
  initialDetentIndex = this.initialDetentIndex,
96
100
  preferredCornerRadius = this.preferredCornerRadius,
101
+ preventNativeDismiss = this.preventNativeDismiss,
97
102
  nativeContainerBackgroundColor = this.nativeContainerBackgroundColor,
98
103
  )
99
104
  dialogManager.applyConfig(config)
@@ -1,7 +1,16 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.host
2
2
 
3
3
  import com.facebook.react.bridge.ReactContext
4
4
  import com.swmansion.rnscreens.common.event.BaseEventEmitter
5
+ import com.swmansion.rnscreens.modals.formsheet.native.interfaces.FormSheetDialogEventEmitter
6
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetDetentChangedEvent
7
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetDidAppearEvent
8
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetDidDisappearEvent
9
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetNativeDismissEvent
10
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetNativeDismissPreventedEvent
11
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetSyncFlushEvent
12
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetWillAppearEvent
13
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetWillDisappearEvent
5
14
 
6
15
  internal class FormSheetHostEventEmitter(
7
16
  reactContext: ReactContext,
@@ -49,4 +58,10 @@ internal class FormSheetHostEventEmitter(
49
58
  FormSheetDetentChangedEvent(surfaceId, viewTag, index),
50
59
  )
51
60
  }
61
+
62
+ override fun emitOnNativeDismissPreventedEvent() {
63
+ reactEventDispatcher.dispatchEvent(
64
+ FormSheetNativeDismissPreventedEvent(surfaceId, viewTag),
65
+ )
66
+ }
52
67
  }
@@ -1,4 +1,4 @@
1
- package com.swmansion.rnscreens.modals.formsheet
1
+ package com.swmansion.rnscreens.modals.formsheet.react.host
2
2
 
3
3
  import android.view.View
4
4
  import com.facebook.react.bridge.ReadableArray
@@ -11,6 +11,14 @@ import com.facebook.react.uimanager.ViewManagerDelegate
11
11
  import com.facebook.react.viewmanagers.RNSFormSheetHostManagerDelegate
12
12
  import com.facebook.react.viewmanagers.RNSFormSheetHostManagerInterface
13
13
  import com.swmansion.rnscreens.helpers.makeEventRegistrationInfo
14
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetDetentChangedEvent
15
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetDidAppearEvent
16
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetDidDisappearEvent
17
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetNativeDismissEvent
18
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetNativeDismissPreventedEvent
19
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetSyncFlushEvent
20
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetWillAppearEvent
21
+ import com.swmansion.rnscreens.modals.formsheet.react.event.FormSheetWillDisappearEvent
14
22
 
15
23
  @ReactModule(name = FormSheetHostViewManager.REACT_CLASS)
16
24
  class FormSheetHostViewManager :
@@ -114,7 +122,7 @@ class FormSheetHostViewManager :
114
122
  view: FormSheetHost,
115
123
  value: Boolean,
116
124
  ) {
117
- // TODO: @t0maboro - implement later
125
+ view.preventNativeDismiss = value
118
126
  }
119
127
 
120
128
  override fun setNativeContainerBackgroundColor(
@@ -133,6 +141,7 @@ class FormSheetHostViewManager :
133
141
  makeEventRegistrationInfo(FormSheetWillDisappearEvent),
134
142
  makeEventRegistrationInfo(FormSheetDidDisappearEvent),
135
143
  makeEventRegistrationInfo(FormSheetDetentChangedEvent),
144
+ makeEventRegistrationInfo(FormSheetNativeDismissPreventedEvent),
136
145
  )
137
146
 
138
147
  override fun updateState(