react-native-screens 3.27.0 → 3.28.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 +22 -0
- package/android/build.gradle +9 -0
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +4 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +1 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +15 -0
- package/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml +5 -0
- package/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml +6 -0
- package/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml +5 -0
- package/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml +6 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +4 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +9 -9
- package/ios/RNSConvert.mm +2 -1
- package/ios/RNSScreen.mm +10 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/index.native.js +9 -6
- package/lib/commonjs/index.native.js.map +1 -1
- package/lib/commonjs/native-stack/types.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/index.native.js +7 -6
- package/lib/module/index.native.js.map +1 -1
- package/lib/module/native-stack/types.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/fabric/ScreenNativeComponent.d.ts +1 -1
- package/lib/typescript/native-stack/types.d.ts +1 -0
- package/lib/typescript/types.d.ts +2 -1
- package/native-stack/README.md +1 -0
- package/package.json +1 -1
- package/src/fabric/ScreenNativeComponent.ts +2 -1
- package/src/index.native.tsx +7 -6
- package/src/native-stack/types.tsx +1 -0
- package/src/types.tsx +3 -1
- package/windows/RNScreens/Screen.h +2 -1
|
@@ -8,7 +8,7 @@ export declare type SearchBarCommands = {
|
|
|
8
8
|
setText: (text: string) => void;
|
|
9
9
|
};
|
|
10
10
|
export declare type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet';
|
|
11
|
-
export declare type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left';
|
|
11
|
+
export declare type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios';
|
|
12
12
|
export declare type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
|
|
13
13
|
export declare type ScreenReplaceTypes = 'push' | 'pop';
|
|
14
14
|
export declare type SwipeDirectionTypes = 'vertical' | 'horizontal';
|
|
@@ -254,6 +254,7 @@ export interface ScreenProps extends ViewProps {
|
|
|
254
254
|
* - `slide_from_bottom` – performs a slide from bottom animation
|
|
255
255
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
256
256
|
* - "slide_from_left" - slide in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
257
|
+
* - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS)
|
|
257
258
|
* - "none" – the screen appears/dissapears without an animation
|
|
258
259
|
*/
|
|
259
260
|
stackAnimation?: StackAnimationTypes;
|
package/native-stack/README.md
CHANGED
|
@@ -287,6 +287,7 @@ How the given screen should appear/disappear when pushed or popped at the top of
|
|
|
287
287
|
- `slide_from_bottom` – performs a slide from bottom animation
|
|
288
288
|
- `slide_from_right` - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
289
289
|
- `slide_from_left` - slide in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
290
|
+
- `ios` - iOS like slide in animation (Android only, resolves to default transition on iOS)
|
|
290
291
|
- `none` - the screen appears/disappears without an animation.
|
|
291
292
|
|
|
292
293
|
Defaults to `default`.
|
package/package.json
CHANGED
package/src/index.native.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
-
import React, { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
import React, { useEffect, PropsWithChildren, ReactNode } from 'react';
|
|
3
3
|
import {
|
|
4
4
|
Animated,
|
|
5
5
|
Image,
|
|
@@ -194,13 +194,14 @@ function DelayedFreeze({ freeze, children }: FreezeWrapperProps) {
|
|
|
194
194
|
// flag used for determining whether freeze should be enabled
|
|
195
195
|
const [freezeState, setFreezeState] = React.useState(false);
|
|
196
196
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
// Used here for changing the state right after the render.
|
|
200
|
-
setImmediate(() => {
|
|
197
|
+
useEffect(() => {
|
|
198
|
+
const id = setImmediate(() => {
|
|
201
199
|
setFreezeState(freeze);
|
|
202
200
|
});
|
|
203
|
-
|
|
201
|
+
return () => {
|
|
202
|
+
clearImmediate(id);
|
|
203
|
+
}
|
|
204
|
+
}, [freeze])
|
|
204
205
|
|
|
205
206
|
return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;
|
|
206
207
|
}
|
|
@@ -391,6 +391,7 @@ export type NativeStackNavigationOptions = {
|
|
|
391
391
|
* - "slide_from_bottom" – performs a slide from bottom animation
|
|
392
392
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
393
393
|
* - "slide_from_left" - slide in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
394
|
+
* - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS)
|
|
394
395
|
* - "none" – the screen appears/dissapears without an animation
|
|
395
396
|
*/
|
|
396
397
|
stackAnimation?: ScreenProps['stackAnimation'];
|
package/src/types.tsx
CHANGED
|
@@ -33,7 +33,8 @@ export type StackAnimationTypes =
|
|
|
33
33
|
| 'simple_push'
|
|
34
34
|
| 'slide_from_bottom'
|
|
35
35
|
| 'slide_from_right'
|
|
36
|
-
| 'slide_from_left'
|
|
36
|
+
| 'slide_from_left'
|
|
37
|
+
| 'ios';
|
|
37
38
|
export type BlurEffectTypes =
|
|
38
39
|
| 'extraLight'
|
|
39
40
|
| 'light'
|
|
@@ -319,6 +320,7 @@ export interface ScreenProps extends ViewProps {
|
|
|
319
320
|
* - `slide_from_bottom` – performs a slide from bottom animation
|
|
320
321
|
* - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS)
|
|
321
322
|
* - "slide_from_left" - slide in the new screen from left to right (Android only, resolves to default transition on iOS)
|
|
323
|
+
* - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS)
|
|
322
324
|
* - "none" – the screen appears/dissapears without an animation
|
|
323
325
|
*/
|
|
324
326
|
stackAnimation?: StackAnimationTypes;
|