@amazon-devices/react-native-screens 2.0.1758683737
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.
- package/LICENSE +7 -0
- package/README.md +223 -0
- package/RNScreens.podspec +53 -0
- package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.bundle +33668 -0
- package/SystemBundles/8f5a820b958535e533acb38dbc0c72c1837721b9db075f4a1740e42b9fee3910.map +1 -0
- package/SystemModules/amzn__react-native-screens.modules.txt +101 -0
- package/SystemModules/amzn__react-native-screens.private.modules.txt +244 -0
- package/SystemModules/keplerscript-system-bundle-config.json +7 -0
- package/THIRD_PARTY_NOTICES.txt +707 -0
- package/android/build.gradle +133 -0
- package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +49 -0
- package/android/src/main/AndroidManifest.xml +5 -0
- package/android/src/main/java/com/swmansion/rnscreens/CustomSearchView.kt +77 -0
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +7 -0
- package/android/src/main/java/com/swmansion/rnscreens/FragmentBackPressOverrider.kt +29 -0
- package/android/src/main/java/com/swmansion/rnscreens/FragmentHolder.kt +7 -0
- package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +21 -0
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +289 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +372 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContainerViewManager.kt +40 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenEventDispatcher.kt +21 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenFragment.kt +331 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenFragmentWrapper.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +336 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +282 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragmentWrapper.kt +15 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +398 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +204 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +38 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt +41 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +75 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +186 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +296 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreensShadowNode.kt +19 -0
- package/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt +133 -0
- package/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt +178 -0
- package/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt +67 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderAttachedEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderBackButtonClickedEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderDetachedEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +26 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenAppearEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDisappearEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenDismissedEvent.kt +20 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenTransitionProgressEvent.kt +32 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillAppearEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/ScreenWillDisappearEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarBlurEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarChangeTextEvent.kt +28 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarCloseEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarFocusEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarOpenEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/SearchBarSearchButtonPressEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/rnscreens/events/StackFinishTransitioningEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/DeviceUtils.kt +12 -0
- package/android/src/main/jni/CMakeLists.txt +72 -0
- package/android/src/main/jni/rnscreens.cpp +16 -0
- package/android/src/main/jni/rnscreens.h +28 -0
- package/android/src/main/res/base/anim/rns_default_enter_in.xml +18 -0
- package/android/src/main/res/base/anim/rns_default_enter_out.xml +19 -0
- package/android/src/main/res/base/anim/rns_default_exit_in.xml +17 -0
- package/android/src/main/res/base/anim/rns_default_exit_out.xml +18 -0
- package/android/src/main/res/base/anim/rns_fade_from_bottom.xml +14 -0
- package/android/src/main/res/base/anim/rns_fade_in.xml +7 -0
- package/android/src/main/res/base/anim/rns_fade_out.xml +7 -0
- package/android/src/main/res/base/anim/rns_fade_to_bottom.xml +15 -0
- package/android/src/main/res/base/anim/rns_no_animation_20.xml +6 -0
- package/android/src/main/res/base/anim/rns_no_animation_250.xml +7 -0
- package/android/src/main/res/base/anim/rns_no_animation_350.xml +6 -0
- package/android/src/main/res/base/anim/rns_no_animation_medium.xml +7 -0
- package/android/src/main/res/base/anim/rns_slide_in_from_bottom.xml +7 -0
- package/android/src/main/res/base/anim/rns_slide_in_from_left.xml +5 -0
- package/android/src/main/res/base/anim/rns_slide_in_from_right.xml +5 -0
- package/android/src/main/res/base/anim/rns_slide_out_to_bottom.xml +7 -0
- package/android/src/main/res/base/anim/rns_slide_out_to_left.xml +5 -0
- package/android/src/main/res/base/anim/rns_slide_out_to_right.xml +5 -0
- package/android/src/main/res/base/anim/rns_standard_accelerate_interpolator.xml +6 -0
- package/android/src/main/res/v33/anim-v33/rns_default_enter_in.xml +38 -0
- package/android/src/main/res/v33/anim-v33/rns_default_enter_out.xml +38 -0
- package/android/src/main/res/v33/anim-v33/rns_default_exit_in.xml +38 -0
- package/android/src/main/res/v33/anim-v33/rns_default_exit_out.xml +38 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +111 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +44 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +107 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +42 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java +31 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java +17 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java +25 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java +16 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +10 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +41 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +9 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +30 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +14 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +45 -0
- package/ios/RCTImageComponentView+RNSScreenStackHeaderConfig.h +11 -0
- package/ios/RCTImageComponentView+RNSScreenStackHeaderConfig.mm +14 -0
- package/ios/RNSConvert.h +36 -0
- package/ios/RNSConvert.mm +154 -0
- package/ios/RNSEnums.h +71 -0
- package/ios/RNSFullWindowOverlay.h +34 -0
- package/ios/RNSFullWindowOverlay.mm +241 -0
- package/ios/RNSScreen.h +144 -0
- package/ios/RNSScreen.mm +1599 -0
- package/ios/RNSScreenContainer.h +45 -0
- package/ios/RNSScreenContainer.mm +343 -0
- package/ios/RNSScreenNavigationContainer.h +16 -0
- package/ios/RNSScreenNavigationContainer.mm +66 -0
- package/ios/RNSScreenStack.h +37 -0
- package/ios/RNSScreenStack.mm +1111 -0
- package/ios/RNSScreenStackAnimator.h +8 -0
- package/ios/RNSScreenStackAnimator.mm +320 -0
- package/ios/RNSScreenStackHeaderConfig.h +74 -0
- package/ios/RNSScreenStackHeaderConfig.mm +967 -0
- package/ios/RNSScreenStackHeaderSubview.h +44 -0
- package/ios/RNSScreenStackHeaderSubview.mm +147 -0
- package/ios/RNSScreenWindowTraits.h +26 -0
- package/ios/RNSScreenWindowTraits.mm +266 -0
- package/ios/RNSSearchBar.h +43 -0
- package/ios/RNSSearchBar.mm +465 -0
- package/ios/RNScreens.xcodeproj/project.pbxproj +461 -0
- package/ios/UIViewController+RNScreens.h +9 -0
- package/ios/UIViewController+RNScreens.mm +78 -0
- package/ios/UIWindow+RNScreens.h +9 -0
- package/ios/UIWindow+RNScreens.mm +17 -0
- package/ios/events/RNSHeaderHeightChangeEvent.h +8 -0
- package/ios/events/RNSHeaderHeightChangeEvent.mm +44 -0
- package/ios/events/RNSScreenViewEvent.h +12 -0
- package/ios/events/RNSScreenViewEvent.mm +59 -0
- package/ios/utils/RNSUIBarButtonItem.h +5 -0
- package/ios/utils/RNSUIBarButtonItem.mm +22 -0
- package/kepler-compatibility.json +8 -0
- package/kepler-transformed-package-info.json +3 -0
- package/lib/commonjs/TransitionProgressContext.js +11 -0
- package/lib/commonjs/TransitionProgressContext.js.map +1 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +11 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +33 -0
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js +70 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +11 -0
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +31 -0
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +12 -0
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js +35 -0
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -0
- package/lib/commonjs/fabric/SearchBarNativeComponent.js +19 -0
- package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -0
- package/lib/commonjs/index.js +147 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/index.native.js +407 -0
- package/lib/commonjs/index.native.js.map +1 -0
- package/lib/commonjs/native-stack/index.js +49 -0
- package/lib/commonjs/native-stack/index.js.map +1 -0
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +75 -0
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -0
- package/lib/commonjs/native-stack/types.js +6 -0
- package/lib/commonjs/native-stack/types.js.map +1 -0
- package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js +12 -0
- package/lib/commonjs/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -0
- package/lib/commonjs/native-stack/utils/HeaderHeightContext.js +12 -0
- package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -0
- package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js +75 -0
- package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -0
- package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js +35 -0
- package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -0
- package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js +19 -0
- package/lib/commonjs/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -0
- package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +54 -0
- package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -0
- package/lib/commonjs/native-stack/utils/useHeaderHeight.js +19 -0
- package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -0
- package/lib/commonjs/native-stack/views/FontProcessor.js +21 -0
- package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -0
- package/lib/commonjs/native-stack/views/HeaderConfig.js +141 -0
- package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -0
- package/lib/commonjs/native-stack/views/NativeStackView.js +354 -0
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -0
- package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js +12 -0
- package/lib/commonjs/reanimated/ReanimatedHeaderHeightContext.js.map +1 -0
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +101 -0
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -0
- package/lib/commonjs/reanimated/ReanimatedScreen.js +22 -0
- package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -0
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +47 -0
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -0
- package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +12 -0
- package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -0
- package/lib/commonjs/reanimated/index.js +28 -0
- package/lib/commonjs/reanimated/index.js.map +1 -0
- package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js +19 -0
- package/lib/commonjs/reanimated/useReanimatedHeaderHeight.js.map +1 -0
- package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js +19 -0
- package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/useTransitionProgress.js +19 -0
- package/lib/commonjs/useTransitionProgress.js.map +1 -0
- package/lib/commonjs/utils.js +21 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/module/TransitionProgressContext.js +3 -0
- package/lib/module/TransitionProgressContext.js.map +1 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js +4 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenContainerNativeComponent.js +25 -0
- package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenNativeComponent.js +63 -0
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +4 -0
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +23 -0
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +7 -0
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -0
- package/lib/module/fabric/ScreenStackNativeComponent.js +28 -0
- package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -0
- package/lib/module/fabric/SearchBarNativeComponent.js +10 -0
- package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -0
- package/lib/module/index.js +67 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/index.native.js +410 -0
- package/lib/module/index.native.js.map +1 -0
- package/lib/module/native-stack/index.js +22 -0
- package/lib/module/native-stack/index.js.map +1 -0
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js +72 -0
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -0
- package/lib/module/native-stack/types.js +2 -0
- package/lib/module/native-stack/types.js.map +1 -0
- package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js +4 -0
- package/lib/module/native-stack/utils/AnimatedHeaderHeightContext.js.map +1 -0
- package/lib/module/native-stack/utils/HeaderHeightContext.js +4 -0
- package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -0
- package/lib/module/native-stack/utils/SafeAreaProviderCompat.js +68 -0
- package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -0
- package/lib/module/native-stack/utils/getDefaultHeaderHeight.js +29 -0
- package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -0
- package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js +10 -0
- package/lib/module/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -0
- package/lib/module/native-stack/utils/useBackPressSubscription.js +47 -0
- package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -0
- package/lib/module/native-stack/utils/useHeaderHeight.js +10 -0
- package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -0
- package/lib/module/native-stack/views/FontProcessor.js +13 -0
- package/lib/module/native-stack/views/FontProcessor.js.map +1 -0
- package/lib/module/native-stack/views/HeaderConfig.js +132 -0
- package/lib/module/native-stack/views/HeaderConfig.js.map +1 -0
- package/lib/module/native-stack/views/NativeStackView.js +355 -0
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -0
- package/lib/module/reanimated/ReanimatedHeaderHeightContext.js +5 -0
- package/lib/module/reanimated/ReanimatedHeaderHeightContext.js.map +1 -0
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js +97 -0
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -0
- package/lib/module/reanimated/ReanimatedScreen.js +17 -0
- package/lib/module/reanimated/ReanimatedScreen.js.map +1 -0
- package/lib/module/reanimated/ReanimatedScreenProvider.js +40 -0
- package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -0
- package/lib/module/reanimated/ReanimatedTransitionProgressContext.js +5 -0
- package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -0
- package/lib/module/reanimated/index.js +4 -0
- package/lib/module/reanimated/index.js.map +1 -0
- package/lib/module/reanimated/useReanimatedHeaderHeight.js +10 -0
- package/lib/module/reanimated/useReanimatedHeaderHeight.js.map +1 -0
- package/lib/module/reanimated/useReanimatedTransitionProgress.js +10 -0
- package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/useTransitionProgress.js +10 -0
- package/lib/module/useTransitionProgress.js.map +1 -0
- package/lib/module/utils.js +14 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/typescript/TransitionProgressContext.d.ts +9 -0
- package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +7 -0
- package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts +5 -0
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +66 -0
- package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts +7 -0
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +33 -0
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts +10 -0
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +8 -0
- package/lib/typescript/fabric/SearchBarNativeComponent.d.ts +49 -0
- package/lib/typescript/index.d.ts +33 -0
- package/lib/typescript/index.native.d.ts +2 -0
- package/lib/typescript/native-stack/index.d.ts +19 -0
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +6 -0
- package/lib/typescript/native-stack/types.d.ts +438 -0
- package/lib/typescript/native-stack/utils/AnimatedHeaderHeightContext.d.ts +4 -0
- package/lib/typescript/native-stack/utils/HeaderHeightContext.d.ts +3 -0
- package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +11 -0
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +7 -0
- package/lib/typescript/native-stack/utils/useAnimatedHeaderHeight.d.ts +1 -0
- package/lib/typescript/native-stack/utils/useBackPressSubscription.d.ts +16 -0
- package/lib/typescript/native-stack/utils/useHeaderHeight.d.ts +1 -0
- package/lib/typescript/native-stack/views/FontProcessor.d.ts +1 -0
- package/lib/typescript/native-stack/views/HeaderConfig.d.ts +8 -0
- package/lib/typescript/native-stack/views/NativeStackView.d.ts +10 -0
- package/lib/typescript/reanimated/ReanimatedHeaderHeightContext.d.ts +4 -0
- package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +5 -0
- package/lib/typescript/reanimated/ReanimatedScreen.d.ts +5 -0
- package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +2 -0
- package/lib/typescript/reanimated/ReanimatedTransitionProgressContext.d.ts +9 -0
- package/lib/typescript/reanimated/index.d.ts +3 -0
- package/lib/typescript/reanimated/useReanimatedHeaderHeight.d.ts +3 -0
- package/lib/typescript/reanimated/useReanimatedTransitionProgress.d.ts +11 -0
- package/lib/typescript/types.d.ts +612 -0
- package/lib/typescript/useTransitionProgress.d.ts +5 -0
- package/lib/typescript/utils.d.ts +3 -0
- package/native-stack/README.md +814 -0
- package/native-stack/package.json +6 -0
- package/package.json +1 -0
- package/react-native.config.js +42 -0
- package/reanimated/package.json +6 -0
- package/src/TransitionProgressContext.tsx +12 -0
- package/src/fabric/FullWindowOverlayNativeComponent.ts +7 -0
- package/src/fabric/ScreenContainerNativeComponent.ts +28 -0
- package/src/fabric/ScreenNativeComponent.ts +158 -0
- package/src/fabric/ScreenNavigationContainerNativeComponent.ts +10 -0
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +61 -0
- package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +22 -0
- package/src/fabric/ScreenStackNativeComponent.ts +33 -0
- package/src/fabric/SearchBarNativeComponent.ts +79 -0
- package/src/index.native.tsx +599 -0
- package/src/index.tsx +119 -0
- package/src/native-stack/index.tsx +27 -0
- package/src/native-stack/navigators/createNativeStackNavigator.tsx +107 -0
- package/src/native-stack/types.tsx +486 -0
- package/src/native-stack/utils/AnimatedHeaderHeightContext.tsx +8 -0
- package/src/native-stack/utils/HeaderHeightContext.tsx +5 -0
- package/src/native-stack/utils/SafeAreaProviderCompat.tsx +78 -0
- package/src/native-stack/utils/getDefaultHeaderHeight.tsx +41 -0
- package/src/native-stack/utils/useAnimatedHeaderHeight.tsx +15 -0
- package/src/native-stack/utils/useBackPressSubscription.tsx +66 -0
- package/src/native-stack/utils/useHeaderHeight.tsx +15 -0
- package/src/native-stack/views/FontProcessor.tsx +14 -0
- package/src/native-stack/views/HeaderConfig.tsx +187 -0
- package/src/native-stack/views/NativeStackView.tsx +466 -0
- package/src/reanimated/ReanimatedHeaderHeightContext.tsx +7 -0
- package/src/reanimated/ReanimatedNativeStackScreen.tsx +130 -0
- package/src/reanimated/ReanimatedScreen.tsx +25 -0
- package/src/reanimated/ReanimatedScreenProvider.tsx +42 -0
- package/src/reanimated/ReanimatedTransitionProgressContext.tsx +13 -0
- package/src/reanimated/index.tsx +3 -0
- package/src/reanimated/useReanimatedHeaderHeight.tsx +14 -0
- package/src/reanimated/useReanimatedTransitionProgress.tsx +14 -0
- package/src/types.tsx +699 -0
- package/src/useTransitionProgress.tsx +15 -0
- package/src/utils.ts +18 -0
- package/windows/README.md +25 -0
- package/windows/RNScreens/PropertySheet.props +16 -0
- package/windows/RNScreens/RNScreens.cpp +66 -0
- package/windows/RNScreens/RNScreens.def +3 -0
- package/windows/RNScreens/RNScreens.h +41 -0
- package/windows/RNScreens/RNScreens.idl +8 -0
- package/windows/RNScreens/RNScreens.vcxproj +187 -0
- package/windows/RNScreens/RNScreens.vcxproj.filters +52 -0
- package/windows/RNScreens/ReactPackageProvider.cpp +30 -0
- package/windows/RNScreens/ReactPackageProvider.h +17 -0
- package/windows/RNScreens/ReactPackageProvider.idl +9 -0
- package/windows/RNScreens/Screen.cpp +122 -0
- package/windows/RNScreens/Screen.h +64 -0
- package/windows/RNScreens/ScreenContainer.cpp +49 -0
- package/windows/RNScreens/ScreenContainer.h +23 -0
- package/windows/RNScreens/ScreenContainerViewManager.cpp +133 -0
- package/windows/RNScreens/ScreenContainerViewManager.h +78 -0
- package/windows/RNScreens/ScreenStack.cpp +65 -0
- package/windows/RNScreens/ScreenStack.h +23 -0
- package/windows/RNScreens/ScreenStackHeaderConfig.cpp +19 -0
- package/windows/RNScreens/ScreenStackHeaderConfig.h +14 -0
- package/windows/RNScreens/ScreenStackHeaderConfigViewManager.cpp +89 -0
- package/windows/RNScreens/ScreenStackHeaderConfigViewManager.h +62 -0
- package/windows/RNScreens/ScreenStackViewManager.cpp +132 -0
- package/windows/RNScreens/ScreenStackViewManager.h +78 -0
- package/windows/RNScreens/ScreenViewManager.cpp +154 -0
- package/windows/RNScreens/ScreenViewManager.h +78 -0
- package/windows/RNScreens/packages.config +4 -0
- package/windows/RNScreens/pch.cpp +1 -0
- package/windows/RNScreens/pch.h +9 -0
- package/windows/RNScreens62.sln +254 -0
- package/windows/RNScreens63.sln +225 -0
- package/windows/RNScreens65.sln +144 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
#import <UIKit/UIKit.h>
|
|
2
|
+
|
|
3
|
+
#import "RNSFullWindowOverlay.h"
|
|
4
|
+
|
|
5
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
6
|
+
#import <React/RCTConversions.h>
|
|
7
|
+
#import <React/RCTFabricComponentsPlugins.h>
|
|
8
|
+
#import <React/RCTSurfaceTouchHandler.h>
|
|
9
|
+
#import <react/renderer/components/rnscreens/ComponentDescriptors.h>
|
|
10
|
+
#import <react/renderer/components/rnscreens/Props.h>
|
|
11
|
+
#import <react/renderer/components/rnscreens/RCTComponentViewHelpers.h>
|
|
12
|
+
#else
|
|
13
|
+
#import <React/RCTTouchHandler.h>
|
|
14
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
15
|
+
|
|
16
|
+
@implementation RNSFullWindowOverlayContainer
|
|
17
|
+
|
|
18
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
19
|
+
{
|
|
20
|
+
if (self = [super initWithFrame:frame]) {
|
|
21
|
+
self.accessibilityViewIsModal = YES;
|
|
22
|
+
}
|
|
23
|
+
return self;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
|
|
27
|
+
{
|
|
28
|
+
for (UIView *view in [self subviews]) {
|
|
29
|
+
if (view.userInteractionEnabled && [view pointInside:[self convertPoint:point toView:view] withEvent:event]) {
|
|
30
|
+
return YES;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return NO;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
|
|
37
|
+
{
|
|
38
|
+
BOOL canReceiveTouchEvents = ([self isUserInteractionEnabled] && ![self isHidden]);
|
|
39
|
+
if (!canReceiveTouchEvents) {
|
|
40
|
+
return nil;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// `hitSubview` is the topmost subview which was hit. The hit point can
|
|
44
|
+
// be outside the bounds of `view` (e.g., if -clipsToBounds is NO).
|
|
45
|
+
UIView *hitSubview = nil;
|
|
46
|
+
BOOL isPointInside = [self pointInside:point withEvent:event];
|
|
47
|
+
if (![self clipsToBounds] || isPointInside) {
|
|
48
|
+
// Take z-index into account when calculating the touch target.
|
|
49
|
+
NSArray<UIView *> *sortedSubviews = [self reactZIndexSortedSubviews];
|
|
50
|
+
|
|
51
|
+
// The default behaviour of UIKit is that if a view does not contain a point,
|
|
52
|
+
// then no subviews will be returned from hit testing, even if they contain
|
|
53
|
+
// the hit point. By doing hit testing directly on the subviews, we bypass
|
|
54
|
+
// the strict containment policy (i.e., UIKit guarantees that every ancestor
|
|
55
|
+
// of the hit view will return YES from -pointInside:withEvent:). See:
|
|
56
|
+
// - https://developer.apple.com/library/ios/qa/qa2013/qa1812.html
|
|
57
|
+
for (UIView *subview in [sortedSubviews reverseObjectEnumerator]) {
|
|
58
|
+
CGPoint convertedPoint = [subview convertPoint:point fromView:self];
|
|
59
|
+
hitSubview = [subview hitTest:convertedPoint withEvent:event];
|
|
60
|
+
if (hitSubview != nil) {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return hitSubview;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@end
|
|
69
|
+
|
|
70
|
+
@implementation RNSFullWindowOverlay {
|
|
71
|
+
__weak RCTBridge *_bridge;
|
|
72
|
+
RNSFullWindowOverlayContainer *_container;
|
|
73
|
+
CGRect _reactFrame;
|
|
74
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
75
|
+
RCTSurfaceTouchHandler *_touchHandler;
|
|
76
|
+
#else
|
|
77
|
+
RCTTouchHandler *_touchHandler;
|
|
78
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
82
|
+
- (instancetype)init
|
|
83
|
+
{
|
|
84
|
+
if (self = [super init]) {
|
|
85
|
+
static const auto defaultProps = std::make_shared<const react::RNSFullWindowOverlayProps>();
|
|
86
|
+
_props = defaultProps;
|
|
87
|
+
[self _initCommon];
|
|
88
|
+
}
|
|
89
|
+
return self;
|
|
90
|
+
}
|
|
91
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
92
|
+
|
|
93
|
+
- (instancetype)initWithBridge:(RCTBridge *)bridge
|
|
94
|
+
{
|
|
95
|
+
if (self = [super init]) {
|
|
96
|
+
_bridge = bridge;
|
|
97
|
+
[self _initCommon];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return self;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
- (void)_initCommon
|
|
104
|
+
{
|
|
105
|
+
_reactFrame = CGRectNull;
|
|
106
|
+
_container = self.container;
|
|
107
|
+
[self show];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
- (void)addSubview:(UIView *)view
|
|
111
|
+
{
|
|
112
|
+
[_container addSubview:view];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
- (RNSFullWindowOverlayContainer *)container
|
|
116
|
+
{
|
|
117
|
+
if (_container == nil) {
|
|
118
|
+
_container = [[RNSFullWindowOverlayContainer alloc] initWithFrame:_reactFrame];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return _container;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
- (void)show
|
|
125
|
+
{
|
|
126
|
+
UIWindow *window = RCTSharedApplication().delegate.window;
|
|
127
|
+
[window addSubview:_container];
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
- (void)didMoveToSuperview
|
|
131
|
+
{
|
|
132
|
+
if (self.superview == nil) {
|
|
133
|
+
if (_container != nil) {
|
|
134
|
+
[_container removeFromSuperview];
|
|
135
|
+
[_touchHandler detachFromView:_container];
|
|
136
|
+
}
|
|
137
|
+
} else {
|
|
138
|
+
if (_container != nil) {
|
|
139
|
+
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, _container);
|
|
140
|
+
}
|
|
141
|
+
if (_touchHandler == nil) {
|
|
142
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
143
|
+
_touchHandler = [RCTSurfaceTouchHandler new];
|
|
144
|
+
#else
|
|
145
|
+
_touchHandler = [[RCTTouchHandler alloc] initWithBridge:_bridge];
|
|
146
|
+
#endif
|
|
147
|
+
}
|
|
148
|
+
[_touchHandler attachToView:_container];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
153
|
+
#pragma mark - Fabric Specific
|
|
154
|
+
|
|
155
|
+
// When the component unmounts we remove it from window's children,
|
|
156
|
+
// so when the component gets recycled we need to add it back.
|
|
157
|
+
- (void)maybeShow
|
|
158
|
+
{
|
|
159
|
+
UIWindow *window = RCTSharedApplication().delegate.window;
|
|
160
|
+
if (![[window subviews] containsObject:self]) {
|
|
161
|
+
[window addSubview:_container];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
+ (react::ComponentDescriptorProvider)componentDescriptorProvider
|
|
166
|
+
{
|
|
167
|
+
return react::concreteComponentDescriptorProvider<react::RNSFullWindowOverlayComponentDescriptor>();
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
- (void)prepareForRecycle
|
|
171
|
+
{
|
|
172
|
+
[_container removeFromSuperview];
|
|
173
|
+
// Due to view recycling we don't really want to set _container = nil
|
|
174
|
+
// as it won't be instantiated when the component appears for the second time.
|
|
175
|
+
// We could consider nulling in here & using container (lazy getter) everywhere else.
|
|
176
|
+
// _container = nil;
|
|
177
|
+
[super prepareForRecycle];
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
- (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
181
|
+
{
|
|
182
|
+
// When the component unmounts we remove it from window's children,
|
|
183
|
+
// so when the component gets recycled we need to add it back.
|
|
184
|
+
// As for now it is called here as we lack of method that is called
|
|
185
|
+
// just before component gets restored (from recycle pool).
|
|
186
|
+
[self maybeShow];
|
|
187
|
+
[self addSubview:childComponentView];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
- (void)unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
191
|
+
{
|
|
192
|
+
[childComponentView removeFromSuperview];
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
- (void)updateLayoutMetrics:(react::LayoutMetrics const &)layoutMetrics
|
|
196
|
+
oldLayoutMetrics:(react::LayoutMetrics const &)oldLayoutMetrics
|
|
197
|
+
{
|
|
198
|
+
CGRect frame = RCTCGRectFromRect(layoutMetrics.frame);
|
|
199
|
+
_reactFrame = frame;
|
|
200
|
+
[_container setFrame:frame];
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
#else
|
|
204
|
+
#pragma mark - Paper specific
|
|
205
|
+
|
|
206
|
+
- (void)reactSetFrame:(CGRect)frame
|
|
207
|
+
{
|
|
208
|
+
_reactFrame = frame;
|
|
209
|
+
[_container setFrame:frame];
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
- (void)invalidate
|
|
213
|
+
{
|
|
214
|
+
[_container removeFromSuperview];
|
|
215
|
+
_container = nil;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
219
|
+
|
|
220
|
+
@end
|
|
221
|
+
|
|
222
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
223
|
+
Class<RCTComponentViewProtocol> RNSFullWindowOverlayCls(void)
|
|
224
|
+
{
|
|
225
|
+
return RNSFullWindowOverlay.class;
|
|
226
|
+
}
|
|
227
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
228
|
+
|
|
229
|
+
@implementation RNSFullWindowOverlayManager
|
|
230
|
+
|
|
231
|
+
RCT_EXPORT_MODULE()
|
|
232
|
+
|
|
233
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
234
|
+
#else
|
|
235
|
+
- (UIView *)view
|
|
236
|
+
{
|
|
237
|
+
return [[RNSFullWindowOverlay alloc] initWithBridge:self.bridge];
|
|
238
|
+
}
|
|
239
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
240
|
+
|
|
241
|
+
@end
|
package/ios/RNSScreen.h
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#import <React/RCTComponent.h>
|
|
2
|
+
#import <React/RCTViewManager.h>
|
|
3
|
+
|
|
4
|
+
#import "RNSEnums.h"
|
|
5
|
+
#import "RNSScreenContainer.h"
|
|
6
|
+
|
|
7
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
8
|
+
#import <React/RCTViewComponentView.h>
|
|
9
|
+
#else
|
|
10
|
+
#import <React/RCTView.h>
|
|
11
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
12
|
+
|
|
13
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
14
|
+
|
|
15
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
16
|
+
namespace react = facebook::react;
|
|
17
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
18
|
+
|
|
19
|
+
@interface RCTConvert (RNSScreen)
|
|
20
|
+
|
|
21
|
+
+ (RNSScreenStackPresentation)RNSScreenStackPresentation:(id)json;
|
|
22
|
+
+ (RNSScreenStackAnimation)RNSScreenStackAnimation:(id)json;
|
|
23
|
+
|
|
24
|
+
#if !TARGET_OS_TV
|
|
25
|
+
+ (RNSStatusBarStyle)RNSStatusBarStyle:(id)json;
|
|
26
|
+
+ (UIStatusBarAnimation)UIStatusBarAnimation:(id)json;
|
|
27
|
+
+ (UIInterfaceOrientationMask)UIInterfaceOrientationMask:(id)json;
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
@end
|
|
31
|
+
|
|
32
|
+
@class RNSScreenView;
|
|
33
|
+
|
|
34
|
+
@interface RNSScreen : UIViewController <RNSViewControllerDelegate>
|
|
35
|
+
|
|
36
|
+
- (instancetype)initWithView:(UIView *)view;
|
|
37
|
+
- (UIViewController *)findChildVCForConfigAndTrait:(RNSWindowTrait)trait includingModals:(BOOL)includingModals;
|
|
38
|
+
- (BOOL)hasNestedStack;
|
|
39
|
+
- (void)calculateAndNotifyHeaderHeightChangeIsModal:(BOOL)isModal;
|
|
40
|
+
- (void)notifyFinishTransitioning;
|
|
41
|
+
- (RNSScreenView *)screenView;
|
|
42
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
43
|
+
- (void)setViewToSnapshot:(UIView *)snapshot;
|
|
44
|
+
- (void)resetViewToScreen;
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
@end
|
|
48
|
+
|
|
49
|
+
@class RNSScreenStackHeaderConfig;
|
|
50
|
+
|
|
51
|
+
@interface RNSScreenView :
|
|
52
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
53
|
+
RCTViewComponentView
|
|
54
|
+
#else
|
|
55
|
+
RCTView
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
@property (nonatomic) BOOL fullScreenSwipeEnabled;
|
|
59
|
+
@property (nonatomic) BOOL gestureEnabled;
|
|
60
|
+
@property (nonatomic) BOOL hasStatusBarHiddenSet;
|
|
61
|
+
@property (nonatomic) BOOL hasStatusBarStyleSet;
|
|
62
|
+
@property (nonatomic) BOOL hasStatusBarAnimationSet;
|
|
63
|
+
@property (nonatomic) BOOL hasHomeIndicatorHiddenSet;
|
|
64
|
+
@property (nonatomic) BOOL hasOrientationSet;
|
|
65
|
+
@property (nonatomic) RNSScreenStackAnimation stackAnimation;
|
|
66
|
+
@property (nonatomic) RNSScreenStackPresentation stackPresentation;
|
|
67
|
+
@property (nonatomic) RNSScreenSwipeDirection swipeDirection;
|
|
68
|
+
@property (nonatomic) RNSScreenReplaceAnimation replaceAnimation;
|
|
69
|
+
|
|
70
|
+
@property (nonatomic, retain) NSNumber *transitionDuration;
|
|
71
|
+
@property (nonatomic, readonly) BOOL dismissed;
|
|
72
|
+
@property (nonatomic) BOOL hideKeyboardOnSwipe;
|
|
73
|
+
@property (nonatomic) BOOL customAnimationOnSwipe;
|
|
74
|
+
@property (nonatomic) BOOL preventNativeDismiss;
|
|
75
|
+
@property (nonatomic, retain) RNSScreen *controller;
|
|
76
|
+
@property (nonatomic, copy) NSDictionary *gestureResponseDistance;
|
|
77
|
+
@property (nonatomic) int activityState;
|
|
78
|
+
@property (weak, nonatomic) UIView<RNSScreenContainerDelegate> *reactSuperview;
|
|
79
|
+
|
|
80
|
+
#if !TARGET_OS_TV
|
|
81
|
+
@property (nonatomic) RNSStatusBarStyle statusBarStyle;
|
|
82
|
+
@property (nonatomic) UIStatusBarAnimation statusBarAnimation;
|
|
83
|
+
@property (nonatomic) UIInterfaceOrientationMask screenOrientation;
|
|
84
|
+
@property (nonatomic) BOOL statusBarHidden;
|
|
85
|
+
@property (nonatomic) BOOL homeIndicatorHidden;
|
|
86
|
+
|
|
87
|
+
// Props controlling UISheetPresentationController
|
|
88
|
+
@property (nonatomic) RNSScreenDetentType sheetAllowedDetents;
|
|
89
|
+
@property (nonatomic) RNSScreenDetentType sheetLargestUndimmedDetent;
|
|
90
|
+
@property (nonatomic) BOOL sheetGrabberVisible;
|
|
91
|
+
@property (nonatomic) CGFloat sheetCornerRadius;
|
|
92
|
+
@property (nonatomic) BOOL sheetExpandsWhenScrolledToEdge;
|
|
93
|
+
#endif // !TARGET_OS_TV
|
|
94
|
+
|
|
95
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
96
|
+
// we recreate the behavior of `reactSetFrame` on new architecture
|
|
97
|
+
@property (nonatomic) react::LayoutMetrics oldLayoutMetrics;
|
|
98
|
+
@property (nonatomic) react::LayoutMetrics newLayoutMetrics;
|
|
99
|
+
@property (weak, nonatomic) RNSScreenStackHeaderConfig *config;
|
|
100
|
+
@property (nonatomic, readonly) BOOL hasHeaderConfig;
|
|
101
|
+
#else
|
|
102
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAppear;
|
|
103
|
+
@property (nonatomic, copy) RCTDirectEventBlock onDisappear;
|
|
104
|
+
@property (nonatomic, copy) RCTDirectEventBlock onDismissed;
|
|
105
|
+
@property (nonatomic, copy) RCTDirectEventBlock onHeaderHeightChange;
|
|
106
|
+
@property (nonatomic, copy) RCTDirectEventBlock onWillAppear;
|
|
107
|
+
@property (nonatomic, copy) RCTDirectEventBlock onWillDisappear;
|
|
108
|
+
@property (nonatomic, copy) RCTDirectEventBlock onNativeDismissCancelled;
|
|
109
|
+
@property (nonatomic, copy) RCTDirectEventBlock onTransitionProgress;
|
|
110
|
+
@property (nonatomic, copy) RCTDirectEventBlock onGestureCancel;
|
|
111
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
112
|
+
|
|
113
|
+
- (void)notifyFinishTransitioning;
|
|
114
|
+
- (void)notifyHeaderHeightChange:(double)height;
|
|
115
|
+
|
|
116
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
117
|
+
- (void)notifyWillAppear;
|
|
118
|
+
- (void)notifyWillDisappear;
|
|
119
|
+
- (void)notifyAppear;
|
|
120
|
+
- (void)notifyDisappear;
|
|
121
|
+
- (void)updateBounds;
|
|
122
|
+
- (void)notifyDismissedWithCount:(int)dismissCount;
|
|
123
|
+
- (instancetype)initWithFrame:(CGRect)frame;
|
|
124
|
+
#endif
|
|
125
|
+
|
|
126
|
+
- (void)notifyTransitionProgress:(double)progress closing:(BOOL)closing goingForward:(BOOL)goingForward;
|
|
127
|
+
- (void)notifyDismissCancelledWithDismissCount:(int)dismissCount;
|
|
128
|
+
- (BOOL)isModal;
|
|
129
|
+
- (BOOL)isPresentedAsNativeModal;
|
|
130
|
+
|
|
131
|
+
/// Looks for header configuration in instance's `reactSubviews` and returns it. If not present returns `nil`.
|
|
132
|
+
- (RNSScreenStackHeaderConfig *_Nullable)findHeaderConfig;
|
|
133
|
+
|
|
134
|
+
@end
|
|
135
|
+
|
|
136
|
+
@interface UIView (RNSScreen)
|
|
137
|
+
- (UIViewController *)parentViewController;
|
|
138
|
+
@end
|
|
139
|
+
|
|
140
|
+
@interface RNSScreenManager : RCTViewManager
|
|
141
|
+
|
|
142
|
+
@end
|
|
143
|
+
|
|
144
|
+
NS_ASSUME_NONNULL_END
|