react-native-screens 4.4.0-rc.1 → 4.5.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 +7 -14
- package/android/build.gradle +9 -8
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/swmansion/rnscreens/RNScreensPackage.kt +4 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java +3 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +3 -2
- package/package.json +11 -12
package/README.md
CHANGED
|
@@ -106,18 +106,17 @@ Screens are already integrated with the React Native's most popular navigation l
|
|
|
106
106
|
|
|
107
107
|
## Supported react-native version
|
|
108
108
|
|
|
109
|
+
Below we present tables with mapping of the library version to the last supported react-native version. These tables are for the `4.x` line of the library. For compat tables
|
|
110
|
+
of `3.x` line please see consult [readme on the `3.x` branch](https://github.com/software-mansion/react-native-screens/tree/3.x?tab=readme-ov-file#supported-react-native-version).
|
|
111
|
+
|
|
109
112
|
### Support for Paper
|
|
110
113
|
|
|
111
114
|
Paper is the default rendering system for React Native versions prior to 0.76.
|
|
112
115
|
|
|
113
116
|
| library version | react-native version |
|
|
114
117
|
| --------------- | -------------------- |
|
|
115
|
-
|
|
|
116
|
-
|
|
|
117
|
-
| 3.30.0+ | 0.68.0+ |
|
|
118
|
-
| 3.14.0+ | 0.64.0+ |
|
|
119
|
-
| 3.0.0+ | 0.62.0+ |
|
|
120
|
-
| 2.0.0+ | 0.60.0+ |
|
|
118
|
+
| 4.5.0+ | 0.74.0+ |
|
|
119
|
+
| 4.0.0+ | 0.72.0+ |
|
|
121
120
|
|
|
122
121
|
### Support for Fabric
|
|
123
122
|
|
|
@@ -127,14 +126,8 @@ Here's a table with summary of supported `react-native` versions when Fabric is
|
|
|
127
126
|
|
|
128
127
|
| library version | react-native version |
|
|
129
128
|
| --------------- | -------------------- |
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
| 3.32.0+ | 0.74.0+ |
|
|
133
|
-
| 3.28.0+ | 0.73.0+ |
|
|
134
|
-
| 3.21.0+ | 0.72.0+ |
|
|
135
|
-
| 3.19.0+ | 0.71.0+ |
|
|
136
|
-
| 3.18.0+ | 0.70.0+ |
|
|
137
|
-
| 3.14.0+ | 0.69.0+ |
|
|
129
|
+
| 4.5.0+ | 0.77.0+ |
|
|
130
|
+
| 4.0.0+ | 0.76.0+ |
|
|
138
131
|
|
|
139
132
|
## Usage with [react-navigation](https://github.com/react-navigation/react-navigation)
|
|
140
133
|
|
package/android/build.gradle
CHANGED
|
@@ -99,13 +99,7 @@ def IS_NEW_ARCHITECTURE_ENABLED = isNewArchitectureEnabled()
|
|
|
99
99
|
|
|
100
100
|
android {
|
|
101
101
|
compileSdkVersion safeExtGet('compileSdkVersion', rnsDefaultCompileSdkVersion)
|
|
102
|
-
|
|
103
|
-
if (agpVersion.tokenize('.')[0].toInteger() >= 7) {
|
|
104
|
-
namespace "com.swmansion.rnscreens"
|
|
105
|
-
buildFeatures {
|
|
106
|
-
buildConfig true
|
|
107
|
-
}
|
|
108
|
-
}
|
|
102
|
+
namespace "com.swmansion.rnscreens"
|
|
109
103
|
|
|
110
104
|
// Used to override the NDK path/version on internal CI or by allowing
|
|
111
105
|
// users to customize the NDK path/version from their root project (e.g. for M1 support)
|
|
@@ -134,6 +128,7 @@ android {
|
|
|
134
128
|
}
|
|
135
129
|
buildFeatures {
|
|
136
130
|
prefab true
|
|
131
|
+
buildConfig true
|
|
137
132
|
}
|
|
138
133
|
externalNativeBuild {
|
|
139
134
|
cmake {
|
|
@@ -159,7 +154,13 @@ android {
|
|
|
159
154
|
"**/libc++_shared.so",
|
|
160
155
|
"**/libreact_render*.so",
|
|
161
156
|
"**/libreactnativejni.so",
|
|
162
|
-
"**/libreact_performance_timeline.so"
|
|
157
|
+
"**/libreact_performance_timeline.so",
|
|
158
|
+
// In 0.76 multiple react-native's libraries were merged and these are the main new artifacts we're using.
|
|
159
|
+
// Some of above lib* names could be removed after we remove support for 0.76.
|
|
160
|
+
// https://github.com/facebook/react-native/pull/43909
|
|
161
|
+
// https://github.com/facebook/react-native/pull/46059
|
|
162
|
+
"**/libfbjni.so",
|
|
163
|
+
"**/libreactnative.so"
|
|
163
164
|
]
|
|
164
165
|
}
|
|
165
166
|
sourceSets.main {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
package com.swmansion.rnscreens
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.
|
|
3
|
+
import com.facebook.react.BaseReactPackage
|
|
4
4
|
import com.facebook.react.bridge.NativeModule
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
6
|
import com.facebook.react.module.annotations.ReactModuleList
|
|
@@ -9,12 +9,14 @@ import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
|
9
9
|
import com.facebook.react.uimanager.ViewManager
|
|
10
10
|
import com.swmansion.rnscreens.utils.ScreenDummyLayoutHelper
|
|
11
11
|
|
|
12
|
+
// Fool autolinking for older versions that do not support BaseReactPackage.
|
|
13
|
+
// public class RNScreensPackage implements TurboReactPackage {
|
|
12
14
|
@ReactModuleList(
|
|
13
15
|
nativeModules = [
|
|
14
16
|
ScreensModule::class,
|
|
15
17
|
],
|
|
16
18
|
)
|
|
17
|
-
class RNScreensPackage :
|
|
19
|
+
class RNScreensPackage : BaseReactPackage() {
|
|
18
20
|
// We just retain it here. This object helps us tackle jumping content when using native header.
|
|
19
21
|
// See: https://github.com/software-mansion/react-native-screens/pull/2169
|
|
20
22
|
private var screenDummyLayoutHelper: ScreenDummyLayoutHelper? = null
|
|
@@ -11,10 +11,11 @@ package com.facebook.react.viewmanagers;
|
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
14
15
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
15
|
-
import com.facebook.react.uimanager.
|
|
16
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
16
17
|
|
|
17
|
-
public class RNSScreenContainerManagerDelegate<T extends View, U extends
|
|
18
|
+
public class RNSScreenContainerManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenContainerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
18
19
|
public RNSScreenContainerManagerDelegate(U viewManager) {
|
|
19
20
|
super(viewManager);
|
|
20
21
|
}
|
|
@@ -11,10 +11,11 @@ package com.facebook.react.viewmanagers;
|
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
14
15
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
15
|
-
import com.facebook.react.uimanager.
|
|
16
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
16
17
|
|
|
17
|
-
public class RNSScreenContentWrapperManagerDelegate<T extends View, U extends
|
|
18
|
+
public class RNSScreenContentWrapperManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenContentWrapperManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
18
19
|
public RNSScreenContentWrapperManagerDelegate(U viewManager) {
|
|
19
20
|
super(viewManager);
|
|
20
21
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java
CHANGED
|
@@ -11,10 +11,11 @@ package com.facebook.react.viewmanagers;
|
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
14
15
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
15
|
-
import com.facebook.react.uimanager.
|
|
16
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
16
17
|
|
|
17
|
-
public class RNSScreenFooterManagerDelegate<T extends View, U extends
|
|
18
|
+
public class RNSScreenFooterManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenFooterManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
18
19
|
public RNSScreenFooterManagerDelegate(U viewManager) {
|
|
19
20
|
super(viewManager);
|
|
20
21
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java
CHANGED
|
@@ -14,10 +14,11 @@ import androidx.annotation.Nullable;
|
|
|
14
14
|
import com.facebook.react.bridge.ColorPropConverter;
|
|
15
15
|
import com.facebook.react.bridge.ReadableArray;
|
|
16
16
|
import com.facebook.react.bridge.ReadableMap;
|
|
17
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
17
18
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
18
|
-
import com.facebook.react.uimanager.
|
|
19
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
19
20
|
|
|
20
|
-
public class RNSScreenManagerDelegate<T extends View, U extends
|
|
21
|
+
public class RNSScreenManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
21
22
|
public RNSScreenManagerDelegate(U viewManager) {
|
|
22
23
|
super(viewManager);
|
|
23
24
|
}
|
|
@@ -12,10 +12,11 @@ package com.facebook.react.viewmanagers;
|
|
|
12
12
|
import android.view.View;
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
14
|
import com.facebook.react.bridge.ColorPropConverter;
|
|
15
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
15
16
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
16
|
-
import com.facebook.react.uimanager.
|
|
17
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
17
18
|
|
|
18
|
-
public class RNSScreenStackHeaderConfigManagerDelegate<T extends View, U extends
|
|
19
|
+
public class RNSScreenStackHeaderConfigManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenStackHeaderConfigManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
19
20
|
public RNSScreenStackHeaderConfigManagerDelegate(U viewManager) {
|
|
20
21
|
super(viewManager);
|
|
21
22
|
}
|
|
@@ -11,10 +11,11 @@ package com.facebook.react.viewmanagers;
|
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
14
15
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
15
|
-
import com.facebook.react.uimanager.
|
|
16
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
16
17
|
|
|
17
|
-
public class RNSScreenStackHeaderSubviewManagerDelegate<T extends View, U extends
|
|
18
|
+
public class RNSScreenStackHeaderSubviewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenStackHeaderSubviewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
18
19
|
public RNSScreenStackHeaderSubviewManagerDelegate(U viewManager) {
|
|
19
20
|
super(viewManager);
|
|
20
21
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java
CHANGED
|
@@ -11,10 +11,11 @@ package com.facebook.react.viewmanagers;
|
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
14
15
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
15
|
-
import com.facebook.react.uimanager.
|
|
16
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
16
17
|
|
|
17
|
-
public class RNSScreenStackManagerDelegate<T extends View, U extends
|
|
18
|
+
public class RNSScreenStackManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSScreenStackManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
18
19
|
public RNSScreenStackManagerDelegate(U viewManager) {
|
|
19
20
|
super(viewManager);
|
|
20
21
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java
CHANGED
|
@@ -13,10 +13,11 @@ import android.view.View;
|
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
14
|
import com.facebook.react.bridge.ColorPropConverter;
|
|
15
15
|
import com.facebook.react.bridge.ReadableArray;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
16
17
|
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
17
|
-
import com.facebook.react.uimanager.
|
|
18
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
18
19
|
|
|
19
|
-
public class RNSSearchBarManagerDelegate<T extends View, U extends
|
|
20
|
+
public class RNSSearchBarManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNSSearchBarManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
20
21
|
public RNSSearchBarManagerDelegate(U viewManager) {
|
|
21
22
|
super(viewManager);
|
|
22
23
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screens",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.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 && yarn build && cd ../)",
|
|
@@ -80,18 +80,17 @@
|
|
|
80
80
|
"@react-native-community/cli": "15.0.1",
|
|
81
81
|
"@react-native-community/cli-platform-android": "15.0.1",
|
|
82
82
|
"@react-native-community/cli-platform-ios": "15.0.1",
|
|
83
|
-
"@react-native/babel-preset": "0.
|
|
84
|
-
"@react-native/eslint-config": "0.
|
|
85
|
-
"@react-native/metro-config": "0.
|
|
86
|
-
"@react-native/typescript-config": "0.
|
|
83
|
+
"@react-native/babel-preset": "0.77.0-rc.6",
|
|
84
|
+
"@react-native/eslint-config": "0.77.0-rc.6",
|
|
85
|
+
"@react-native/metro-config": "0.77.0-rc.6",
|
|
86
|
+
"@react-native/typescript-config": "0.77.0-rc.6",
|
|
87
87
|
"@react-navigation/native": "^5.8.0",
|
|
88
88
|
"@react-navigation/stack": "^5.10.0",
|
|
89
|
-
"@types/jest": "^29.
|
|
89
|
+
"@types/jest": "^29.5.13",
|
|
90
90
|
"@types/react": "^18.2.72",
|
|
91
91
|
"@types/react-test-renderer": "^18.0.0",
|
|
92
92
|
"@typescript-eslint/eslint-plugin": "^6.5.0",
|
|
93
93
|
"@typescript-eslint/parser": "^6.5.0",
|
|
94
|
-
"babel-jest": "^29.6.4",
|
|
95
94
|
"clang-format": "^1.8.0",
|
|
96
95
|
"eslint": "^8.56.0",
|
|
97
96
|
"eslint-config-prettier": "^8.10.0",
|
|
@@ -106,7 +105,7 @@
|
|
|
106
105
|
"prettier": "^2.8.8",
|
|
107
106
|
"react": "18.2.0",
|
|
108
107
|
"react-dom": "^18.2.0",
|
|
109
|
-
"react-native": "0.
|
|
108
|
+
"react-native": "0.77.0-rc.6",
|
|
110
109
|
"react-native-builder-bob": "^0.23.2",
|
|
111
110
|
"react-native-gesture-handler": "^2.13.3",
|
|
112
111
|
"react-native-reanimated": "3.9.0-nightly-20240402-12717cdb5",
|
|
@@ -158,14 +157,14 @@
|
|
|
158
157
|
"componentProvider": {
|
|
159
158
|
"RNSFullWindowOverlay": "RNSFullWindowOverlay",
|
|
160
159
|
"RNSModalScreen": "RNSModalScreen",
|
|
161
|
-
"RNSScreenContainer": "
|
|
160
|
+
"RNSScreenContainer": "RNSScreenContainerView",
|
|
162
161
|
"RNSScreenContentWrapper": "RNSScreenContentWrapper",
|
|
163
162
|
"RNSScreenFooter": "RNSScreenFooter",
|
|
164
|
-
"RNSScreen": "
|
|
165
|
-
"RNSScreenNavigationContainer": "
|
|
163
|
+
"RNSScreen": "RNSScreenView",
|
|
164
|
+
"RNSScreenNavigationContainer": "RNSScreenNavigationContainerView",
|
|
166
165
|
"RNSScreenStackHeaderConfig": "RNSScreenStackHeaderConfig",
|
|
167
166
|
"RNSScreenStackHeaderSubview": "RNSScreenStackHeaderSubview",
|
|
168
|
-
"RNSScreenStack": "
|
|
167
|
+
"RNSScreenStack": "RNSScreenStackView",
|
|
169
168
|
"RNSSearchBar": "RNSSearchBar"
|
|
170
169
|
}
|
|
171
170
|
}
|