react-native-screens 4.0.0-beta.0 → 4.0.0-beta.10
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 +1 -1
- package/android/build.gradle +26 -6
- package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
- package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +4 -3
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +54 -1
- package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +2 -4
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +59 -36
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +26 -5
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +37 -17
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +1 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +8 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +2 -1
- package/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt +3 -3
- package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +17 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
- package/android/src/main/jni/rnscreens.h +2 -0
- package/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml +5 -0
- package/android/src/main/res/base/anim/{rns_slide_out_to_left_ios.xml → rns_ios_from_left_background_open.xml} +1 -1
- package/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +6 -0
- package/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +6 -0
- package/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml +5 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +1 -1
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +5 -99
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +101 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +2 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +44 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +8 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +32 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +23 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +50 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +32 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +40 -0
- package/ios/RNSConvert.mm +4 -2
- package/ios/RNSFullWindowOverlay.mm +6 -0
- package/ios/RNSModalScreen.mm +7 -0
- package/ios/RNSScreen.h +9 -0
- package/ios/RNSScreen.mm +46 -8
- package/ios/RNSScreenContainer.mm +6 -0
- package/ios/RNSScreenContentWrapper.mm +6 -0
- package/ios/RNSScreenFooter.mm +6 -0
- package/ios/RNSScreenNavigationContainer.mm +7 -0
- package/ios/RNSScreenStack.mm +86 -8
- package/ios/RNSScreenStackHeaderConfig.h +63 -0
- package/ios/RNSScreenStackHeaderConfig.mm +133 -6
- package/ios/RNSScreenStackHeaderSubview.mm +32 -3
- package/ios/RNSSearchBar.mm +7 -0
- package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
- package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
- package/ios/utils/UIView+RNSUtility.mm +0 -1
- package/lib/commonjs/TransitionProgressContext.js +1 -0
- package/lib/commonjs/TransitionProgressContext.js.map +1 -1
- package/lib/commonjs/components/Screen.js +111 -5
- package/lib/commonjs/components/Screen.js.map +1 -1
- package/lib/commonjs/components/Screen.web.js +2 -0
- package/lib/commonjs/components/Screen.web.js.map +1 -1
- package/lib/commonjs/components/ScreenContainer.js +1 -0
- package/lib/commonjs/components/ScreenContainer.js.map +1 -1
- package/lib/commonjs/components/ScreenContentWrapper.web.js +11 -0
- package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
- package/lib/commonjs/components/ScreenFooter.web.js +11 -0
- package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
- package/lib/commonjs/components/ScreenStack.js +1 -0
- package/lib/commonjs/components/ScreenStack.js.map +1 -1
- package/lib/commonjs/components/ScreenStackHeaderConfig.js +54 -17
- package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/commonjs/components/SearchBar.js +1 -0
- package/lib/commonjs/components/SearchBar.js.map +1 -1
- package/lib/commonjs/components/helpers/usePrevious.js +15 -0
- package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
- package/lib/commonjs/core.js +1 -0
- package/lib/commonjs/core.js.map +1 -1
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +1 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/NativeScreensModule.js +2 -1
- package/lib/commonjs/fabric/NativeScreensModule.js.map +1 -1
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +4 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +4 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/SearchBarNativeComponent.js +2 -2
- package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
- package/lib/commonjs/native-stack/contexts/GHContext.js +1 -0
- package/lib/commonjs/native-stack/contexts/GHContext.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +7 -13
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/TransitionProgressContext.js +2 -0
- package/lib/module/TransitionProgressContext.js.map +1 -1
- package/lib/module/components/Screen.js +112 -5
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/module/components/Screen.web.js +3 -0
- package/lib/module/components/Screen.web.js.map +1 -1
- package/lib/module/components/ScreenContainer.js +2 -0
- package/lib/module/components/ScreenContainer.js.map +1 -1
- package/lib/module/components/ScreenContentWrapper.web.js +5 -0
- package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
- package/lib/module/components/ScreenFooter.web.js +5 -0
- package/lib/module/components/ScreenFooter.web.js.map +1 -0
- package/lib/module/components/ScreenStack.js +2 -0
- package/lib/module/components/ScreenStack.js.map +1 -1
- package/lib/module/components/ScreenStackHeaderConfig.js +52 -16
- package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -1
- package/lib/module/components/SearchBar.js +2 -0
- package/lib/module/components/SearchBar.js.map +1 -1
- package/lib/module/components/helpers/usePrevious.js +9 -0
- package/lib/module/components/helpers/usePrevious.js.map +1 -0
- package/lib/module/core.js +2 -0
- package/lib/module/core.js.map +1 -1
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js +2 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/module/fabric/ModalScreenNativeComponent.js +2 -0
- package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/NativeScreensModule.js +2 -1
- package/lib/module/fabric/NativeScreensModule.js.map +1 -1
- package/lib/module/fabric/ScreenContainerNativeComponent.js +2 -0
- package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNativeComponent.js +2 -0
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +2 -0
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +5 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +5 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackNativeComponent.js +2 -0
- package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/module/fabric/SearchBarNativeComponent.js +2 -0
- package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
- package/lib/module/index.js +6 -6
- package/lib/module/native-stack/contexts/GHContext.js +2 -0
- package/lib/module/native-stack/contexts/GHContext.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +7 -13
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/typescript/TransitionProgressContext.d.ts.map +1 -1
- package/lib/typescript/components/Screen.d.ts +5 -1
- package/lib/typescript/components/Screen.d.ts.map +1 -1
- package/lib/typescript/components/Screen.web.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContainer.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts +5 -0
- package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenFooter.web.d.ts +5 -0
- package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
- package/lib/typescript/components/ScreenStack.d.ts.map +1 -1
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +1 -1
- package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -1
- package/lib/typescript/components/SearchBar.d.ts.map +1 -1
- package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
- package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
- package/lib/typescript/core.d.ts.map +1 -1
- package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +1 -0
- package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/NativeScreensModule.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenContainerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenNavigationContainerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/ScreenStackNativeComponent.d.ts.map +1 -1
- package/lib/typescript/fabric/SearchBarNativeComponent.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +18 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/native-stack/contexts/GHContext.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +14 -5
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +56 -11
- package/lib/typescript/types.d.ts.map +1 -1
- package/native-stack/README.md +30 -5
- package/package.json +1 -1
- package/src/TransitionProgressContext.tsx +2 -0
- package/src/components/Screen.tsx +161 -8
- package/src/components/Screen.web.tsx +3 -0
- package/src/components/ScreenContainer.tsx +2 -0
- package/src/components/ScreenContentWrapper.web.tsx +6 -0
- package/src/components/ScreenFooter.web.tsx +6 -0
- package/src/components/ScreenStack.tsx +2 -0
- package/src/components/ScreenStackHeaderConfig.tsx +61 -26
- package/src/components/SearchBar.tsx +2 -0
- package/src/components/helpers/usePrevious.tsx +11 -0
- package/src/core.ts +2 -0
- package/src/fabric/FullWindowOverlayNativeComponent.ts +2 -0
- package/src/fabric/ModalScreenNativeComponent.ts +3 -0
- package/src/fabric/NativeScreensModule.ts +2 -0
- package/src/fabric/ScreenContainerNativeComponent.ts +2 -0
- package/src/fabric/ScreenNativeComponent.ts +4 -1
- package/src/fabric/ScreenNavigationContainerNativeComponent.ts +2 -0
- package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +5 -1
- package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +5 -1
- package/src/fabric/ScreenStackNativeComponent.ts +2 -0
- package/src/fabric/SearchBarNativeComponent.ts +2 -0
- package/src/index.tsx +6 -6
- package/src/native-stack/contexts/GHContext.tsx +2 -0
- package/src/native-stack/types.tsx +14 -5
- package/src/native-stack/views/NativeStackView.tsx +11 -16
- package/src/types.tsx +63 -11
- package/windows/RNScreens/Screen.h +2 -1
- /package/android/src/main/res/base/anim/{rns_slide_in_from_left_ios.xml → rns_ios_from_right_background_close.xml} +0 -0
- /package/android/src/main/res/base/anim/{rns_slide_out_to_right_ios.xml → rns_ios_from_right_foreground_close.xml} +0 -0
- /package/android/src/main/res/base/anim/{rns_slide_in_from_right_ios.xml → rns_ios_from_right_foreground_open.xml} +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export * from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Core
|
|
4
|
+
*/
|
|
2
5
|
export { enableScreens, enableFreeze, screensEnabled, freezeEnabled, shouldUseActivityState, } from './core';
|
|
6
|
+
/**
|
|
7
|
+
* RNS Components
|
|
8
|
+
*/
|
|
3
9
|
export { default as Screen, NativeScreen, InnerScreen, ScreenContext, } from './components/Screen';
|
|
4
10
|
export { default as ScreenContainer, NativeScreenContainer, NativeScreenNavigationContainer, } from './components/ScreenContainer';
|
|
5
11
|
export { default as ScreenStack } from './components/ScreenStack';
|
|
@@ -8,8 +14,20 @@ export { default as SearchBar, NativeSearchBar, NativeSearchBarCommands, } from
|
|
|
8
14
|
export { default as FullWindowOverlay } from './components/FullWindowOverlay';
|
|
9
15
|
export { default as ScreenFooter, NativeScreenFooter, } from './components/ScreenFooter';
|
|
10
16
|
export { default as ScreenContentWrapper, NativeScreenContentWrapper, } from './components/ScreenContentWrapper';
|
|
17
|
+
/**
|
|
18
|
+
* Modules
|
|
19
|
+
*/
|
|
11
20
|
export { default as NativeScreensModule } from './fabric/NativeScreensModule';
|
|
21
|
+
/**
|
|
22
|
+
* Contexts
|
|
23
|
+
*/
|
|
12
24
|
export { GHContext } from './native-stack/contexts/GHContext';
|
|
25
|
+
/**
|
|
26
|
+
* Utils
|
|
27
|
+
*/
|
|
13
28
|
export { isSearchBarAvailableForCurrentPlatform, isNewBackTitleImplementation, executeNativeBackPress, } from './utils';
|
|
29
|
+
/**
|
|
30
|
+
* Hooks
|
|
31
|
+
*/
|
|
14
32
|
export { default as useTransitionProgress } from './useTransitionProgress';
|
|
15
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB;;GAEG;AACH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,sBAAsB,GACvB,MAAM,QAAQ,CAAC;AAEhB;;GAEG;AACH,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,eAAe,EACf,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EACL,OAAO,IAAI,YAAY,EACvB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAE3C;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAE9E;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D;;GAEG;AACH,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GHContext.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/contexts/GHContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GHContext.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/contexts/GHContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,eAAO,MAAM,SAAS,wBACZ,kBAAkB,oBAAoB,CAAC,uBAChD,CAAC"}
|
|
@@ -403,7 +403,7 @@ export type NativeStackNavigationOptions = {
|
|
|
403
403
|
*
|
|
404
404
|
* Defaults to `0` - which represents first detent in the detents array.
|
|
405
405
|
*/
|
|
406
|
-
|
|
406
|
+
sheetInitialDetentIndex?: ScreenProps['sheetInitialDetentIndex'];
|
|
407
407
|
/**
|
|
408
408
|
* The largest sheet detent for which a view underneath won't be dimmed.
|
|
409
409
|
* Works only when `stackPresentation` is set to `formSheet`.
|
|
@@ -411,9 +411,17 @@ export type NativeStackNavigationOptions = {
|
|
|
411
411
|
* This prop can be set to an number, which indicates index of detent in `sheetAllowedDetents` array for which
|
|
412
412
|
* there won't be a dimming view beneath the sheet.
|
|
413
413
|
*
|
|
414
|
-
*
|
|
414
|
+
* Additionaly there are following options available:
|
|
415
|
+
*
|
|
416
|
+
* * `none` - there will be dimming view for all detents levels,
|
|
417
|
+
* * `largest` - there won't be a dimming view for any detent level.
|
|
418
|
+
*
|
|
419
|
+
* There also legacy & **deprecated** prop values available: `medium`, `large` (don't confuse with `largest`), `all`, which work in tandem with
|
|
420
|
+
* corresponding legacy prop values for `sheetAllowedDetents` prop.
|
|
421
|
+
*
|
|
422
|
+
* Defaults to `none`, indicating that the dimming view should be always present.
|
|
415
423
|
*/
|
|
416
|
-
|
|
424
|
+
sheetLargestUndimmedDetentIndex?: ScreenProps['sheetLargestUndimmedDetentIndex'];
|
|
417
425
|
/**
|
|
418
426
|
* How the screen should appear/disappear when pushed or popped at the top of the stack.
|
|
419
427
|
* The following values are currently supported:
|
|
@@ -425,7 +433,8 @@ export type NativeStackNavigationOptions = {
|
|
|
425
433
|
* - "slide_from_bottom" – performs a slide from bottom animation
|
|
426
434
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
427
435
|
* - "slide_from_left" - slide in the new screen from left to right
|
|
428
|
-
* - "
|
|
436
|
+
* - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
437
|
+
* - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
429
438
|
* - "none" – the screen appears/dissapears without an animation
|
|
430
439
|
*/
|
|
431
440
|
stackAnimation?: ScreenProps['stackAnimation'];
|
|
@@ -499,7 +508,7 @@ export type NativeStackNavigationOptions = {
|
|
|
499
508
|
*
|
|
500
509
|
* @platform android
|
|
501
510
|
*/
|
|
502
|
-
|
|
511
|
+
unstable_sheetFooter?: () => React.ReactNode;
|
|
503
512
|
};
|
|
504
513
|
export type NativeStackNavigatorProps = DefaultNavigatorOptions<NativeStackNavigationOptions> & StackRouterOptions & NativeStackNavigationConfig;
|
|
505
514
|
export type NativeStackDescriptor = Descriptor<ParamListBase, string, StackNavigationState<ParamListBase>, NativeStackNavigationOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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;AAc/B,OAAO,EACL,aAAa,EAEb,oBAAoB,EAKrB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAI7B,MAAM,UAAU,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;AAc/B,OAAO,EACL,aAAa,EAEb,oBAAoB,EAKrB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAI7B,MAAM,UAAU,CAAC;AAsalB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8DF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,qBAMnD"}
|
|
@@ -11,7 +11,7 @@ export type SearchBarCommands = {
|
|
|
11
11
|
};
|
|
12
12
|
export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal';
|
|
13
13
|
export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet';
|
|
14
|
-
export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | '
|
|
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
15
|
export type BlurEffectTypes = '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';
|
|
@@ -36,7 +36,6 @@ export interface ScreenProps extends ViewProps {
|
|
|
36
36
|
active?: 0 | 1 | Animated.AnimatedInterpolation<number>;
|
|
37
37
|
activityState?: 0 | 1 | 2 | Animated.AnimatedInterpolation<number>;
|
|
38
38
|
children?: React.ReactNode;
|
|
39
|
-
unstable_footer?: React.ReactNode;
|
|
40
39
|
/**
|
|
41
40
|
* Boolean indicating that swipe dismissal should trigger animation provided by `stackAnimation`. Defaults to `false`.
|
|
42
41
|
*
|
|
@@ -222,17 +221,31 @@ export interface ScreenProps extends ViewProps {
|
|
|
222
221
|
unstable_screenStyle?: Pick<ViewStyle, 'backgroundColor'>;
|
|
223
222
|
/**
|
|
224
223
|
* Describes heights where a sheet can rest.
|
|
225
|
-
* Works only when `
|
|
224
|
+
* Works only when `presentation` is set to `formSheet`.
|
|
226
225
|
*
|
|
227
226
|
* Heights should be described as fraction (a number from `[0, 1]` interval) of screen height / maximum detent height.
|
|
228
|
-
*
|
|
227
|
+
* You can pass an array of ascending values each defining allowed sheet detent. iOS accepts any number of detents,
|
|
228
|
+
* while **Android is limited to three**.
|
|
229
|
+
*
|
|
230
|
+
* There is also possibility to specify `fitToContents` literal, which intents to set the sheet height
|
|
229
231
|
* to the height of its contents.
|
|
230
232
|
*
|
|
231
|
-
* Please note that the array **must** be sorted in ascending order.
|
|
233
|
+
* Please note that the array **must** be sorted in ascending order. This invariant is verified only in developement mode,
|
|
234
|
+
* where violation results in error.
|
|
235
|
+
*
|
|
236
|
+
* **Android is limited to up 3 values in the array** -- any surplus values, beside first three are ignored.
|
|
237
|
+
*
|
|
238
|
+
* There are also legacy & **deprecated** options available:
|
|
239
|
+
*
|
|
240
|
+
* * 'medium' - corresponds to `[0.5]` detent value, around half of the screen height,
|
|
241
|
+
* * 'large' - corresponds to `[1.0]` detent value, maximum height,
|
|
242
|
+
* * 'all' - corresponds to `[0.5, 1.0]` value, the name is deceiving due to compatibility reasons.
|
|
232
243
|
*
|
|
233
|
-
*
|
|
244
|
+
* These are provided solely for **temporary** backward compatibility and are destined for removal in future versions.
|
|
245
|
+
*
|
|
246
|
+
* Defaults to `[1.0]`.
|
|
234
247
|
*/
|
|
235
|
-
sheetAllowedDetents?: number[];
|
|
248
|
+
sheetAllowedDetents?: number[] | 'fitToContents' | 'medium' | 'large' | 'all';
|
|
236
249
|
/**
|
|
237
250
|
* Integer value describing elevation of the sheet, impacting shadow on the top edge of the sheet.
|
|
238
251
|
*
|
|
@@ -277,16 +290,34 @@ export interface ScreenProps extends ViewProps {
|
|
|
277
290
|
* This prop can be set to an number, which indicates index of detent in `sheetAllowedDetents` array for which
|
|
278
291
|
* there won't be a dimming view beneath the sheet.
|
|
279
292
|
*
|
|
280
|
-
*
|
|
293
|
+
* If the specified index is out of bounds of `sheetAllowedDetents` array, in dev environment mode error will be thrown,
|
|
294
|
+
* in production the value will be reset to default value.
|
|
295
|
+
*
|
|
296
|
+
* Additionaly there are following options available:
|
|
297
|
+
*
|
|
298
|
+
* * `none` - there will be dimming view for all detents levels,
|
|
299
|
+
* * `last` - there won't be a dimming view for any detent level.
|
|
300
|
+
*
|
|
301
|
+
* There also legacy & **deprecated** prop values available: `medium`, `large` (don't confuse with `largest`), `all`, which work in tandem with
|
|
302
|
+
* corresponding legacy prop values for `sheetAllowedDetents` prop.
|
|
303
|
+
*
|
|
304
|
+
* These are provided solely for **temporary** backward compatibility and are destined for removal in future versions.
|
|
305
|
+
*
|
|
306
|
+
* Defaults to `none`, indicating that the dimming view should be always present.
|
|
281
307
|
*/
|
|
282
|
-
|
|
308
|
+
sheetLargestUndimmedDetentIndex?: number | 'none' | 'last' | 'medium' | 'large' | 'all';
|
|
283
309
|
/**
|
|
284
310
|
* Index of the detent the sheet should expand to after being opened.
|
|
285
311
|
* Works only when `stackPresentation` is set to `formSheet`.
|
|
286
312
|
*
|
|
313
|
+
* If the specified index is out of bounds of `sheetAllowedDetents` array, in dev environment more error will be thrown,
|
|
314
|
+
* in production the value will be reset to default value.
|
|
315
|
+
*
|
|
316
|
+
* Additionaly there is `last` value available, when set the sheet will expand initially to last (largest) detent.
|
|
317
|
+
*
|
|
287
318
|
* Defaults to `0` - which represents first detent in the detents array.
|
|
288
319
|
*/
|
|
289
|
-
|
|
320
|
+
sheetInitialDetentIndex?: number | 'last';
|
|
290
321
|
/**
|
|
291
322
|
* How the screen should appear/disappear when pushed or popped at the top of the stack.
|
|
292
323
|
* The following values are currently supported:
|
|
@@ -298,7 +329,8 @@ export interface ScreenProps extends ViewProps {
|
|
|
298
329
|
* - `slide_from_bottom` – performs a slide from bottom animation
|
|
299
330
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
300
331
|
* - "slide_from_left" - slide in the new screen from left to right
|
|
301
|
-
* - "
|
|
332
|
+
* - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
333
|
+
* - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
302
334
|
* - "none" – the screen appears/dissapears without an animation
|
|
303
335
|
*/
|
|
304
336
|
stackAnimation?: StackAnimationTypes;
|
|
@@ -355,6 +387,19 @@ export interface ScreenProps extends ViewProps {
|
|
|
355
387
|
* @platform ios
|
|
356
388
|
*/
|
|
357
389
|
transitionDuration?: number;
|
|
390
|
+
/**
|
|
391
|
+
* Footer component that can be used alongside formSheet stack presentation style.
|
|
392
|
+
*
|
|
393
|
+
* This option is provided, because due to implementation details it might be problematic
|
|
394
|
+
* to implement such layout with JS-only code.
|
|
395
|
+
*
|
|
396
|
+
* Please note that this prop is marked as unstable and might be subject of breaking changes,
|
|
397
|
+
* including removal, in particular when we find solution that will make implementing it with JS
|
|
398
|
+
* straightforward.
|
|
399
|
+
*
|
|
400
|
+
* @platform android
|
|
401
|
+
*/
|
|
402
|
+
unstable_sheetFooter?: () => React.ReactNode;
|
|
358
403
|
}
|
|
359
404
|
export interface ScreenContainerProps extends ViewProps {
|
|
360
405
|
children?: React.ReactNode;
|
|
@@ -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,EACV,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,OAAO,GACP,kBAAkB,GAClB,gBAAgB,GAChB,2BAA2B,GAC3B,iBAAiB,GACjB,WAAW,CAAC;AAChB,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,MAAM,GACN,kBAAkB,GAClB,MAAM,GACN,MAAM,GACN,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"}
|
package/native-stack/README.md
CHANGED
|
@@ -247,14 +247,28 @@ Defaults to `pop`.
|
|
|
247
247
|
Describes heights where a sheet can rest.
|
|
248
248
|
Works only when `stackPresentation` is set to `formSheet`.
|
|
249
249
|
|
|
250
|
-
Heights should be described as fraction (a number from [0, 1] interval) of screen height / maximum detent height.
|
|
251
|
-
There is also possibility to specify `
|
|
250
|
+
Heights should be described as fraction (a number from `[0, 1]` interval) of screen height / maximum detent height.
|
|
251
|
+
There is also possibility to specify `[-1]` literal array with single element, which intets to set the sheet height
|
|
252
252
|
to the height of its contents.
|
|
253
253
|
|
|
254
254
|
Please note that the array **must** be sorted in ascending order.
|
|
255
255
|
|
|
256
|
+
There are also legacy & **deprecated** options available:
|
|
257
|
+
|
|
258
|
+
* 'medium' - corresponds to `[0.5]` detent value, around half of the screen height,
|
|
259
|
+
* 'large' - corresponds to `[1.0]` detent value, maximum height,
|
|
260
|
+
* 'all' - corresponds to `[0.5, 1.0]` value, the name is deceiving due to compatibility reasons.
|
|
261
|
+
|
|
256
262
|
Defaults to `[1.0]` literal.
|
|
257
263
|
|
|
264
|
+
#### `sheetElevation` (Android only)
|
|
265
|
+
|
|
266
|
+
Integer value describing elevation of the sheet, impacting shadow on the top edge of the sheet.
|
|
267
|
+
|
|
268
|
+
Not dynamic - changing it after the component is rendered won't have an effect.
|
|
269
|
+
|
|
270
|
+
Defaults to `24`.
|
|
271
|
+
|
|
258
272
|
#### `sheetExpandsWhenScrolledToEdge` (iOS only)
|
|
259
273
|
|
|
260
274
|
Whether the sheet should expand to larger detent when scrolling.
|
|
@@ -273,9 +287,11 @@ Defaults to system default.
|
|
|
273
287
|
|
|
274
288
|
#### `sheetInitialDetent`
|
|
275
289
|
|
|
276
|
-
|
|
290
|
+
Index of the detent the sheet should expand to after being opened.
|
|
277
291
|
Works only when `presentation` is set to `formSheet`.
|
|
278
292
|
|
|
293
|
+
Defaults to `0` - which represents first detent in the detents array.
|
|
294
|
+
|
|
279
295
|
#### `sheetGrabberVisible` (iOS only)
|
|
280
296
|
|
|
281
297
|
Boolean indicating whether the sheet shows a grabber at the top.
|
|
@@ -290,7 +306,15 @@ Works only when `stackPresentation` is set to `formSheet`.
|
|
|
290
306
|
This prop can be set to an number, which indicates index of detent in `sheetAllowedDetents` array for which
|
|
291
307
|
there won't be a dimming view beneath the sheet.
|
|
292
308
|
|
|
293
|
-
|
|
309
|
+
Additionaly there are following options available:
|
|
310
|
+
|
|
311
|
+
* `none` - there will be dimming view for all detents levels,
|
|
312
|
+
* `largest` - there won't be a dimming view for any detent level.
|
|
313
|
+
|
|
314
|
+
There also legacy & **deprecated** prop values available: `medium`, `large` (don't confuse with `largest`), `all`, which work in tandem with
|
|
315
|
+
corresponding legacy prop values for `sheetAllowedDetents` prop.
|
|
316
|
+
|
|
317
|
+
Defaults to `none`, indicating that the dimming view should be always present.
|
|
294
318
|
|
|
295
319
|
#### `stackAnimation`
|
|
296
320
|
|
|
@@ -304,7 +328,8 @@ How the given screen should appear/disappear when pushed or popped at the top of
|
|
|
304
328
|
- `slide_from_bottom` – performs a slide from bottom animation
|
|
305
329
|
- `slide_from_right` - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
306
330
|
- `slide_from_left` - slide in the new screen from left to right
|
|
307
|
-
- `
|
|
331
|
+
- `"ios_from_right"` - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
332
|
+
- `"ios_from_left"` - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
308
333
|
- `none` - the screen appears/disappears without an animation.
|
|
309
334
|
|
|
310
335
|
Defaults to `default`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screens",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
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)",
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import React from 'react';
|
|
2
4
|
import { Animated, View, Platform } from 'react-native';
|
|
3
5
|
|
|
@@ -14,12 +16,21 @@ import {
|
|
|
14
16
|
// Native components
|
|
15
17
|
import ScreenNativeComponent from '../fabric/ScreenNativeComponent';
|
|
16
18
|
import ModalScreenNativeComponent from '../fabric/ModalScreenNativeComponent';
|
|
19
|
+
import { usePrevious } from './helpers/usePrevious';
|
|
20
|
+
|
|
21
|
+
type NativeScreenProps = Omit<
|
|
22
|
+
ScreenProps,
|
|
23
|
+
'sheetInitialDetentIndex' | 'sheetLargestUndimmedDetentIndex'
|
|
24
|
+
> & {
|
|
25
|
+
sheetInitialDetent: number;
|
|
26
|
+
sheetLargestUndimmedDetent: number;
|
|
27
|
+
};
|
|
17
28
|
|
|
18
|
-
export const NativeScreen: React.ComponentType<
|
|
19
|
-
ScreenNativeComponent as React.ComponentType<
|
|
29
|
+
export const NativeScreen: React.ComponentType<NativeScreenProps> =
|
|
30
|
+
ScreenNativeComponent as React.ComponentType<NativeScreenProps>;
|
|
20
31
|
const AnimatedNativeScreen = Animated.createAnimatedComponent(NativeScreen);
|
|
21
32
|
const AnimatedNativeModalScreen = Animated.createAnimatedComponent(
|
|
22
|
-
ModalScreenNativeComponent as React.ComponentType<
|
|
33
|
+
ModalScreenNativeComponent as React.ComponentType<NativeScreenProps>,
|
|
23
34
|
);
|
|
24
35
|
|
|
25
36
|
// Incomplete type, all accessible properties available at:
|
|
@@ -41,10 +52,121 @@ interface ViewConfig extends View {
|
|
|
41
52
|
};
|
|
42
53
|
}
|
|
43
54
|
|
|
55
|
+
// This value must be kept in sync with native side.
|
|
56
|
+
const SHEET_FIT_TO_CONTENTS = [-1];
|
|
57
|
+
const SHEET_COMPAT_LARGE = [1.0];
|
|
58
|
+
const SHEET_COMPAT_MEDIUM = [0.5];
|
|
59
|
+
const SHEET_COMPAT_ALL = [0.5, 1.0];
|
|
60
|
+
|
|
61
|
+
const SHEET_DIMMED_ALWAYS = -1;
|
|
62
|
+
// const SHEET_DIMMED_NEVER = 9999;
|
|
63
|
+
|
|
64
|
+
function assertDetentsArrayIsSorted(array: number[]) {
|
|
65
|
+
for (let i = 1; i < array.length; i++) {
|
|
66
|
+
if (array[i - 1] > array[i]) {
|
|
67
|
+
throw new Error(
|
|
68
|
+
'[RNScreens] The detent array is not sorted in ascending order!',
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// These exist to transform old 'legacy' values used by the formsheet API to the new API shape.
|
|
75
|
+
// We can get rid of it, once we get rid of support for legacy values: 'large', 'medium', 'all'.
|
|
76
|
+
function resolveSheetAllowedDetents(
|
|
77
|
+
allowedDetentsCompat: ScreenProps['sheetAllowedDetents'],
|
|
78
|
+
): number[] {
|
|
79
|
+
if (Array.isArray(allowedDetentsCompat)) {
|
|
80
|
+
if (Platform.OS === 'android' && allowedDetentsCompat.length > 3) {
|
|
81
|
+
if (__DEV__) {
|
|
82
|
+
console.warn(
|
|
83
|
+
'[RNScreens] Sheets API on Android do accept only up to 3 values. Any surplus value are ignored.',
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
allowedDetentsCompat = allowedDetentsCompat.slice(0, 3);
|
|
87
|
+
}
|
|
88
|
+
if (__DEV__) {
|
|
89
|
+
assertDetentsArrayIsSorted(allowedDetentsCompat);
|
|
90
|
+
}
|
|
91
|
+
return allowedDetentsCompat;
|
|
92
|
+
} else if (allowedDetentsCompat === 'fitToContents') {
|
|
93
|
+
return SHEET_FIT_TO_CONTENTS;
|
|
94
|
+
} else if (allowedDetentsCompat === 'large') {
|
|
95
|
+
return SHEET_COMPAT_LARGE;
|
|
96
|
+
} else if (allowedDetentsCompat === 'medium') {
|
|
97
|
+
return SHEET_COMPAT_MEDIUM;
|
|
98
|
+
} else if (allowedDetentsCompat === 'all') {
|
|
99
|
+
return SHEET_COMPAT_ALL;
|
|
100
|
+
} else {
|
|
101
|
+
// Safe default, only large detent is allowed.
|
|
102
|
+
return [1.0];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function resolveSheetLargestUndimmedDetent(
|
|
107
|
+
lud: ScreenProps['sheetLargestUndimmedDetentIndex'],
|
|
108
|
+
lastDetentIndex: number,
|
|
109
|
+
): number {
|
|
110
|
+
if (typeof lud === 'number') {
|
|
111
|
+
if (!isIndexInClosedRange(lud, SHEET_DIMMED_ALWAYS, lastDetentIndex)) {
|
|
112
|
+
if (__DEV__) {
|
|
113
|
+
throw new Error(
|
|
114
|
+
"[RNScreens] Provided value of 'sheetLargestUndimmedDetentIndex' prop is out of bounds of 'sheetAllowedDetents' array.",
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
// Return default in production
|
|
118
|
+
return SHEET_DIMMED_ALWAYS;
|
|
119
|
+
}
|
|
120
|
+
return lud;
|
|
121
|
+
} else if (lud === 'last') {
|
|
122
|
+
return lastDetentIndex;
|
|
123
|
+
} else if (lud === 'none' || lud === 'all') {
|
|
124
|
+
return SHEET_DIMMED_ALWAYS;
|
|
125
|
+
} else if (lud === 'large') {
|
|
126
|
+
return 1;
|
|
127
|
+
} else if (lud === 'medium') {
|
|
128
|
+
return 0;
|
|
129
|
+
} else {
|
|
130
|
+
// Safe default, every detent is dimmed
|
|
131
|
+
return SHEET_DIMMED_ALWAYS;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function resolveSheetInitialDetentIndex(
|
|
136
|
+
index: ScreenProps['sheetInitialDetentIndex'],
|
|
137
|
+
lastDetentIndex: number,
|
|
138
|
+
): number {
|
|
139
|
+
if (index === 'last') {
|
|
140
|
+
index = lastDetentIndex;
|
|
141
|
+
} else if (index == null) {
|
|
142
|
+
// Intentional check for undefined & null ^
|
|
143
|
+
index = 0;
|
|
144
|
+
}
|
|
145
|
+
if (!isIndexInClosedRange(index, 0, lastDetentIndex)) {
|
|
146
|
+
if (__DEV__) {
|
|
147
|
+
throw new Error(
|
|
148
|
+
"[RNScreens] Provided value of 'sheetInitialDetentIndex' prop is out of bounds of 'sheetAllowedDetents' array.",
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
// Return default in production
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
return index;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function isIndexInClosedRange(
|
|
158
|
+
value: number,
|
|
159
|
+
lowerBound: number,
|
|
160
|
+
upperBound: number,
|
|
161
|
+
): boolean {
|
|
162
|
+
return Number.isInteger(value) && value >= lowerBound && value <= upperBound;
|
|
163
|
+
}
|
|
164
|
+
|
|
44
165
|
export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
45
166
|
function InnerScreen(props, ref) {
|
|
46
167
|
const innerRef = React.useRef<ViewConfig | null>(null);
|
|
47
168
|
React.useImperativeHandle(ref, () => innerRef.current!, []);
|
|
169
|
+
const prevActivityState = usePrevious(props.activityState);
|
|
48
170
|
|
|
49
171
|
const setRef = (ref: ViewConfig) => {
|
|
50
172
|
innerRef.current = ref;
|
|
@@ -64,17 +186,30 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
64
186
|
// To maintain default behavior of formSheet stack presentation style and to have reasonable
|
|
65
187
|
// defaults for new medium-detent iOS API we need to set defaults here
|
|
66
188
|
const {
|
|
189
|
+
// formSheet presentation related props
|
|
67
190
|
sheetAllowedDetents = [1.0],
|
|
68
|
-
|
|
191
|
+
sheetLargestUndimmedDetentIndex = SHEET_DIMMED_ALWAYS,
|
|
69
192
|
sheetGrabberVisible = false,
|
|
70
193
|
sheetCornerRadius = -1.0,
|
|
71
194
|
sheetExpandsWhenScrolledToEdge = true,
|
|
72
195
|
sheetElevation = 24,
|
|
73
|
-
|
|
196
|
+
sheetInitialDetentIndex = 0,
|
|
197
|
+
// Other
|
|
74
198
|
stackPresentation,
|
|
75
199
|
} = rest;
|
|
76
200
|
|
|
77
201
|
if (enabled && isNativePlatformSupported) {
|
|
202
|
+
const resolvedSheetAllowedDetents =
|
|
203
|
+
resolveSheetAllowedDetents(sheetAllowedDetents);
|
|
204
|
+
const resolvedSheetLargestUndimmedDetent =
|
|
205
|
+
resolveSheetLargestUndimmedDetent(
|
|
206
|
+
sheetLargestUndimmedDetentIndex,
|
|
207
|
+
resolvedSheetAllowedDetents.length - 1,
|
|
208
|
+
);
|
|
209
|
+
const resolvedSheetInitialDetentIndex = resolveSheetInitialDetentIndex(
|
|
210
|
+
sheetInitialDetentIndex,
|
|
211
|
+
resolvedSheetAllowedDetents.length - 1,
|
|
212
|
+
);
|
|
78
213
|
// Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens
|
|
79
214
|
const AnimatedScreen =
|
|
80
215
|
Platform.OS === 'android' ||
|
|
@@ -95,6 +230,7 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
95
230
|
isNativeStack,
|
|
96
231
|
gestureResponseDistance,
|
|
97
232
|
onGestureCancel,
|
|
233
|
+
style,
|
|
98
234
|
...props
|
|
99
235
|
} = rest;
|
|
100
236
|
|
|
@@ -105,6 +241,18 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
105
241
|
activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition
|
|
106
242
|
}
|
|
107
243
|
|
|
244
|
+
if (
|
|
245
|
+
isNativeStack &&
|
|
246
|
+
prevActivityState !== undefined &&
|
|
247
|
+
activityState !== undefined
|
|
248
|
+
) {
|
|
249
|
+
if (prevActivityState > activityState) {
|
|
250
|
+
throw new Error(
|
|
251
|
+
'[RNScreens] activityState cannot be decreased in NativeStack',
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
108
256
|
const handleRef = (ref: ViewConfig) => {
|
|
109
257
|
if (ref?.viewConfig?.validAttributes?.style) {
|
|
110
258
|
ref.viewConfig.validAttributes.style = {
|
|
@@ -125,14 +273,19 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
125
273
|
<DelayedFreeze freeze={freezeOnBlur && activityState === 0}>
|
|
126
274
|
<AnimatedScreen
|
|
127
275
|
{...props}
|
|
276
|
+
// Hierarchy of screens is handled on the native side and setting zIndex value causes this issue:
|
|
277
|
+
// https://github.com/software-mansion/react-native-screens/issues/2345
|
|
278
|
+
// With below change of zIndex, we force RN diffing mechanism to NOT include detaching and attaching mutation in one transaction.
|
|
279
|
+
// Detailed information can be found here https://github.com/software-mansion/react-native-screens/pull/2351
|
|
280
|
+
style={[style, { zIndex: undefined }]}
|
|
128
281
|
activityState={activityState}
|
|
129
|
-
sheetAllowedDetents={
|
|
130
|
-
sheetLargestUndimmedDetent={
|
|
282
|
+
sheetAllowedDetents={resolvedSheetAllowedDetents}
|
|
283
|
+
sheetLargestUndimmedDetent={resolvedSheetLargestUndimmedDetent}
|
|
131
284
|
sheetElevation={sheetElevation}
|
|
132
285
|
sheetGrabberVisible={sheetGrabberVisible}
|
|
133
286
|
sheetCornerRadius={sheetCornerRadius}
|
|
134
287
|
sheetExpandsWhenScrolledToEdge={sheetExpandsWhenScrolledToEdge}
|
|
135
|
-
sheetInitialDetent={
|
|
288
|
+
sheetInitialDetent={resolvedSheetInitialDetentIndex}
|
|
136
289
|
gestureResponseDistance={{
|
|
137
290
|
start: gestureResponseDistance?.start ?? -1,
|
|
138
291
|
end: gestureResponseDistance?.end ?? -1,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { ScreenProps } from 'react-native-screens';
|
|
2
4
|
import { Animated, View } from 'react-native';
|
|
3
5
|
import React from 'react';
|
|
@@ -8,6 +10,7 @@ export const InnerScreen = View;
|
|
|
8
10
|
|
|
9
11
|
// We're using class component here because of the error from reanimated:
|
|
10
12
|
// createAnimatedComponent` does not support stateless functional components; use a class component instead.
|
|
13
|
+
// NOTE: React Server Components do not support class components.
|
|
11
14
|
export class NativeScreen extends React.Component<ScreenProps> {
|
|
12
15
|
render(): JSX.Element {
|
|
13
16
|
let {
|