react-native-screens 4.9.0-beta.0 → 4.9.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 +2 -1
- package/android/build.gradle +7 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +22 -12
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingView.kt +20 -6
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/DimmingViewManager.kt +6 -1
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java +2 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +2 -2
- package/android/src/versioned/pointerevents/77/com/swmansion/rnscreens/ScreensCoordinatorLayoutPointerEventsImpl.kt +11 -0
- package/android/src/versioned/pointerevents/77/com/swmansion/rnscreens/bottomsheet/DimmingViewPointerEvents.kt +15 -0
- package/android/src/versioned/pointerevents/latest/com/swmansion/rnscreens/ScreensCoordinatorLayoutPointerEventsImpl.kt +11 -0
- package/android/src/versioned/pointerevents/latest/com/swmansion/rnscreens/bottomsheet/DimmingViewPointerEvents.kt +16 -0
- package/ios/RNSScreenContentWrapper.mm +6 -1
- package/ios/RNSScreenStack.mm +1 -1
- package/ios/utils/RNSDefines.h +15 -0
- package/lib/commonjs/gesture-handler/fabricUtils.js +1 -1
- package/lib/commonjs/gesture-handler/fabricUtils.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/module/gesture-handler/fabricUtils.js +1 -1
- package/lib/module/gesture-handler/fabricUtils.js.map +1 -1
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js +1 -1
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/package.json +1 -1
- package/src/gesture-handler/fabricUtils.ts +1 -1
- package/src/reanimated/ReanimatedNativeStackScreen.tsx +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/GestureTransparentViewGroup.kt +0 -23
package/README.md
CHANGED
|
@@ -107,7 +107,7 @@ Screens are already integrated with the React Native's most popular navigation l
|
|
|
107
107
|
## Supported react-native version
|
|
108
108
|
|
|
109
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
|
|
110
|
+
of `3.x` line please see [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
111
|
|
|
112
112
|
### Support for Paper
|
|
113
113
|
|
|
@@ -115,6 +115,7 @@ Paper is the default rendering system for React Native versions prior to 0.76.
|
|
|
115
115
|
|
|
116
116
|
| library version | react-native version |
|
|
117
117
|
| --------------- | -------------------- |
|
|
118
|
+
| 4.9.0+ | 0.76.0+ |
|
|
118
119
|
| 4.5.0+ | 0.74.0+ |
|
|
119
120
|
| 4.0.0+ | 0.72.0+ |
|
|
120
121
|
|
package/android/build.gradle
CHANGED
|
@@ -194,6 +194,13 @@ android {
|
|
|
194
194
|
} else {
|
|
195
195
|
srcDirs += "src/versioned/backgroundcolor/latest"
|
|
196
196
|
}
|
|
197
|
+
|
|
198
|
+
// Native only classes that use PointerEvents
|
|
199
|
+
if (REACT_NATIVE_MINOR_VERSION <= 77) {
|
|
200
|
+
srcDirs += "src/versioned/pointerevents/77"
|
|
201
|
+
} else {
|
|
202
|
+
srcDirs += "src/versioned/pointerevents/latest"
|
|
203
|
+
}
|
|
197
204
|
}
|
|
198
205
|
res {
|
|
199
206
|
if (safeExtGet(['compileSdkVersion', 'compileSdk'], rnsDefaultCompileSdkVersion) >= 33) {
|
|
@@ -27,7 +27,6 @@ import androidx.appcompat.widget.Toolbar
|
|
|
27
27
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
|
28
28
|
import androidx.core.view.WindowInsetsCompat
|
|
29
29
|
import com.facebook.react.uimanager.PixelUtil
|
|
30
|
-
import com.facebook.react.uimanager.PointerEvents
|
|
31
30
|
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
32
31
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
33
32
|
import com.google.android.material.appbar.AppBarLayout
|
|
@@ -331,13 +330,14 @@ class ScreenStackFragment :
|
|
|
331
330
|
}
|
|
332
331
|
|
|
333
332
|
val animatorSet = AnimatorSet()
|
|
333
|
+
val dimmingDelegate = dimmingDelegate.value
|
|
334
334
|
|
|
335
335
|
if (enter) {
|
|
336
336
|
val alphaAnimator =
|
|
337
|
-
ValueAnimator.ofFloat(0f, dimmingDelegate.
|
|
337
|
+
ValueAnimator.ofFloat(0f, dimmingDelegate.maxAlpha).apply {
|
|
338
338
|
addUpdateListener { anim ->
|
|
339
339
|
val animatedValue = anim.animatedValue as? Float
|
|
340
|
-
animatedValue?.let { dimmingDelegate.
|
|
340
|
+
animatedValue?.let { dimmingDelegate.dimmingView.alpha = it }
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
val startValueCallback = { initialStartValue: Number? -> screen.height.toFloat() }
|
|
@@ -349,13 +349,21 @@ class ScreenStackFragment :
|
|
|
349
349
|
animatedValue?.let { screen.translationY = it }
|
|
350
350
|
}
|
|
351
351
|
}
|
|
352
|
-
|
|
352
|
+
|
|
353
|
+
animatorSet
|
|
354
|
+
.play(slideAnimator)
|
|
355
|
+
.takeIf {
|
|
356
|
+
dimmingDelegate.willDimForDetentIndex(
|
|
357
|
+
screen,
|
|
358
|
+
screen.sheetInitialDetentIndex,
|
|
359
|
+
)
|
|
360
|
+
}?.with(alphaAnimator)
|
|
353
361
|
} else {
|
|
354
362
|
val alphaAnimator =
|
|
355
|
-
ValueAnimator.ofFloat(dimmingDelegate.
|
|
363
|
+
ValueAnimator.ofFloat(dimmingDelegate.dimmingView.alpha, 0f).apply {
|
|
356
364
|
addUpdateListener { anim ->
|
|
357
365
|
val animatedValue = anim.animatedValue as? Float
|
|
358
|
-
animatedValue?.let { dimmingDelegate.
|
|
366
|
+
animatedValue?.let { dimmingDelegate.dimmingView.alpha = it }
|
|
359
367
|
}
|
|
360
368
|
}
|
|
361
369
|
val slideAnimator =
|
|
@@ -713,9 +721,16 @@ class ScreenStackFragment :
|
|
|
713
721
|
private class ScreensCoordinatorLayout(
|
|
714
722
|
context: Context,
|
|
715
723
|
private val fragment: ScreenStackFragment,
|
|
724
|
+
private val pointerEventsImpl: ReactPointerEventsView,
|
|
716
725
|
// ) : CoordinatorLayout(context), ReactCompoundViewGroup, ReactHitSlopView {
|
|
717
726
|
) : CoordinatorLayout(context),
|
|
718
|
-
ReactPointerEventsView {
|
|
727
|
+
ReactPointerEventsView by pointerEventsImpl {
|
|
728
|
+
constructor(context: Context, fragment: ScreenStackFragment) : this(
|
|
729
|
+
context,
|
|
730
|
+
fragment,
|
|
731
|
+
ScreensCoordinatorLayoutPointerEventsImpl(),
|
|
732
|
+
)
|
|
733
|
+
|
|
719
734
|
override fun onApplyWindowInsets(insets: WindowInsets?): WindowInsets = super.onApplyWindowInsets(insets)
|
|
720
735
|
|
|
721
736
|
private val animationListener: Animation.AnimationListener =
|
|
@@ -792,11 +807,6 @@ class ScreenStackFragment :
|
|
|
792
807
|
// // bottom – The Y coordinate of the bottom of the rectangle
|
|
793
808
|
// return Rect(screen.x.toInt(), -screen.y.toInt(), screen.x.toInt() + screen.width, screen.y.toInt() + screen.height)
|
|
794
809
|
// }
|
|
795
|
-
|
|
796
|
-
// We set pointer events to BOX_NONE, because we don't want the ScreensCoordinatorLayout
|
|
797
|
-
// to be target of react gestures and effectively prevent interaction with screens
|
|
798
|
-
// underneath the current screen (useful in `modal` & `formSheet` presentation).
|
|
799
|
-
override val pointerEvents: PointerEvents = PointerEvents.BOX_NONE
|
|
800
810
|
}
|
|
801
811
|
|
|
802
812
|
private class ScreensAnimation(
|
|
@@ -5,7 +5,6 @@ import android.content.Context
|
|
|
5
5
|
import android.graphics.Color
|
|
6
6
|
import android.view.MotionEvent
|
|
7
7
|
import android.view.ViewGroup
|
|
8
|
-
import com.facebook.react.uimanager.PointerEvents
|
|
9
8
|
import com.facebook.react.uimanager.ReactCompoundViewGroup
|
|
10
9
|
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
11
10
|
import com.swmansion.rnscreens.ext.equalWithRespectToEps
|
|
@@ -17,13 +16,24 @@ import com.swmansion.rnscreens.ext.equalWithRespectToEps
|
|
|
17
16
|
* This dimming view has one more additional feature: it blocks gestures if its alpha > 0.
|
|
18
17
|
*/
|
|
19
18
|
@SuppressLint("ViewConstructor") // Only we instantiate this view
|
|
20
|
-
class DimmingView(
|
|
19
|
+
internal class DimmingView(
|
|
21
20
|
context: Context,
|
|
22
21
|
initialAlpha: Float = 0.6F,
|
|
22
|
+
private val pointerEventsProxy: DimmingViewPointerEventsProxy
|
|
23
23
|
) : ViewGroup(context),
|
|
24
24
|
ReactCompoundViewGroup,
|
|
25
|
-
ReactPointerEventsView {
|
|
26
|
-
|
|
25
|
+
ReactPointerEventsView by pointerEventsProxy {
|
|
26
|
+
|
|
27
|
+
constructor(context: Context, initialAlpha: Float = 0.6F) : this(
|
|
28
|
+
context, initialAlpha,
|
|
29
|
+
DimmingViewPointerEventsProxy(null)
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
init {
|
|
33
|
+
pointerEventsProxy.pointerEventsImpl = DimmingViewPointerEventsImpl(this)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
internal val blockGestures
|
|
27
37
|
get() = !alpha.equalWithRespectToEps(0F)
|
|
28
38
|
|
|
29
39
|
init {
|
|
@@ -59,8 +69,12 @@ class DimmingView(
|
|
|
59
69
|
y: Float,
|
|
60
70
|
) = blockGestures
|
|
61
71
|
|
|
62
|
-
override
|
|
63
|
-
|
|
72
|
+
override fun onDetachedFromWindow() {
|
|
73
|
+
super.onDetachedFromWindow()
|
|
74
|
+
|
|
75
|
+
// Break reference cycle, since the pointerEventsImpl strongly retains this.
|
|
76
|
+
pointerEventsProxy.pointerEventsImpl = null
|
|
77
|
+
}
|
|
64
78
|
|
|
65
79
|
companion object {
|
|
66
80
|
const val TAG = "DimmingView"
|
|
@@ -28,7 +28,7 @@ class DimmingViewManager(
|
|
|
28
28
|
root: ViewGroup,
|
|
29
29
|
) {
|
|
30
30
|
root.addView(dimmingView, 0)
|
|
31
|
-
if (screen
|
|
31
|
+
if (!willDimForDetentIndex(screen, screen.sheetInitialDetentIndex)) {
|
|
32
32
|
dimmingView.alpha = 0.0f
|
|
33
33
|
} else {
|
|
34
34
|
dimmingView.alpha = maxAlpha
|
|
@@ -45,6 +45,11 @@ class DimmingViewManager(
|
|
|
45
45
|
behavior.addBottomSheetCallback(requireBottomSheetCallback(screen))
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Ask the manager whether it will apply non-zero alpha for sheet at given detent index.
|
|
50
|
+
*/
|
|
51
|
+
fun willDimForDetentIndex(screen: Screen, index: Int) = index > screen.sheetLargestUndimmedDetentIndex
|
|
52
|
+
|
|
48
53
|
/**
|
|
49
54
|
* This bottom sheet callback is responsible for animating alpha of the dimming view.
|
|
50
55
|
*/
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
package com.facebook.react.viewmanagers;
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
|
-
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
public interface RNSScreenContainerManagerInterface<T extends View> {
|
|
16
16
|
// No props
|
|
17
17
|
}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
package com.facebook.react.viewmanagers;
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
|
-
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
public interface RNSScreenContentWrapperManagerInterface<T extends View> {
|
|
16
16
|
// No props
|
|
17
17
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
package com.facebook.react.viewmanagers;
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
|
-
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
public interface RNSScreenFooterManagerInterface<T extends View> {
|
|
16
16
|
// No props
|
|
17
17
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java
CHANGED
|
@@ -13,9 +13,9 @@ import android.view.View;
|
|
|
13
13
|
import androidx.annotation.Nullable;
|
|
14
14
|
import com.facebook.react.bridge.ReadableArray;
|
|
15
15
|
import com.facebook.react.bridge.ReadableMap;
|
|
16
|
-
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
public interface RNSScreenManagerInterface<T extends View> {
|
|
19
19
|
void setSheetAllowedDetents(T view, @Nullable ReadableArray value);
|
|
20
20
|
void setSheetLargestUndimmedDetent(T view, int value);
|
|
21
21
|
void setSheetGrabberVisible(T view, boolean value);
|
|
@@ -11,9 +11,9 @@ 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.ViewManagerWithGeneratedInterface;
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
|
|
16
|
+
public interface RNSScreenStackHeaderConfigManagerInterface<T extends View> {
|
|
17
17
|
void setBackgroundColor(T view, @Nullable Integer value);
|
|
18
18
|
void setBackTitle(T view, @Nullable String value);
|
|
19
19
|
void setBackTitleFontFamily(T view, @Nullable String value);
|
|
@@ -11,8 +11,8 @@ 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.ViewManagerWithGeneratedInterface;
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
|
|
16
|
+
public interface RNSScreenStackHeaderSubviewManagerInterface<T extends View> {
|
|
17
17
|
void setType(T view, @Nullable String value);
|
|
18
18
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
package com.facebook.react.viewmanagers;
|
|
11
11
|
|
|
12
12
|
import android.view.View;
|
|
13
|
-
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
public interface RNSScreenStackManagerInterface<T extends View> {
|
|
16
16
|
// No props
|
|
17
17
|
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java
CHANGED
|
@@ -11,9 +11,9 @@ 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.ViewManagerWithGeneratedInterface;
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
|
|
16
|
+
public interface RNSSearchBarManagerInterface<T extends View> {
|
|
17
17
|
void setHideWhenScrolling(T view, boolean value);
|
|
18
18
|
void setAutoCapitalize(T view, @Nullable String value);
|
|
19
19
|
void setPlaceholder(T view, @Nullable String value);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
package com.swmansion.rnscreens
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.PointerEvents
|
|
4
|
+
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
5
|
+
|
|
6
|
+
internal class ScreensCoordinatorLayoutPointerEventsImpl : ReactPointerEventsView {
|
|
7
|
+
// We set pointer events to BOX_NONE, because we don't want the ScreensCoordinatorLayout
|
|
8
|
+
// to be target of react gestures and effectively prevent interaction with screens
|
|
9
|
+
// underneath the current screen (useful in `modal` & `formSheet` presentation).
|
|
10
|
+
override fun getPointerEvents(): PointerEvents = PointerEvents.BOX_NONE
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
package com.swmansion.rnscreens.bottomsheet
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.PointerEvents
|
|
4
|
+
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
5
|
+
import com.swmansion.rnscreens.bottomsheet.DimmingView
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
internal class DimmingViewPointerEventsImpl(val dimmingView: DimmingView) : ReactPointerEventsView {
|
|
9
|
+
override fun getPointerEvents(): PointerEvents = if (dimmingView.blockGestures == false) PointerEvents.AUTO else PointerEvents.NONE
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
internal class DimmingViewPointerEventsProxy(var pointerEventsImpl: DimmingViewPointerEventsImpl?) :
|
|
13
|
+
ReactPointerEventsView {
|
|
14
|
+
override fun getPointerEvents(): PointerEvents = pointerEventsImpl?.pointerEvents ?: PointerEvents.NONE
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
package com.swmansion.rnscreens
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.PointerEvents
|
|
4
|
+
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
5
|
+
|
|
6
|
+
internal class ScreensCoordinatorLayoutPointerEventsImpl() : ReactPointerEventsView {
|
|
7
|
+
// We set pointer events to BOX_NONE, because we don't want the ScreensCoordinatorLayout
|
|
8
|
+
// to be target of react gestures and effectively prevent interaction with screens
|
|
9
|
+
// underneath the current screen (useful in `modal` & `formSheet` presentation).
|
|
10
|
+
override val pointerEvents: PointerEvents = PointerEvents.BOX_NONE
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
package com.swmansion.rnscreens.bottomsheet
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.PointerEvents
|
|
4
|
+
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
internal class DimmingViewPointerEventsImpl(val dimmingView: DimmingView) : ReactPointerEventsView {
|
|
8
|
+
override val pointerEvents: PointerEvents
|
|
9
|
+
get() = if (dimmingView.blockGestures == false) PointerEvents.AUTO else PointerEvents.NONE
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
internal class DimmingViewPointerEventsProxy(var pointerEventsImpl: DimmingViewPointerEventsImpl?) :
|
|
13
|
+
ReactPointerEventsView {
|
|
14
|
+
override val pointerEvents: PointerEvents
|
|
15
|
+
get() = pointerEventsImpl?.pointerEvents ?: PointerEvents.NONE
|
|
16
|
+
}
|
|
@@ -75,8 +75,13 @@ namespace react = facebook::react;
|
|
|
75
75
|
{
|
|
76
76
|
RNSScreen *_Nullable screen =
|
|
77
77
|
static_cast<RNSScreen *_Nullable>([[self findFirstScreenViewAncestor] reactViewController]);
|
|
78
|
+
|
|
78
79
|
if (screen == nil) {
|
|
79
|
-
|
|
80
|
+
// On old architecture, especially when executing `replace` action it can happen that **replaced** (old one) screen
|
|
81
|
+
// receives willMoveToWindow: with not nil argument. On new architecture it seems to work as expected.
|
|
82
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
83
|
+
RCTLogWarn(@"Failed to find parent screen controller from %@.", self);
|
|
84
|
+
#endif
|
|
80
85
|
return;
|
|
81
86
|
}
|
|
82
87
|
[self attachToAncestorScreenViewStartingFrom:screen];
|
package/ios/RNSScreenStack.mm
CHANGED
|
@@ -1232,7 +1232,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
1232
1232
|
withSurfaceTelemetry:(const facebook::react::SurfaceTelemetry &)surfaceTelemetry
|
|
1233
1233
|
{
|
|
1234
1234
|
for (const auto &mutation : transaction.getMutations()) {
|
|
1235
|
-
if (mutation
|
|
1235
|
+
if (MUTATION_PARENT_TAG(mutation) == self.tag &&
|
|
1236
1236
|
(mutation.type == react::ShadowViewMutation::Type::Insert ||
|
|
1237
1237
|
mutation.type == react::ShadowViewMutation::Type::Remove)) {
|
|
1238
1238
|
// we need to wait until children have their layout set. At this point they don't have the layout
|
package/ios/utils/RNSDefines.h
CHANGED
|
@@ -5,3 +5,18 @@
|
|
|
5
5
|
_Pragma("clang diagnostic ignored \"-Wobjc-missing-super-calls\"")
|
|
6
6
|
|
|
7
7
|
#define RNS_IGNORE_SUPER_CALL_END _Pragma("clang diagnostic pop")
|
|
8
|
+
|
|
9
|
+
#if defined __has_include
|
|
10
|
+
#if __has_include( \
|
|
11
|
+
<React-RCTAppDelegate/RCTReactNativeFactory.h>) // added in 78
|
|
12
|
+
#define RNS_REACT_NATIVE_VERSION_MINOR_BELOW_78 0
|
|
13
|
+
#else
|
|
14
|
+
#define RNS_REACT_NATIVE_VERSION_MINOR_BELOW_78 1
|
|
15
|
+
#endif
|
|
16
|
+
#endif
|
|
17
|
+
|
|
18
|
+
#if RNS_REACT_NATIVE_VERSION_MINOR_BELOW_78
|
|
19
|
+
#define MUTATION_PARENT_TAG(mutation) mutation.parentShadowView.tag
|
|
20
|
+
#else
|
|
21
|
+
#define MUTATION_PARENT_TAG(mutation) mutation.parentTag
|
|
22
|
+
#endif
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","getShadowNodeWrapperAndTagFromRef","isFabric","global","
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","getShadowNodeWrapperAndTagFromRef","isFabric","global","RN$Bridgeless","findHostInstance_DEPRECATED","getInternalInstanceHandleFromPublicInstance","ref","undefined","require","e","_ref","_internalInstanceHandle","scrollViewRef","getScrollResponder","getNativeScrollRef","otherScrollViewRef","textInputRef","__internalInstanceHandle","stateNode","node","resolvedRef","shadowNodeWrapper","tag","_nativeTag","__nativeTag","hostInstance"],"sourceRoot":"../../../src","sources":["gesture-handler/fabricUtils.ts"],"mappings":"AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,iCAAA,GAAAA,iCAAA;AAAAF,OAAA,CAAAG,QAAA,GAAAA,QAAA;AAIb;;AAIO,SAASA,QAAQA,CAAA,EAAG;EACzB,OAAO,CAAC,CAAEC,MAAM,CAAiBC,aAAa;AAChD;AAMA,IAAIC,2BAAmD;AAEvD,IAAIC,2CAEH;;AAED;AACO,SAASL,iCAAiCA,CAACM,GAAgB,EAGhE;EACA;EACA,IAAIF,2BAA2B,KAAKG,SAAS,EAAE;IAC7C,IAAI;MACFH,2BAA2B,GACzBI,OAAO,CAAC,mDAAmD,CAAC,CAACJ,2BAA2B;IAC5F,CAAC,CAAC,OAAOK,CAAC,EAAE;MACVL,2BAA2B,GAAIM,IAAa,IAAK,IAAI;IACvD;EACF;EAEA,IAAIL,2CAA2C,KAAKE,SAAS,EAAE;IAC7D,IAAI;MACFF,2CAA2C,GACzCG,OAAO,CAAC,wFAAwF,CAAC,CAC9FH,2CAA2C,KAC5CK,IAAS,IAAKA,IAAI,CAACC,uBAAuB,CAAC;IACjD,CAAC,CAAC,OAAOF,CAAC,EAAE;MACVJ,2CAA2C,GAAIK,IAAS,IACtDA,IAAI,CAACC,uBAAuB;IAChC;EACF;;EAEA;EACA;EACA,MAAMC,aAAa,GAAGN,GAAG,EAAEO,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC;EACzE;EACA,MAAMC,kBAAkB,GAAGT,GAAG,EAAEQ,kBAAkB,GAAG,CAAC;EACtD;EACA,MAAME,YAAY,GAAGV,GAAG,EAAEW,wBAAwB,EAAEC,SAAS,EAAEC,IAAI;EAEnE,IAAIC,WAAW;EACf,IAAIR,aAAa,EAAE;IACjBQ,WAAW,GAAG;MACZC,iBAAiB,EAAET,aAAa,CAACK,wBAAwB,CAACC,SAAS,CAACC,IAAI;MACxEG,GAAG,EAAEV,aAAa,CAACW;IACrB,CAAC;EACH,CAAC,MAAM,IAAIR,kBAAkB,EAAE;IAC7BK,WAAW,GAAG;MACZC,iBAAiB,EACfN,kBAAkB,CAACE,wBAAwB,CAACC,SAAS,CAACC,IAAI;MAC5DG,GAAG,EAAEP,kBAAkB,CAACS;IAC1B,CAAC;EACH,CAAC,MAAM,IAAIR,YAAY,EAAE;IACvBI,WAAW,GAAG;MACZC,iBAAiB,EAAEL,YAAY;MAC/BM,GAAG,EAAGhB,GAAG,EAAUkB;IACrB,CAAC;EACH,CAAC,MAAM;IACL,MAAMC,YAAY,GAAGrB,2BAA2B,CAACE,GAAG,CAAC;IACrDc,WAAW,GAAG;MACZC,iBAAiB,EACfhB,2CAA2C,CAACoB,YAAY,CAAC,CAACP,SAAS,CAChEC,IAAI;MACTG,GAAG,EAAGG,YAAY,EAAUF;IAC9B,CAAC;EACH;EAEA,OAAOH,WAAW;AACpB","ignoreList":[]}
|
|
@@ -22,7 +22,7 @@ const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_S
|
|
|
22
22
|
// We use prop added to global by reanimated since it seems safer than the one from RN. See:
|
|
23
23
|
// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46
|
|
24
24
|
// @ts-expect-error nativeFabricUIManager is not yet included in the RN types
|
|
25
|
-
const ENABLE_FABRIC = !!global?.
|
|
25
|
+
const ENABLE_FABRIC = !!global?.RN$Bridgeless;
|
|
26
26
|
const ReanimatedNativeStackScreen = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
27
27
|
const {
|
|
28
28
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Screen","_reactNativeReanimated","_interopRequireWildcard","_ReanimatedTransitionProgressContext","_reactNativeSafeAreaContext","_getDefaultHeaderHeight","_getStatusBarHeight","_ReanimatedHeaderHeightContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ENABLE_FABRIC","global","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Screen","_reactNativeReanimated","_interopRequireWildcard","_ReanimatedTransitionProgressContext","_reactNativeSafeAreaContext","_getDefaultHeaderHeight","_getStatusBarHeight","_ReanimatedHeaderHeightContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ENABLE_FABRIC","global","RN$Bridgeless","ReanimatedNativeStackScreen","React","forwardRef","props","ref","children","rest","stackPresentation","hasLargeHeader","dimensions","useSafeAreaFrame","topInset","useSafeAreaInsets","top","isStatusBarTranslucent","statusBarTranslucent","statusBarHeight","getStatusBarHeight","defaultHeaderHeight","getDefaultHeaderHeight","cachedHeaderHeight","useRef","headerHeight","useSharedValue","progress","closing","goingForward","createElement","onTransitionProgressReanimated","useEvent","event","value","Platform","OS","onHeaderHeightChangeReanimated","current","Provider","displayName","_default","exports"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedNativeStackScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isFabric","global","
|
|
1
|
+
{"version":3,"names":["isFabric","global","RN$Bridgeless","findHostInstance_DEPRECATED","getInternalInstanceHandleFromPublicInstance","getShadowNodeWrapperAndTagFromRef","ref","undefined","require","e","_ref","_internalInstanceHandle","scrollViewRef","getScrollResponder","getNativeScrollRef","otherScrollViewRef","textInputRef","__internalInstanceHandle","stateNode","node","resolvedRef","shadowNodeWrapper","tag","_nativeTag","__nativeTag","hostInstance"],"sourceRoot":"../../../src","sources":["gesture-handler/fabricUtils.ts"],"mappings":"AAAA,YAAY;;AAIZ;;AAIA,OAAO,SAASA,QAAQA,CAAA,EAAG;EACzB,OAAO,CAAC,CAAEC,MAAM,CAAiBC,aAAa;AAChD;AAMA,IAAIC,2BAAmD;AAEvD,IAAIC,2CAEH;;AAED;AACA,OAAO,SAASC,iCAAiCA,CAACC,GAAgB,EAGhE;EACA;EACA,IAAIH,2BAA2B,KAAKI,SAAS,EAAE;IAC7C,IAAI;MACFJ,2BAA2B,GACzBK,OAAO,CAAC,mDAAmD,CAAC,CAACL,2BAA2B;IAC5F,CAAC,CAAC,OAAOM,CAAC,EAAE;MACVN,2BAA2B,GAAIO,IAAa,IAAK,IAAI;IACvD;EACF;EAEA,IAAIN,2CAA2C,KAAKG,SAAS,EAAE;IAC7D,IAAI;MACFH,2CAA2C,GACzCI,OAAO,CAAC,wFAAwF,CAAC,CAC9FJ,2CAA2C,KAC5CM,IAAS,IAAKA,IAAI,CAACC,uBAAuB,CAAC;IACjD,CAAC,CAAC,OAAOF,CAAC,EAAE;MACVL,2CAA2C,GAAIM,IAAS,IACtDA,IAAI,CAACC,uBAAuB;IAChC;EACF;;EAEA;EACA;EACA,MAAMC,aAAa,GAAGN,GAAG,EAAEO,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC;EACzE;EACA,MAAMC,kBAAkB,GAAGT,GAAG,EAAEQ,kBAAkB,GAAG,CAAC;EACtD;EACA,MAAME,YAAY,GAAGV,GAAG,EAAEW,wBAAwB,EAAEC,SAAS,EAAEC,IAAI;EAEnE,IAAIC,WAAW;EACf,IAAIR,aAAa,EAAE;IACjBQ,WAAW,GAAG;MACZC,iBAAiB,EAAET,aAAa,CAACK,wBAAwB,CAACC,SAAS,CAACC,IAAI;MACxEG,GAAG,EAAEV,aAAa,CAACW;IACrB,CAAC;EACH,CAAC,MAAM,IAAIR,kBAAkB,EAAE;IAC7BK,WAAW,GAAG;MACZC,iBAAiB,EACfN,kBAAkB,CAACE,wBAAwB,CAACC,SAAS,CAACC,IAAI;MAC5DG,GAAG,EAAEP,kBAAkB,CAACS;IAC1B,CAAC;EACH,CAAC,MAAM,IAAIR,YAAY,EAAE;IACvBI,WAAW,GAAG;MACZC,iBAAiB,EAAEL,YAAY;MAC/BM,GAAG,EAAGhB,GAAG,EAAUkB;IACrB,CAAC;EACH,CAAC,MAAM;IACL,MAAMC,YAAY,GAAGtB,2BAA2B,CAACG,GAAG,CAAC;IACrDc,WAAW,GAAG;MACZC,iBAAiB,EACfjB,2CAA2C,CAACqB,YAAY,CAAC,CAACP,SAAS,CAChEC,IAAI;MACTG,GAAG,EAAGG,YAAY,EAAUF;IAC9B,CAAC;EACH;EAEA,OAAOH,WAAW;AACpB","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ const AnimatedScreen = Animated.createAnimatedComponent(InnerScreen);
|
|
|
14
14
|
// We use prop added to global by reanimated since it seems safer than the one from RN. See:
|
|
15
15
|
// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46
|
|
16
16
|
// @ts-expect-error nativeFabricUIManager is not yet included in the RN types
|
|
17
|
-
const ENABLE_FABRIC = !!global?.
|
|
17
|
+
const ENABLE_FABRIC = !!global?.RN$Bridgeless;
|
|
18
18
|
const ReanimatedNativeStackScreen = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
19
19
|
const {
|
|
20
20
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","InnerScreen","Animated","useEvent","useSharedValue","ReanimatedTransitionProgressContext","useSafeAreaFrame","useSafeAreaInsets","getDefaultHeaderHeight","getStatusBarHeight","ReanimatedHeaderHeightContext","AnimatedScreen","createAnimatedComponent","ENABLE_FABRIC","global","
|
|
1
|
+
{"version":3,"names":["React","Platform","InnerScreen","Animated","useEvent","useSharedValue","ReanimatedTransitionProgressContext","useSafeAreaFrame","useSafeAreaInsets","getDefaultHeaderHeight","getStatusBarHeight","ReanimatedHeaderHeightContext","AnimatedScreen","createAnimatedComponent","ENABLE_FABRIC","global","RN$Bridgeless","ReanimatedNativeStackScreen","forwardRef","props","ref","children","rest","stackPresentation","hasLargeHeader","dimensions","topInset","top","isStatusBarTranslucent","statusBarTranslucent","statusBarHeight","defaultHeaderHeight","cachedHeaderHeight","useRef","headerHeight","progress","closing","goingForward","createElement","_extends","onTransitionProgressReanimated","event","value","OS","onHeaderHeightChangeReanimated","current","Provider","displayName"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedNativeStackScreen.tsx"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screens",
|
|
3
|
-
"version": "4.9.0
|
|
3
|
+
"version": "4.9.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 ../)",
|
|
@@ -7,7 +7,7 @@ import { View } from 'react-native';
|
|
|
7
7
|
type LocalGlobal = typeof global & Record<string, unknown>;
|
|
8
8
|
|
|
9
9
|
export function isFabric() {
|
|
10
|
-
return !!(global as LocalGlobal).
|
|
10
|
+
return !!(global as LocalGlobal).RN$Bridgeless;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export type ShadowNodeWrapper = {
|
|
@@ -25,7 +25,7 @@ const AnimatedScreen = Animated.createAnimatedComponent(
|
|
|
25
25
|
// We use prop added to global by reanimated since it seems safer than the one from RN. See:
|
|
26
26
|
// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46
|
|
27
27
|
// @ts-expect-error nativeFabricUIManager is not yet included in the RN types
|
|
28
|
-
const ENABLE_FABRIC = !!global?.
|
|
28
|
+
const ENABLE_FABRIC = !!global?.RN$Bridgeless;
|
|
29
29
|
|
|
30
30
|
const ReanimatedNativeStackScreen = React.forwardRef<
|
|
31
31
|
typeof AnimatedScreen,
|
package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/GestureTransparentViewGroup.kt
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
package com.swmansion.rnscreens.bottomsheet
|
|
2
|
-
|
|
3
|
-
import android.content.Context
|
|
4
|
-
import android.widget.FrameLayout
|
|
5
|
-
import com.facebook.react.uimanager.PointerEvents
|
|
6
|
-
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* View group that will be ignored by RN event system, and won't be target of touches.
|
|
10
|
-
*
|
|
11
|
-
* Currently used as container for the form sheet, so that user can interact with the view
|
|
12
|
-
* under the sheet (otherwise RN captures the gestures).
|
|
13
|
-
*/
|
|
14
|
-
class GestureTransparentViewGroup(
|
|
15
|
-
context: Context,
|
|
16
|
-
) : FrameLayout(context),
|
|
17
|
-
ReactPointerEventsView {
|
|
18
|
-
override val pointerEvents: PointerEvents = PointerEvents.BOX_NONE
|
|
19
|
-
|
|
20
|
-
companion object {
|
|
21
|
-
const val TAG = "GestureTransparentFrameLayout"
|
|
22
|
-
}
|
|
23
|
-
}
|