react-native-screens 4.0.0-beta.9 → 4.1.0
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/README.md +9 -2
- package/android/CMakeLists.txt +28 -19
- package/android/src/main/cpp/jni-adapter.cpp +3 -0
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +13 -3
- package/android/src/main/java/com/swmansion/rnscreens/NativeDismissalObserver.kt +12 -0
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +4 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +64 -68
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/BottomSheetBehaviorExt.kt +42 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingFragment.kt +24 -19
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +8 -0
- package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +10 -3
- package/android/src/main/jni/CMakeLists.txt +28 -19
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +2 -2
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +1 -1
- package/ios/RNSConvert.h +13 -6
- package/ios/RNSConvert.mm +130 -94
- package/ios/RNSEnums.h +47 -0
- package/ios/RNSFullWindowOverlay.mm +4 -0
- package/ios/RNSPercentDrivenInteractiveTransition.h +12 -0
- package/ios/RNSPercentDrivenInteractiveTransition.mm +69 -0
- package/ios/RNSScreen.h +14 -0
- package/ios/RNSScreen.mm +35 -9
- package/ios/RNSScreenContainer.mm +5 -0
- package/ios/RNSScreenFooter.mm +24 -25
- package/ios/RNSScreenStack.mm +79 -8
- package/ios/RNSScreenStackAnimator.h +13 -1
- package/ios/RNSScreenStackAnimator.mm +233 -130
- package/ios/RNSScreenStackHeaderConfig.h +10 -7
- package/ios/RNSScreenStackHeaderConfig.mm +49 -30
- package/ios/RNSScreenStackHeaderSubview.mm +4 -0
- package/ios/utils/RNSDefines.h +7 -0
- package/lib/commonjs/components/DebugContainer.js +40 -0
- package/lib/commonjs/components/DebugContainer.js.map +1 -0
- package/lib/commonjs/components/DebugContainer.web.js +15 -0
- package/lib/commonjs/components/DebugContainer.web.js.map +1 -0
- package/lib/commonjs/components/FullWindowOverlay.js +8 -5
- package/lib/commonjs/components/FullWindowOverlay.js.map +1 -1
- package/lib/commonjs/components/Screen.js +28 -10
- package/lib/commonjs/components/Screen.js.map +1 -1
- package/lib/commonjs/components/ScreenContainer.js +3 -5
- package/lib/commonjs/components/ScreenContainer.js.map +1 -1
- package/lib/commonjs/components/ScreenContainer.web.js +3 -4
- package/lib/commonjs/components/ScreenContainer.web.js.map +1 -1
- package/lib/commonjs/components/ScreenContentWrapper.js +2 -4
- package/lib/commonjs/components/ScreenContentWrapper.js.map +1 -1
- package/lib/commonjs/components/ScreenContentWrapper.web.js +1 -2
- package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -1
- package/lib/commonjs/components/ScreenFooter.js +2 -8
- package/lib/commonjs/components/ScreenFooter.js.map +1 -1
- package/lib/commonjs/components/ScreenFooter.web.js +1 -2
- package/lib/commonjs/components/ScreenFooter.web.js.map +1 -1
- package/lib/commonjs/components/ScreenStack.js +47 -9
- package/lib/commonjs/components/ScreenStack.js.map +1 -1
- package/lib/commonjs/components/ScreenStack.web.js +2 -1
- package/lib/commonjs/components/ScreenStack.web.js.map +1 -1
- package/lib/commonjs/components/ScreenStackHeaderConfig.js +10 -10
- package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/commonjs/components/ScreenStackItem.js +99 -0
- package/lib/commonjs/components/ScreenStackItem.js.map +1 -0
- package/lib/commonjs/components/SearchBar.js +5 -5
- package/lib/commonjs/components/SearchBar.js.map +1 -1
- package/lib/commonjs/components/SearchBar.web.js +3 -4
- package/lib/commonjs/components/SearchBar.web.js.map +1 -1
- package/lib/commonjs/contexts.js +11 -0
- package/lib/commonjs/contexts.js.map +1 -0
- package/lib/commonjs/core.js +0 -3
- package/lib/commonjs/core.js.map +1 -1
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/gesture-handler/GestureDetectorProvider.js +2 -2
- package/lib/commonjs/gesture-handler/GestureDetectorProvider.js.map +1 -1
- package/lib/commonjs/gesture-handler/ScreenGestureDetector.js +3 -3
- package/lib/commonjs/gesture-handler/ScreenGestureDetector.js.map +1 -1
- package/lib/commonjs/gesture-handler/fabricUtils.js +54 -18
- package/lib/commonjs/gesture-handler/fabricUtils.js.map +1 -1
- package/lib/commonjs/index.js +23 -86
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +4 -0
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/native-stack/views/FooterComponent.js +2 -2
- package/lib/commonjs/native-stack/views/FooterComponent.js.map +1 -1
- package/lib/commonjs/native-stack/views/HeaderConfig.js +10 -8
- package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +34 -39
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +2 -2
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreen.js +2 -2
- package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +2 -2
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
- package/lib/commonjs/utils.js +28 -6
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/components/DebugContainer.js +31 -0
- package/lib/module/components/DebugContainer.js.map +1 -0
- package/lib/module/components/DebugContainer.web.js +6 -0
- package/lib/module/components/DebugContainer.web.js.map +1 -0
- package/lib/module/components/FullWindowOverlay.js +9 -6
- package/lib/module/components/FullWindowOverlay.js.map +1 -1
- package/lib/module/components/Screen.js +27 -9
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/module/components/ScreenContainer.js +2 -4
- package/lib/module/components/ScreenContainer.js.map +1 -1
- package/lib/module/components/ScreenContainer.web.js +2 -3
- package/lib/module/components/ScreenContainer.web.js.map +1 -1
- package/lib/module/components/ScreenContentWrapper.js +1 -3
- package/lib/module/components/ScreenContentWrapper.js.map +1 -1
- package/lib/module/components/ScreenContentWrapper.web.js +0 -1
- package/lib/module/components/ScreenContentWrapper.web.js.map +1 -1
- package/lib/module/components/ScreenFooter.js +1 -7
- package/lib/module/components/ScreenFooter.js.map +1 -1
- package/lib/module/components/ScreenFooter.web.js +0 -1
- package/lib/module/components/ScreenFooter.web.js.map +1 -1
- package/lib/module/components/ScreenStack.js +46 -8
- package/lib/module/components/ScreenStack.js.map +1 -1
- package/lib/module/components/ScreenStack.web.js +2 -1
- package/lib/module/components/ScreenStack.web.js.map +1 -1
- package/lib/module/components/ScreenStackHeaderConfig.js +10 -8
- package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/module/components/ScreenStackItem.js +90 -0
- package/lib/module/components/ScreenStackItem.js.map +1 -0
- package/lib/module/components/SearchBar.js +3 -3
- package/lib/module/components/SearchBar.js.map +1 -1
- package/lib/module/components/SearchBar.web.js +2 -3
- package/lib/module/components/SearchBar.web.js.map +1 -1
- package/lib/module/contexts.js +4 -0
- package/lib/module/contexts.js.map +1 -0
- package/lib/module/core.js +0 -3
- package/lib/module/core.js.map +1 -1
- package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/gesture-handler/GestureDetectorProvider.js +1 -1
- package/lib/module/gesture-handler/GestureDetectorProvider.js.map +1 -1
- package/lib/module/gesture-handler/ScreenGestureDetector.js +3 -3
- package/lib/module/gesture-handler/ScreenGestureDetector.js.map +1 -1
- package/lib/module/gesture-handler/fabricUtils.js +55 -17
- package/lib/module/gesture-handler/fabricUtils.js.map +1 -1
- package/lib/module/index.js +12 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js +4 -0
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/native-stack/views/FooterComponent.js +1 -1
- package/lib/module/native-stack/views/FooterComponent.js.map +1 -1
- package/lib/module/native-stack/views/HeaderConfig.js +3 -1
- package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +28 -33
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js +1 -2
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/module/reanimated/ReanimatedScreen.js +1 -2
- package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
- package/lib/module/reanimated/ReanimatedScreenProvider.js +1 -1
- package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
- package/lib/module/utils.js +26 -5
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/components/DebugContainer.d.ts +15 -0
- package/lib/typescript/components/DebugContainer.d.ts.map +1 -0
- package/lib/typescript/components/DebugContainer.web.d.ts +4 -0
- package/lib/typescript/components/DebugContainer.web.d.ts.map +1 -0
- package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -1
- package/lib/typescript/components/Screen.d.ts +2 -7
- package/lib/typescript/components/Screen.d.ts.map +1 -1
- package/lib/typescript/components/Screen.web.d.ts +1 -1
- package/lib/typescript/components/Screen.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContainer.d.ts +1 -3
- package/lib/typescript/components/ScreenContainer.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContainer.web.d.ts +2 -3
- package/lib/typescript/components/ScreenContainer.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContentWrapper.d.ts +0 -1
- package/lib/typescript/components/ScreenContentWrapper.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts +0 -1
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenFooter.d.ts +0 -4
- package/lib/typescript/components/ScreenFooter.d.ts.map +1 -1
- package/lib/typescript/components/ScreenFooter.web.d.ts +0 -1
- package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenStack.d.ts +1 -1
- package/lib/typescript/components/ScreenStack.d.ts.map +1 -1
- package/lib/typescript/components/ScreenStack.web.d.ts +2 -1
- package/lib/typescript/components/ScreenStack.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +3 -3
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -1
- package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts +1 -1
- package/lib/typescript/components/ScreenStackHeaderConfig.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenStackItem.d.ts +11 -0
- package/lib/typescript/components/ScreenStackItem.d.ts.map +1 -0
- package/lib/typescript/components/SearchBar.d.ts +1 -15
- package/lib/typescript/components/SearchBar.d.ts.map +1 -1
- package/lib/typescript/components/SearchBar.web.d.ts +2 -3
- package/lib/typescript/components/SearchBar.web.d.ts.map +1 -1
- package/lib/typescript/contexts.d.ts +5 -0
- package/lib/typescript/contexts.d.ts.map +1 -0
- package/lib/typescript/core.d.ts +0 -1
- package/lib/typescript/core.d.ts.map +1 -1
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +9 -3
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts +2 -2
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -1
- package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts +2 -2
- package/lib/typescript/gesture-handler/ScreenGestureDetector.d.ts.map +1 -1
- package/lib/typescript/gesture-handler/fabricUtils.d.ts +7 -5
- package/lib/typescript/gesture-handler/fabricUtils.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +10 -16
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +3 -0
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +58 -12
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts +1 -1
- package/lib/typescript/native-stack/utils/getDefaultHeaderHeight.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/HeaderConfig.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +1 -1
- package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts.map +1 -1
- package/lib/typescript/reanimated/ReanimatedScreen.d.ts +1 -1
- package/lib/typescript/reanimated/ReanimatedScreen.d.ts.map +1 -1
- package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +52 -16
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils.d.ts +26 -1
- package/lib/typescript/utils.d.ts.map +1 -1
- package/native-stack/README.md +5 -4
- package/native-stack/package.json +4 -4
- package/package.json +1 -1
- package/react-native.config.js +16 -28
- package/src/components/DebugContainer.tsx +47 -0
- package/src/components/DebugContainer.web.tsx +7 -0
- package/src/components/FullWindowOverlay.tsx +10 -2
- package/src/components/Screen.tsx +38 -24
- package/src/components/Screen.web.tsx +1 -1
- package/src/components/ScreenContainer.tsx +4 -11
- package/src/components/ScreenContainer.web.tsx +2 -3
- package/src/components/ScreenContentWrapper.tsx +2 -5
- package/src/components/ScreenContentWrapper.web.tsx +1 -2
- package/src/components/ScreenFooter.tsx +2 -8
- package/src/components/ScreenFooter.web.tsx +1 -2
- package/src/components/ScreenStack.tsx +99 -12
- package/src/components/ScreenStack.web.tsx +3 -1
- package/src/components/ScreenStackHeaderConfig.tsx +25 -14
- package/src/components/ScreenStackHeaderConfig.web.tsx +1 -1
- package/src/components/ScreenStackItem.tsx +162 -0
- package/src/components/SearchBar.tsx +4 -7
- package/src/components/SearchBar.web.tsx +2 -3
- package/src/contexts.tsx +9 -0
- package/src/core.ts +0 -3
- package/src/fabric/ModalScreenNativeComponent.ts +11 -3
- package/src/fabric/ScreenNativeComponent.ts +2 -2
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +2 -1
- package/src/fabric/ScreenStackNativeComponent.ts +1 -1
- package/src/gesture-handler/GestureDetectorProvider.tsx +2 -2
- package/src/gesture-handler/ScreenGestureDetector.tsx +4 -4
- package/src/gesture-handler/fabricUtils.ts +74 -27
- package/src/index.tsx +11 -37
- package/src/native-stack/navigators/createNativeStackNavigator.tsx +3 -0
- package/src/native-stack/types.tsx +60 -17
- package/src/native-stack/utils/getDefaultHeaderHeight.tsx +1 -1
- package/src/native-stack/views/FooterComponent.tsx +1 -1
- package/src/native-stack/views/HeaderConfig.tsx +7 -5
- package/src/native-stack/views/NativeStackView.tsx +48 -67
- package/src/reanimated/ReanimatedNativeStackScreen.tsx +2 -2
- package/src/reanimated/ReanimatedScreen.tsx +2 -1
- package/src/reanimated/ReanimatedScreenProvider.tsx +2 -1
- package/src/types.tsx +72 -15
- package/src/utils.ts +27 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDefaultHeaderHeight.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/utils/getDefaultHeaderHeight.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getDefaultHeaderHeight.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/utils/getDefaultHeaderHeight.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAIhD,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,sBAAsB,EACzC,aAAa,UAAQ,GACpB,MAAM,CA6BR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderConfig.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/HeaderConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderConfig.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/HeaderConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,0BAA0B,CAAC;AAiB3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAKxD,KAAK,KAAK,GAAG,4BAA4B,GAAG;IAC1C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,qBAAqB,EACrB,qBAAiC,EACjC,eAAe,EACf,oBAAyB,EACzB,sBAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,gBAAqB,EACrB,gBAAgB,EAChB,0BAA0B,EAC1B,qBAA0B,EAC1B,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAgB,EAChB,eAAe,EACf,WAAW,EACX,gBAAqB,EACrB,qBAA4B,EAC5B,iBAAiB,EACjB,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAqIrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeStackView.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/NativeStackView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeStackView.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/NativeStackView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,EACL,aAAa,EAEb,oBAAoB,EAKrB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AA2alB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAsCF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,qBAMnD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ScreenProps } from '
|
|
2
|
+
import { ScreenProps } from '../types';
|
|
3
3
|
declare const ReanimatedNativeStackScreen: React.ForwardRefExoticComponent<Omit<ScreenProps, "ref"> & React.RefAttributes<React.ComponentClass<import("react-native-reanimated").AnimateProps<{}>, any>>>;
|
|
4
4
|
export default ReanimatedNativeStackScreen;
|
|
5
5
|
//# sourceMappingURL=ReanimatedNativeStackScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReanimatedNativeStackScreen.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedNativeStackScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ReanimatedNativeStackScreen.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedNativeStackScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAEL,WAAW,EAEZ,MAAM,UAAU,CAAC;AAsBlB,QAAA,MAAM,2BAA2B,gKAoF/B,CAAC;AAIH,eAAe,2BAA2B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ScreenProps } from '
|
|
2
|
+
import { ScreenProps } from '../types';
|
|
3
3
|
declare const ReanimatedScreen: React.ForwardRefExoticComponent<Omit<ScreenProps, "ref"> & React.RefAttributes<React.ComponentClass<import("react-native-reanimated").AnimateProps<{}>, any>>>;
|
|
4
4
|
export default ReanimatedScreen;
|
|
5
5
|
//# sourceMappingURL=ReanimatedScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReanimatedScreen.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ReanimatedScreen.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AASvC,QAAA,MAAM,gBAAgB,gKAUrB,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReanimatedScreenProvider.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedScreenProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ReanimatedScreenProvider.d.ts","sourceRoot":"","sources":["../../../src/reanimated/ReanimatedScreenProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAiCjD,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,qBAQlC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Animated, NativeSyntheticEvent, ViewProps, View, TargetedEvent, TextInputFocusEventData, ColorValue
|
|
2
|
+
import { Animated, NativeSyntheticEvent, ViewProps, View, TargetedEvent, TextInputFocusEventData, ColorValue } from 'react-native';
|
|
3
3
|
import { NativeStackNavigatorProps } from './native-stack/types';
|
|
4
4
|
export type SearchBarCommands = {
|
|
5
5
|
focus: () => void;
|
|
@@ -12,7 +12,7 @@ export type SearchBarCommands = {
|
|
|
12
12
|
export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
|
|
13
13
|
export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet';
|
|
14
14
|
export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios_from_right' | 'ios_from_left';
|
|
15
|
-
export type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
|
|
15
|
+
export type BlurEffectTypes = 'none' | 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
|
|
16
16
|
export type ScreenReplaceTypes = 'push' | 'pop';
|
|
17
17
|
export type SwipeDirectionTypes = 'vertical' | 'horizontal';
|
|
18
18
|
export type ScreenOrientationTypes = 'default' | 'all' | 'portrait' | 'portrait_up' | 'portrait_down' | 'landscape' | 'landscape_left' | 'landscape_right';
|
|
@@ -68,9 +68,9 @@ export interface ScreenProps extends ViewProps {
|
|
|
68
68
|
*/
|
|
69
69
|
fullScreenSwipeEnabled?: boolean;
|
|
70
70
|
/**
|
|
71
|
-
* Whether the full screen dismiss gesture has shadow under view during transition.
|
|
72
|
-
*
|
|
73
|
-
* default iOS shadow. Defaults to `
|
|
71
|
+
* Whether the full screen dismiss gesture has shadow under view during transition.
|
|
72
|
+
* When enabled, a custom shadow view is added during the transition which tries to mimic the
|
|
73
|
+
* default iOS shadow. Defaults to `true`.
|
|
74
74
|
*
|
|
75
75
|
* This does not affect the behavior of transitions that don't use gestures, enabled by `fullScreenGestureEnabled` prop.
|
|
76
76
|
*
|
|
@@ -212,13 +212,6 @@ export interface ScreenProps extends ViewProps {
|
|
|
212
212
|
* - "landscape_right" – landscape-right orientation is permitted
|
|
213
213
|
*/
|
|
214
214
|
screenOrientation?: ScreenOrientationTypes;
|
|
215
|
-
/**
|
|
216
|
-
* Allows to set background color for the `Screen` component itself.
|
|
217
|
-
* This might come handy when using `formSheet` stack presentation, when the content view is clipped.
|
|
218
|
-
*
|
|
219
|
-
* We plan to get rid of this prop once the workaround is no longer needed.
|
|
220
|
-
*/
|
|
221
|
-
unstable_screenStyle?: Pick<ViewStyle, 'backgroundColor'>;
|
|
222
215
|
/**
|
|
223
216
|
* Describes heights where a sheet can rest.
|
|
224
217
|
* Works only when `presentation` is set to `formSheet`.
|
|
@@ -325,7 +318,7 @@ export interface ScreenProps extends ViewProps {
|
|
|
325
318
|
* - "fade" – fades screen in or out
|
|
326
319
|
* - "fade_from_bottom" – performs a fade from bottom animation
|
|
327
320
|
* - "flip" – flips the screen, requires stackPresentation: "modal" (iOS only)
|
|
328
|
-
* - "simple_push" – performs a default animation, but without
|
|
321
|
+
* - "simple_push" – performs a default animation, but without native header transition (iOS only)
|
|
329
322
|
* - `slide_from_bottom` – performs a slide from bottom animation
|
|
330
323
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
331
324
|
* - "slide_from_left" - slide in the new screen from left to right
|
|
@@ -381,7 +374,7 @@ export interface ScreenProps extends ViewProps {
|
|
|
381
374
|
*/
|
|
382
375
|
swipeDirection?: SwipeDirectionTypes;
|
|
383
376
|
/**
|
|
384
|
-
* Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `
|
|
377
|
+
* Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `500`.
|
|
385
378
|
* The duration of `default` and `flip` transitions isn't customizable.
|
|
386
379
|
*
|
|
387
380
|
* @platform ios
|
|
@@ -415,13 +408,12 @@ export interface ScreenContainerProps extends ViewProps {
|
|
|
415
408
|
export interface GestureDetectorBridge {
|
|
416
409
|
stackUseEffectCallback: (stackRef: React.MutableRefObject<React.Ref<NativeStackNavigatorProps>>) => void;
|
|
417
410
|
}
|
|
418
|
-
export interface ScreenStackProps extends ViewProps {
|
|
411
|
+
export interface ScreenStackProps extends ViewProps, GestureProps {
|
|
419
412
|
children?: React.ReactNode;
|
|
420
413
|
/**
|
|
421
414
|
* A callback that gets called when the current screen finishes its transition.
|
|
422
415
|
*/
|
|
423
416
|
onFinishTransitioning?: (e: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
424
|
-
gestureDetectorBridge?: React.MutableRefObject<GestureDetectorBridge>;
|
|
425
417
|
ref?: React.MutableRefObject<React.Ref<View>>;
|
|
426
418
|
}
|
|
427
419
|
export interface ScreenStackHeaderConfigProps extends ViewProps {
|
|
@@ -719,4 +711,48 @@ export interface SearchBarProps {
|
|
|
719
711
|
*/
|
|
720
712
|
shouldShowHintSearchIcon?: boolean;
|
|
721
713
|
}
|
|
714
|
+
/**
|
|
715
|
+
* Custom Screen Transition
|
|
716
|
+
*/
|
|
717
|
+
/**
|
|
718
|
+
* copy from GestureHandler to avoid strong dependency
|
|
719
|
+
*/
|
|
720
|
+
export type PanGestureHandlerEventPayload = {
|
|
721
|
+
x: number;
|
|
722
|
+
y: number;
|
|
723
|
+
absoluteX: number;
|
|
724
|
+
absoluteY: number;
|
|
725
|
+
translationX: number;
|
|
726
|
+
translationY: number;
|
|
727
|
+
velocityX: number;
|
|
728
|
+
velocityY: number;
|
|
729
|
+
};
|
|
730
|
+
/**
|
|
731
|
+
* copy from Reanimated to avoid strong dependency
|
|
732
|
+
*/
|
|
733
|
+
export type GoBackGesture = 'swipeRight' | 'swipeLeft' | 'swipeUp' | 'swipeDown' | 'verticalSwipe' | 'horizontalSwipe' | 'twoDimensionalSwipe';
|
|
734
|
+
export interface MeasuredDimensions {
|
|
735
|
+
x: number;
|
|
736
|
+
y: number;
|
|
737
|
+
width: number;
|
|
738
|
+
height: number;
|
|
739
|
+
pageX: number;
|
|
740
|
+
pageY: number;
|
|
741
|
+
}
|
|
742
|
+
export type AnimatedScreenTransition = {
|
|
743
|
+
topScreenStyle: (event: PanGestureHandlerEventPayload, screenSize: MeasuredDimensions) => Record<string, unknown>;
|
|
744
|
+
belowTopScreenStyle: (event: PanGestureHandlerEventPayload, screenSize: MeasuredDimensions) => Record<string, unknown>;
|
|
745
|
+
};
|
|
746
|
+
export type ScreensRefsHolder = Record<string, React.RefObject<View>>;
|
|
747
|
+
export interface GestureProps {
|
|
748
|
+
screensRefs?: React.MutableRefObject<ScreensRefsHolder>;
|
|
749
|
+
currentScreenId?: string;
|
|
750
|
+
goBackGesture?: GoBackGesture;
|
|
751
|
+
transitionAnimation?: AnimatedScreenTransition;
|
|
752
|
+
screenEdgeGesture?: boolean;
|
|
753
|
+
}
|
|
754
|
+
export interface GestureProviderProps extends GestureProps {
|
|
755
|
+
children?: React.ReactNode;
|
|
756
|
+
gestureDetectorBridge: React.MutableRefObject<GestureDetectorBridge>;
|
|
757
|
+
}
|
|
722
758
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,uBAAuB,EACvB,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
export declare const isSearchBarAvailableForCurrentPlatform: boolean;
|
|
2
2
|
export declare function executeNativeBackPress(): boolean;
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Exposes information useful for downstream navigation library implementers,
|
|
5
|
+
* so they can keep reasonable backward compatibility, if desired.
|
|
6
|
+
*
|
|
7
|
+
* We don't mean for this object to only grow in number of fields, however at the same time
|
|
8
|
+
* we won't be very hasty to reduce it. Expect gradual changes.
|
|
9
|
+
*/
|
|
10
|
+
export declare const compatibilityFlags: {
|
|
11
|
+
/**
|
|
12
|
+
* Because of a bug introduced in https://github.com/software-mansion/react-native-screens/pull/1646
|
|
13
|
+
* react-native-screens v3.21 changed how header's backTitle handles whitespace strings in https://github.com/software-mansion/react-native-screens/pull/1726
|
|
14
|
+
* To allow for backwards compatibility in @react-navigation/native-stack we need a way to check if this version or newer is used.
|
|
15
|
+
* See https://github.com/react-navigation/react-navigation/pull/11423 for more context.
|
|
16
|
+
*/
|
|
17
|
+
isNewBackTitleImplementation: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* With version 4.0.0 the header implementation has been changed. To allow for backward compat
|
|
20
|
+
* with native-stack@v6 we want to expose a way to check whether the new implementation
|
|
21
|
+
* is in use or not.
|
|
22
|
+
*
|
|
23
|
+
* See:
|
|
24
|
+
* * https://github.com/software-mansion/react-native-screens/pull/2325
|
|
25
|
+
* * https://github.com/react-navigation/react-navigation/pull/12125
|
|
26
|
+
*/
|
|
27
|
+
usesHeaderFlexboxImplementation: boolean;
|
|
28
|
+
};
|
|
4
29
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sCAAsC,SAG5B,CAAC;AAExB,wBAAgB,sBAAsB,YAIrC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sCAAsC,SAG5B,CAAC;AAExB,wBAAgB,sBAAsB,YAIrC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;IAC7B;;;;;OAKG;;IAGH;;;;;;;;OAQG;;CAEJ,CAAC"}
|
package/native-stack/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Native Stack Navigator
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> [!CAUTION]
|
|
4
|
+
> NativeStack has been moved from react-native-screens/native-stack to @react-navigation/native since version v6. With react-native-screens v4 native stack v5 (react-native-screens/native-stack) is deprecated and marked for removal in the upcoming minor release, react-native-screens v4 will support only @react-navigation/native-stack v7.
|
|
4
5
|
|
|
5
6
|
Provides a way for your app to transition between screens where each new screen is placed on top of a stack.
|
|
6
7
|
|
|
@@ -95,7 +96,7 @@ Boolean indicating whether the swipe gesture should work on whole screen. Swipin
|
|
|
95
96
|
|
|
96
97
|
Boolean indicating whether the full screen dismiss gesture has shadow under view during transition. The gesture uses custom transition and thus
|
|
97
98
|
doesn't have a shadow by default. When enabled, a custom shadow view is added during the transition which tries to mimic the
|
|
98
|
-
default iOS shadow. Defaults to `
|
|
99
|
+
default iOS shadow. Defaults to `true`.
|
|
99
100
|
|
|
100
101
|
#### `gestureEnabled` (iOS only)
|
|
101
102
|
|
|
@@ -324,7 +325,7 @@ How the given screen should appear/disappear when pushed or popped at the top of
|
|
|
324
325
|
- `fade` - fades screen in or out.
|
|
325
326
|
- `fade_from_bottom` – performs a fade from bottom animation
|
|
326
327
|
- `flip` – flips the screen, requires stackPresentation: `modal` (iOS only)
|
|
327
|
-
- `simple_push` – performs a default animation, but without
|
|
328
|
+
- `simple_push` – performs a default animation, but without native header transition (iOS only)
|
|
328
329
|
- `slide_from_bottom` – performs a slide from bottom animation
|
|
329
330
|
- `slide_from_right` - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
330
331
|
- `slide_from_left` - slide in the new screen from left to right
|
|
@@ -365,7 +366,7 @@ A string that can be used as a fallback for `headerTitle`.
|
|
|
365
366
|
|
|
366
367
|
#### `transitionDuration` (iOS only)
|
|
367
368
|
|
|
368
|
-
Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `
|
|
369
|
+
Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `500`.
|
|
369
370
|
|
|
370
371
|
The duration of `default` and `flip` transitions isn't customizable.
|
|
371
372
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"main": "../lib/commonjs/native-stack/index",
|
|
3
|
+
"module": "../lib/module/native-stack/index",
|
|
4
|
+
"react-native": "../src/native-stack/index",
|
|
5
|
+
"types": "../lib/typescript/native-stack/index.d.ts"
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screens",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Native navigation primitives for your React Native app.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"submodules": "git submodule update --init --recursive && (cd react-navigation && yarn)",
|
package/react-native.config.js
CHANGED
|
@@ -1,34 +1,22 @@
|
|
|
1
|
-
let supportsCodegenConfig = false;
|
|
2
|
-
try {
|
|
3
|
-
const rnCliAndroidVersion =
|
|
4
|
-
require('@react-native-community/cli-platform-android/package.json').version;
|
|
5
|
-
const [major] = rnCliAndroidVersion.split('.');
|
|
6
|
-
supportsCodegenConfig = major >= 9;
|
|
7
|
-
} catch (e) {
|
|
8
|
-
// ignore
|
|
9
|
-
}
|
|
10
|
-
|
|
11
1
|
module.exports = {
|
|
12
2
|
dependency: {
|
|
13
3
|
platforms: {
|
|
14
|
-
android:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
: {},
|
|
4
|
+
android: {
|
|
5
|
+
componentDescriptors: [
|
|
6
|
+
"RNSFullWindowOverlayComponentDescriptor",
|
|
7
|
+
"RNSScreenContainerComponentDescriptor",
|
|
8
|
+
"RNSScreenNavigationContainerComponentDescriptor",
|
|
9
|
+
"RNSScreenStackHeaderConfigComponentDescriptor",
|
|
10
|
+
"RNSScreenStackHeaderSubviewComponentDescriptor",
|
|
11
|
+
"RNSScreenStackComponentDescriptor",
|
|
12
|
+
"RNSSearchBarComponentDescriptor",
|
|
13
|
+
'RNSScreenComponentDescriptor',
|
|
14
|
+
"RNSScreenFooterComponentDescriptor",
|
|
15
|
+
"RNSScreenContentWrapperComponentDescriptor",
|
|
16
|
+
'RNSModalScreenComponentDescriptor'
|
|
17
|
+
],
|
|
18
|
+
cmakeListsPath: "../android/src/main/jni/CMakeLists.txt"
|
|
19
|
+
},
|
|
32
20
|
},
|
|
33
21
|
},
|
|
34
22
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Platform, type ViewProps } from 'react-native';
|
|
3
|
+
// @ts-expect-error importing private component
|
|
4
|
+
// eslint-disable-next-line import/namespace, import/default, import/no-named-as-default, import/no-named-as-default-member
|
|
5
|
+
import AppContainer from 'react-native/Libraries/ReactNative/AppContainer';
|
|
6
|
+
import ScreenContentWrapper from './ScreenContentWrapper';
|
|
7
|
+
import { StackPresentationTypes } from '../types';
|
|
8
|
+
|
|
9
|
+
type ContainerProps = ViewProps & {
|
|
10
|
+
stackPresentation: StackPresentationTypes;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* This view must *not* be flattened.
|
|
16
|
+
* See https://github.com/software-mansion/react-native-screens/pull/1825
|
|
17
|
+
* for detailed explanation.
|
|
18
|
+
*/
|
|
19
|
+
let DebugContainer: React.ComponentType<ContainerProps> = props => {
|
|
20
|
+
return <ScreenContentWrapper {...props} />;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
24
|
+
// eslint-disable-next-line react/display-name
|
|
25
|
+
DebugContainer = (props: ContainerProps) => {
|
|
26
|
+
const { stackPresentation, ...rest } = props;
|
|
27
|
+
|
|
28
|
+
if (
|
|
29
|
+
Platform.OS === 'ios' &&
|
|
30
|
+
stackPresentation !== 'push' &&
|
|
31
|
+
stackPresentation !== 'formSheet'
|
|
32
|
+
) {
|
|
33
|
+
// This is necessary for LogBox
|
|
34
|
+
return (
|
|
35
|
+
<AppContainer>
|
|
36
|
+
<ScreenContentWrapper {...rest} />
|
|
37
|
+
</AppContainer>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return <ScreenContentWrapper {...rest} />;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
DebugContainer.displayName = 'DebugContainer';
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default DebugContainer;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import React, { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Platform,
|
|
4
|
+
StyleProp,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
View,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
useWindowDimensions,
|
|
9
|
+
} from 'react-native';
|
|
3
10
|
|
|
4
11
|
// Native components
|
|
5
12
|
import FullWindowOverlayNativeComponent from '../fabric/FullWindowOverlayNativeComponent';
|
|
@@ -10,13 +17,14 @@ const NativeFullWindowOverlay: React.ComponentType<
|
|
|
10
17
|
> = FullWindowOverlayNativeComponent as any;
|
|
11
18
|
|
|
12
19
|
function FullWindowOverlay(props: { children: ReactNode }) {
|
|
20
|
+
const { width, height } = useWindowDimensions();
|
|
13
21
|
if (Platform.OS !== 'ios') {
|
|
14
22
|
console.warn('Using FullWindowOverlay is only valid on iOS devices.');
|
|
15
23
|
return <View {...props} />;
|
|
16
24
|
}
|
|
17
25
|
return (
|
|
18
26
|
<NativeFullWindowOverlay
|
|
19
|
-
style={{
|
|
27
|
+
style={[StyleSheet.absoluteFill, { width, height }]}>
|
|
20
28
|
{props.children}
|
|
21
29
|
</NativeFullWindowOverlay>
|
|
22
30
|
);
|
|
@@ -5,7 +5,7 @@ import { Animated, View, Platform } from 'react-native';
|
|
|
5
5
|
|
|
6
6
|
import TransitionProgressContext from '../TransitionProgressContext';
|
|
7
7
|
import DelayedFreeze from './helpers/DelayedFreeze';
|
|
8
|
-
import { ScreenProps } from '
|
|
8
|
+
import { ScreenProps } from '../types';
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
11
|
freezeEnabled,
|
|
@@ -14,23 +14,20 @@ import {
|
|
|
14
14
|
} from '../core';
|
|
15
15
|
|
|
16
16
|
// Native components
|
|
17
|
-
import ScreenNativeComponent
|
|
18
|
-
|
|
17
|
+
import ScreenNativeComponent, {
|
|
18
|
+
NativeProps as ScreenNativeComponentProps,
|
|
19
|
+
} from '../fabric/ScreenNativeComponent';
|
|
20
|
+
import ModalScreenNativeComponent, {
|
|
21
|
+
NativeProps as ModalScreenNativeComponentProps,
|
|
22
|
+
} from '../fabric/ModalScreenNativeComponent';
|
|
19
23
|
import { usePrevious } from './helpers/usePrevious';
|
|
20
24
|
|
|
21
|
-
type
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
sheetInitialDetent: number;
|
|
26
|
-
sheetLargestUndimmedDetent: number;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const NativeScreen: React.ComponentType<NativeScreenProps> =
|
|
30
|
-
ScreenNativeComponent as React.ComponentType<NativeScreenProps>;
|
|
31
|
-
const AnimatedNativeScreen = Animated.createAnimatedComponent(NativeScreen);
|
|
25
|
+
type NativeProps = ScreenNativeComponentProps | ModalScreenNativeComponentProps;
|
|
26
|
+
const AnimatedNativeScreen = Animated.createAnimatedComponent(
|
|
27
|
+
ScreenNativeComponent,
|
|
28
|
+
);
|
|
32
29
|
const AnimatedNativeModalScreen = Animated.createAnimatedComponent(
|
|
33
|
-
ModalScreenNativeComponent
|
|
30
|
+
ModalScreenNativeComponent,
|
|
34
31
|
);
|
|
35
32
|
|
|
36
33
|
// Incomplete type, all accessible properties available at:
|
|
@@ -196,6 +193,11 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
196
193
|
sheetInitialDetentIndex = 0,
|
|
197
194
|
// Other
|
|
198
195
|
stackPresentation,
|
|
196
|
+
// Events for override
|
|
197
|
+
onAppear,
|
|
198
|
+
onDisappear,
|
|
199
|
+
onWillAppear,
|
|
200
|
+
onWillDisappear,
|
|
199
201
|
} = rest;
|
|
200
202
|
|
|
201
203
|
if (enabled && isNativePlatformSupported) {
|
|
@@ -273,6 +275,22 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
273
275
|
<DelayedFreeze freeze={freezeOnBlur && activityState === 0}>
|
|
274
276
|
<AnimatedScreen
|
|
275
277
|
{...props}
|
|
278
|
+
/**
|
|
279
|
+
* This messy override is to conform NativeProps used by codegen and
|
|
280
|
+
* our Public API. To see reasoning go to this PR:
|
|
281
|
+
* https://github.com/software-mansion/react-native-screens/pull/2423#discussion_r1810616995
|
|
282
|
+
*/
|
|
283
|
+
onAppear={onAppear as NativeProps['onAppear']}
|
|
284
|
+
onDisappear={onDisappear as NativeProps['onDisappear']}
|
|
285
|
+
onWillAppear={onWillAppear as NativeProps['onWillAppear']}
|
|
286
|
+
onWillDisappear={onWillDisappear as NativeProps['onWillDisappear']}
|
|
287
|
+
onGestureCancel={
|
|
288
|
+
(onGestureCancel as NativeProps['onGestureCancel']) ??
|
|
289
|
+
(() => {
|
|
290
|
+
// for internal use
|
|
291
|
+
})
|
|
292
|
+
}
|
|
293
|
+
//
|
|
276
294
|
// Hierarchy of screens is handled on the native side and setting zIndex value causes this issue:
|
|
277
295
|
// https://github.com/software-mansion/react-native-screens/issues/2345
|
|
278
296
|
// With below change of zIndex, we force RN diffing mechanism to NOT include detaching and attaching mutation in one transaction.
|
|
@@ -310,12 +328,6 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
310
328
|
],
|
|
311
329
|
{ useNativeDriver: true },
|
|
312
330
|
)
|
|
313
|
-
}
|
|
314
|
-
onGestureCancel={
|
|
315
|
-
onGestureCancel ??
|
|
316
|
-
(() => {
|
|
317
|
-
// for internal use
|
|
318
|
-
})
|
|
319
331
|
}>
|
|
320
332
|
{!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed
|
|
321
333
|
children
|
|
@@ -361,10 +373,12 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
361
373
|
// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)
|
|
362
374
|
export const ScreenContext = React.createContext(InnerScreen);
|
|
363
375
|
|
|
364
|
-
const Screen
|
|
376
|
+
const Screen = React.forwardRef<View, ScreenProps>((props, ref) => {
|
|
365
377
|
const ScreenWrapper = React.useContext(ScreenContext) || InnerScreen;
|
|
366
378
|
|
|
367
|
-
return <ScreenWrapper {...props} />;
|
|
368
|
-
};
|
|
379
|
+
return <ScreenWrapper {...props} ref={ref} />;
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
Screen.displayName = 'Screen';
|
|
369
383
|
|
|
370
384
|
export default Screen;
|
|
@@ -2,20 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import { Platform, View } from 'react-native';
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import { ScreenContainerProps } from '
|
|
5
|
+
import { ScreenContainerProps } from '../types';
|
|
6
6
|
import { isNativePlatformSupported, screensEnabled } from '../core';
|
|
7
7
|
|
|
8
8
|
// Native components
|
|
9
9
|
import ScreenContainerNativeComponent from '../fabric/ScreenContainerNativeComponent';
|
|
10
10
|
import ScreenNavigationContainerNativeComponent from '../fabric/ScreenNavigationContainerNativeComponent';
|
|
11
11
|
|
|
12
|
-
export const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =
|
|
13
|
-
Platform.OS !== 'web' ? (ScreenContainerNativeComponent as any) : View;
|
|
14
|
-
export const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =
|
|
15
|
-
Platform.OS !== 'web'
|
|
16
|
-
? (ScreenNavigationContainerNativeComponent as any)
|
|
17
|
-
: View;
|
|
18
|
-
|
|
19
12
|
function ScreenContainer(props: ScreenContainerProps) {
|
|
20
13
|
const { enabled = screensEnabled(), hasTwoStates, ...rest } = props;
|
|
21
14
|
|
|
@@ -23,11 +16,11 @@ function ScreenContainer(props: ScreenContainerProps) {
|
|
|
23
16
|
if (hasTwoStates) {
|
|
24
17
|
const ScreenNavigationContainer =
|
|
25
18
|
Platform.OS === 'ios'
|
|
26
|
-
?
|
|
27
|
-
:
|
|
19
|
+
? ScreenNavigationContainerNativeComponent
|
|
20
|
+
: ScreenContainerNativeComponent;
|
|
28
21
|
return <ScreenNavigationContainer {...rest} />;
|
|
29
22
|
}
|
|
30
|
-
return <
|
|
23
|
+
return <ScreenContainerNativeComponent {...rest} />;
|
|
31
24
|
}
|
|
32
25
|
return <View {...rest} />;
|
|
33
26
|
}
|