react-native-screens 4.10.0-beta.3 → 4.10.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/RNScreens.podspec +2 -2
- package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +9 -6
- package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +2 -1
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +43 -15
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +12 -15
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +15 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +6 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +19 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +1 -0
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetDelegate.kt +9 -4
- package/android/src/versioned/pointerevents/77/com/swmansion/rnscreens/{ScreensCoordinatorLayoutPointerEventsImpl.kt → PointerEventsBoxNoneImpl.kt} +1 -1
- package/android/src/versioned/pointerevents/latest/com/swmansion/rnscreens/{ScreensCoordinatorLayoutPointerEventsImpl.kt → PointerEventsBoxNoneImpl.kt} +1 -1
- package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.cpp +1 -3
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +7 -3
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +1 -1
- package/cpp/RNSScreenRemovalListener.cpp +3 -1
- package/ios/RNSScreen.mm +12 -0
- package/ios/RNSScreenStackHeaderConfig.h +1 -1
- package/ios/RNSScreenStackHeaderConfig.mm +27 -22
- package/lib/commonjs/components/Screen.js +9 -2
- package/lib/commonjs/components/Screen.js.map +1 -1
- package/lib/module/components/Screen.js +9 -2
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/typescript/components/Screen.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Screen.tsx +17 -9
package/RNScreens.podspec
CHANGED
|
@@ -3,7 +3,7 @@ require "json"
|
|
|
3
3
|
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
4
|
|
|
5
5
|
new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1'
|
|
6
|
-
|
|
6
|
+
min_supported_ios_version = new_arch_enabled ? "15.1" : "15.1"
|
|
7
7
|
source_files = new_arch_enabled ? 'ios/**/*.{h,m,mm,cpp}' : ["ios/**/*.{h,m,mm}", "cpp/RNScreensTurboModule.cpp", "cpp/RNScreensTurboModule.h"]
|
|
8
8
|
|
|
9
9
|
Pod::Spec.new do |s|
|
|
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
|
|
|
16
16
|
s.homepage = "https://github.com/software-mansion/react-native-screens"
|
|
17
17
|
s.license = "MIT"
|
|
18
18
|
s.author = { "author" => "author@domain.cn" }
|
|
19
|
-
s.platforms = { :ios =>
|
|
19
|
+
s.platforms = { :ios => min_supported_ios_version, :tvos => "11.0", :visionos => "1.0" }
|
|
20
20
|
s.source = { :git => "https://github.com/software-mansion/react-native-screens.git", :tag => "#{s.version}" }
|
|
21
21
|
s.source_files = source_files
|
|
22
22
|
s.project_header_files = "cpp/**/*.h" # Don't expose C++ headers publicly to allow importing framework into Swift files
|
|
@@ -14,8 +14,9 @@ abstract class FabricEnabledViewGroup(
|
|
|
14
14
|
) : ViewGroup(context) {
|
|
15
15
|
private var mStateWrapper: StateWrapper? = null
|
|
16
16
|
|
|
17
|
-
private var
|
|
18
|
-
private var
|
|
17
|
+
private var lastWidth = 0f
|
|
18
|
+
private var lastHeight = 0f
|
|
19
|
+
private var lastHeaderHeight = 0f
|
|
19
20
|
|
|
20
21
|
fun setStateWrapper(wrapper: StateWrapper?) {
|
|
21
22
|
mStateWrapper = wrapper
|
|
@@ -42,14 +43,16 @@ abstract class FabricEnabledViewGroup(
|
|
|
42
43
|
// Check incoming state values. If they're already the correct value, return early to prevent
|
|
43
44
|
// infinite UpdateState/SetState loop.
|
|
44
45
|
val delta = 0.9f
|
|
45
|
-
if (abs(
|
|
46
|
-
abs(
|
|
46
|
+
if (abs(lastWidth - realWidth) < delta &&
|
|
47
|
+
abs(lastHeight - realHeight) < delta &&
|
|
48
|
+
abs(lastHeaderHeight - realHeaderHeight) < delta
|
|
47
49
|
) {
|
|
48
50
|
return
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
lastWidth = realWidth
|
|
54
|
+
lastHeight = realHeight
|
|
55
|
+
lastHeaderHeight = realHeaderHeight
|
|
53
56
|
val map: WritableMap =
|
|
54
57
|
WritableNativeMap().apply {
|
|
55
58
|
putDouble("frameWidth", realWidth.toDouble())
|
|
@@ -41,7 +41,8 @@ class NativeProxy {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
// Called from native
|
|
44
|
+
// Called from native. Currently this method is called from MountingCoordinator thread,
|
|
45
|
+
// which usually is not UI thread.
|
|
45
46
|
@DoNotStrip
|
|
46
47
|
public fun notifyScreenRemoved(screenTag: Int) {
|
|
47
48
|
// Since RN 0.78 the screenTag we receive as argument here might not belong to a screen
|
|
@@ -27,6 +27,7 @@ import com.google.android.material.shape.CornerFamily
|
|
|
27
27
|
import com.google.android.material.shape.MaterialShapeDrawable
|
|
28
28
|
import com.google.android.material.shape.ShapeAppearanceModel
|
|
29
29
|
import com.swmansion.rnscreens.bottomsheet.isSheetFitToContents
|
|
30
|
+
import com.swmansion.rnscreens.bottomsheet.useSingleDetent
|
|
30
31
|
import com.swmansion.rnscreens.bottomsheet.usesFormSheetPresentation
|
|
31
32
|
import com.swmansion.rnscreens.events.HeaderHeightChangeEvent
|
|
32
33
|
import com.swmansion.rnscreens.events.SheetDetentChangedEvent
|
|
@@ -103,6 +104,9 @@ class Screen(
|
|
|
103
104
|
field = value
|
|
104
105
|
}
|
|
105
106
|
|
|
107
|
+
private val isNativeStackScreen: Boolean
|
|
108
|
+
get() = container is ScreenStack
|
|
109
|
+
|
|
106
110
|
init {
|
|
107
111
|
// we set layout params as WindowManager.LayoutParams to workaround the issue with TextInputs
|
|
108
112
|
// not displaying modal menus (e.g., copy/paste or selection). The missing menus are due to the
|
|
@@ -132,11 +136,7 @@ class Screen(
|
|
|
132
136
|
val height = bottom - top
|
|
133
137
|
|
|
134
138
|
if (isSheetFitToContents()) {
|
|
135
|
-
sheetBehavior?.
|
|
136
|
-
if (it.maxHeight != height) {
|
|
137
|
-
it.maxHeight = height
|
|
138
|
-
}
|
|
139
|
-
}
|
|
139
|
+
sheetBehavior?.useSingleDetent(height)
|
|
140
140
|
|
|
141
141
|
if (!BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
142
142
|
// On old architecture we delay enter transition in order to wait for initial frame.
|
|
@@ -173,23 +173,31 @@ class Screen(
|
|
|
173
173
|
r: Int,
|
|
174
174
|
b: Int,
|
|
175
175
|
) {
|
|
176
|
-
|
|
176
|
+
// In case of form sheet we get layout notification a bit later, in `onBottomSheetBehaviorDidLayout`
|
|
177
|
+
// after the attached behaviour laid out this view.
|
|
178
|
+
if (changed && isNativeStackScreen && !usesFormSheetPresentation()) {
|
|
177
179
|
val width = r - l
|
|
178
180
|
val height = b - t
|
|
179
181
|
|
|
180
|
-
|
|
181
|
-
updateScreenSizeFabric(width, height, t)
|
|
182
|
-
} else {
|
|
183
|
-
updateScreenSizePaper(width, height)
|
|
184
|
-
}
|
|
182
|
+
dispatchShadowStateUpdate(width, height, t)
|
|
185
183
|
|
|
186
|
-
|
|
184
|
+
// FormSheet has no header in current model.
|
|
187
185
|
notifyHeaderHeightChange(t)
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
internal fun onBottomSheetBehaviorDidLayout(coordinatorLayoutDidChange: Boolean) {
|
|
190
|
+
if (!usesFormSheetPresentation()) {
|
|
191
|
+
return
|
|
192
|
+
}
|
|
193
|
+
if (coordinatorLayoutDidChange && isNativeStackScreen) {
|
|
194
|
+
dispatchShadowStateUpdate(width, height, top)
|
|
195
|
+
}
|
|
196
|
+
if (!BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
197
|
+
maybeTriggerPostponedTransition()
|
|
192
198
|
}
|
|
199
|
+
|
|
200
|
+
footer?.onParentLayout(coordinatorLayoutDidChange, left, top, right, bottom, container!!.height)
|
|
193
201
|
}
|
|
194
202
|
|
|
195
203
|
private fun maybeTriggerPostponedTransition() {
|
|
@@ -214,6 +222,21 @@ class Screen(
|
|
|
214
222
|
)
|
|
215
223
|
}
|
|
216
224
|
|
|
225
|
+
/**
|
|
226
|
+
* @param offsetY ignored on old architecture
|
|
227
|
+
*/
|
|
228
|
+
private fun dispatchShadowStateUpdate(
|
|
229
|
+
width: Int,
|
|
230
|
+
height: Int,
|
|
231
|
+
offsetY: Int,
|
|
232
|
+
) {
|
|
233
|
+
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
234
|
+
updateScreenSizeFabric(width, height, offsetY)
|
|
235
|
+
} else {
|
|
236
|
+
updateScreenSizePaper(width, height)
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
217
240
|
val headerConfig: ScreenStackHeaderConfig?
|
|
218
241
|
get() = children.find { it is ScreenStackHeaderConfig } as? ScreenStackHeaderConfig
|
|
219
242
|
|
|
@@ -487,6 +510,11 @@ class Screen(
|
|
|
487
510
|
isStable: Boolean,
|
|
488
511
|
) {
|
|
489
512
|
dispatchSheetDetentChanged(detentIndex, isStable)
|
|
513
|
+
// There is no need to update shadow state for transient sheet states -
|
|
514
|
+
// we are unsure of the exact sheet position anyway.
|
|
515
|
+
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED && isStable) {
|
|
516
|
+
updateScreenSizeFabric(width, height, top)
|
|
517
|
+
}
|
|
490
518
|
}
|
|
491
519
|
|
|
492
520
|
private fun dispatchSheetDetentChanged(
|
|
@@ -175,21 +175,18 @@ class ScreenStack(
|
|
|
175
175
|
childDrawingOrderStrategy = null
|
|
176
176
|
|
|
177
177
|
// Determine new first & last visible screens.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
.firstOrNull()
|
|
191
|
-
?.takeUnless { it === newTop }
|
|
192
|
-
}
|
|
178
|
+
val notDismissedWrappers =
|
|
179
|
+
screenWrappers
|
|
180
|
+
.asReversed()
|
|
181
|
+
.asSequence()
|
|
182
|
+
.filter { !dismissedWrappers.contains(it) && it.screen.activityState !== Screen.ActivityState.INACTIVE }
|
|
183
|
+
|
|
184
|
+
newTop = notDismissedWrappers.firstOrNull()
|
|
185
|
+
visibleBottom =
|
|
186
|
+
notDismissedWrappers
|
|
187
|
+
.dropWhile { it.screen.isTransparent() }
|
|
188
|
+
.firstOrNull()
|
|
189
|
+
?.takeUnless { it === newTop }
|
|
193
190
|
|
|
194
191
|
var shouldUseOpenAnimation = true
|
|
195
192
|
var stackAnimation: StackAnimation? = null
|
|
@@ -480,7 +480,7 @@ class ScreenStackFragment :
|
|
|
480
480
|
constructor(context: Context, fragment: ScreenStackFragment) : this(
|
|
481
481
|
context,
|
|
482
482
|
fragment,
|
|
483
|
-
|
|
483
|
+
PointerEventsBoxNoneImpl(),
|
|
484
484
|
)
|
|
485
485
|
|
|
486
486
|
override fun onApplyWindowInsets(insets: WindowInsets?): WindowInsets = super.onApplyWindowInsets(insets)
|
|
@@ -543,6 +543,20 @@ class ScreenStackFragment :
|
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
545
|
|
|
546
|
+
override fun onLayout(
|
|
547
|
+
changed: Boolean,
|
|
548
|
+
l: Int,
|
|
549
|
+
t: Int,
|
|
550
|
+
r: Int,
|
|
551
|
+
b: Int,
|
|
552
|
+
) {
|
|
553
|
+
super.onLayout(changed, l, t, r, b)
|
|
554
|
+
|
|
555
|
+
if (fragment.screen.usesFormSheetPresentation()) {
|
|
556
|
+
fragment.screen.onBottomSheetBehaviorDidLayout(changed)
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
546
560
|
// override fun reactTagForTouch(touchX: Float, touchY: Float): Int {
|
|
547
561
|
// throw IllegalStateException("Screen wrapper should never be asked for the view tag")
|
|
548
562
|
// }
|
|
@@ -15,6 +15,7 @@ import androidx.fragment.app.Fragment
|
|
|
15
15
|
import com.facebook.react.ReactApplication
|
|
16
16
|
import com.facebook.react.bridge.JSApplicationIllegalArgumentException
|
|
17
17
|
import com.facebook.react.bridge.ReactContext
|
|
18
|
+
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
18
19
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
19
20
|
import com.facebook.react.views.text.ReactTypefaceUtils
|
|
20
21
|
import com.swmansion.rnscreens.events.HeaderAttachedEvent
|
|
@@ -23,7 +24,11 @@ import kotlin.math.max
|
|
|
23
24
|
|
|
24
25
|
class ScreenStackHeaderConfig(
|
|
25
26
|
context: Context,
|
|
26
|
-
|
|
27
|
+
private val pointerEventsImpl: ReactPointerEventsView
|
|
28
|
+
) : FabricEnabledHeaderConfigViewGroup(context), ReactPointerEventsView by pointerEventsImpl {
|
|
29
|
+
|
|
30
|
+
constructor(context: Context): this(context, pointerEventsImpl = PointerEventsBoxNoneImpl())
|
|
31
|
+
|
|
27
32
|
private val configSubviews = ArrayList<ScreenStackHeaderSubview>(3)
|
|
28
33
|
val toolbar: CustomToolbar
|
|
29
34
|
var isHeaderHidden = false // named this way to avoid conflict with platform's isHidden
|
|
@@ -10,6 +10,14 @@ class ScreenStackHeaderSubview(
|
|
|
10
10
|
) : FabricEnabledHeaderSubviewViewGroup(context) {
|
|
11
11
|
private var reactWidth = 0
|
|
12
12
|
private var reactHeight = 0
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Semantics: true iff we **believe** that SurfaceMountingManager has measured this view during mount item
|
|
16
|
+
* execution. We recognize this case by checking measure mode in `onMeasure`. If Androidx
|
|
17
|
+
* happens to use `EXACTLY` for both dimensions this property might convey invalid information.
|
|
18
|
+
*/
|
|
19
|
+
private var isReactSizeSet = false
|
|
20
|
+
|
|
13
21
|
var type = Type.RIGHT
|
|
14
22
|
|
|
15
23
|
val config: ScreenStackHeaderConfig?
|
|
@@ -22,9 +30,10 @@ class ScreenStackHeaderSubview(
|
|
|
22
30
|
if (MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY &&
|
|
23
31
|
MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.EXACTLY
|
|
24
32
|
) {
|
|
25
|
-
// dimensions provided by react
|
|
33
|
+
// dimensions provided by react (with high probability)
|
|
26
34
|
reactWidth = MeasureSpec.getSize(widthMeasureSpec)
|
|
27
35
|
reactHeight = MeasureSpec.getSize(heightMeasureSpec)
|
|
36
|
+
isReactSizeSet = true
|
|
28
37
|
val parent = parent
|
|
29
38
|
if (parent != null) {
|
|
30
39
|
forceLayout()
|
|
@@ -44,7 +53,15 @@ class ScreenStackHeaderSubview(
|
|
|
44
53
|
if (changed && BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
45
54
|
val width = r - l
|
|
46
55
|
val height = b - t
|
|
47
|
-
|
|
56
|
+
|
|
57
|
+
// When setting subviews via `setOptions` from `useEffect` hook in a component, the first
|
|
58
|
+
// frame received might be computed by native layout & completely invalid (zero height).
|
|
59
|
+
// RN layout is the source of subview **size** (not origin) & we need to avoid sending
|
|
60
|
+
// this native size to ST. Doing otherwise might lead to problems.
|
|
61
|
+
// See: https://github.com/software-mansion/react-native-screens/pull/2812
|
|
62
|
+
if (isReactSizeSet) {
|
|
63
|
+
updateSubviewFrameState(width, height, l, t)
|
|
64
|
+
}
|
|
48
65
|
}
|
|
49
66
|
}
|
|
50
67
|
|
|
@@ -61,6 +61,7 @@ class ScreenStackViewManager :
|
|
|
61
61
|
index: Int,
|
|
62
62
|
): View = parent.getScreenAt(index)
|
|
63
63
|
|
|
64
|
+
// Old architecture only.
|
|
64
65
|
override fun createShadowNodeInstance(context: ReactApplicationContext): LayoutShadowNode = ScreensShadowNode(context)
|
|
65
66
|
|
|
66
67
|
override fun needsCustomLayoutForChildren() = true
|
|
@@ -130,10 +130,15 @@ class SheetDelegate(
|
|
|
130
130
|
behavior.apply {
|
|
131
131
|
val height =
|
|
132
132
|
if (screen.isSheetFitToContents()) {
|
|
133
|
-
screen.contentWrapper
|
|
134
|
-
.
|
|
135
|
-
|
|
136
|
-
|
|
133
|
+
screen.contentWrapper.get()?.let { contentWrapper ->
|
|
134
|
+
contentWrapper.height.takeIf {
|
|
135
|
+
// subtree might not be laid out, e.g. after fragment reattachment
|
|
136
|
+
// and view recreation, however since it is retained by
|
|
137
|
+
// react-native it has its height cached. We want to use it.
|
|
138
|
+
// Otherwise we would have to trigger RN layout manually.
|
|
139
|
+
contentWrapper.isLaidOut || contentWrapper.height > 0
|
|
140
|
+
}
|
|
141
|
+
}
|
|
137
142
|
} else {
|
|
138
143
|
(screen.sheetDetents.first() * containerHeight).toInt()
|
|
139
144
|
}
|
|
@@ -3,7 +3,7 @@ package com.swmansion.rnscreens
|
|
|
3
3
|
import com.facebook.react.uimanager.PointerEvents
|
|
4
4
|
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
5
5
|
|
|
6
|
-
internal class
|
|
6
|
+
internal class PointerEventsBoxNoneImpl() : ReactPointerEventsView {
|
|
7
7
|
// We set pointer events to BOX_NONE, because we don't want the ScreensCoordinatorLayout
|
|
8
8
|
// to be target of react gestures and effectively prevent interaction with screens
|
|
9
9
|
// underneath the current screen (useful in `modal` & `formSheet` presentation).
|
|
@@ -3,7 +3,7 @@ package com.swmansion.rnscreens
|
|
|
3
3
|
import com.facebook.react.uimanager.PointerEvents
|
|
4
4
|
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
5
5
|
|
|
6
|
-
internal class
|
|
6
|
+
internal class PointerEventsBoxNoneImpl() : ReactPointerEventsView {
|
|
7
7
|
// We set pointer events to BOX_NONE, because we don't want the ScreensCoordinatorLayout
|
|
8
8
|
// to be target of react gestures and effectively prevent interaction with screens
|
|
9
9
|
// underneath the current screen (useful in `modal` & `formSheet` presentation).
|
|
@@ -7,9 +7,7 @@ extern const char RNSModalScreenComponentName[] = "RNSModalScreen";
|
|
|
7
7
|
|
|
8
8
|
Point RNSModalScreenShadowNode::getContentOriginOffset(
|
|
9
9
|
bool /*includeTransform*/) const {
|
|
10
|
-
|
|
11
|
-
auto contentOffset = stateData.contentOffset;
|
|
12
|
-
return {contentOffset.x, contentOffset.y};
|
|
10
|
+
return getStateData().contentOffset;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
} // namespace react
|
|
@@ -34,17 +34,21 @@ class RNSScreenStackHeaderConfigComponentDescriptor final
|
|
|
34
34
|
shadowNode.getState());
|
|
35
35
|
auto stateData = state->getData();
|
|
36
36
|
|
|
37
|
-
if (stateData.frameSize.width != 0 && stateData.frameSize.height != 0) {
|
|
38
|
-
layoutableShadowNode.setSize(stateData.frameSize);
|
|
39
37
|
#ifdef ANDROID
|
|
38
|
+
if (stateData.frameSize.width != 0) {
|
|
39
|
+
layoutableShadowNode.setSize({stateData.frameSize.width, YGUndefined});
|
|
40
40
|
layoutableShadowNode.setPadding({
|
|
41
41
|
stateData.paddingStart,
|
|
42
42
|
0,
|
|
43
43
|
stateData.paddingEnd,
|
|
44
44
|
0,
|
|
45
45
|
});
|
|
46
|
-
#endif // ANDROID
|
|
47
46
|
}
|
|
47
|
+
#else
|
|
48
|
+
if (stateData.frameSize.width != 0 && stateData.frameSize.height != 0) {
|
|
49
|
+
layoutableShadowNode.setSize(stateData.frameSize);
|
|
50
|
+
}
|
|
51
|
+
#endif // ANDROID
|
|
48
52
|
|
|
49
53
|
ConcreteComponentDescriptor::adopt(shadowNode);
|
|
50
54
|
#if !defined(ANDROID) && !defined(NDEBUG)
|
|
@@ -32,7 +32,7 @@ class RNSScreenStackHeaderSubviewComponentDescriptor final
|
|
|
32
32
|
|
|
33
33
|
auto state = std::static_pointer_cast<
|
|
34
34
|
const RNSScreenStackHeaderSubviewShadowNode::ConcreteState>(
|
|
35
|
-
shadowNode.
|
|
35
|
+
shadowNode.getState());
|
|
36
36
|
auto stateData = state->getData();
|
|
37
37
|
|
|
38
38
|
if (!isSizeEmpty(stateData.frameSize)) {
|
|
@@ -8,9 +8,11 @@ std::optional<MountingTransaction> RNSScreenRemovalListener::pullTransaction(
|
|
|
8
8
|
const TransactionTelemetry &telemetry,
|
|
9
9
|
ShadowViewMutationList mutations) const {
|
|
10
10
|
for (const ShadowViewMutation &mutation : mutations) {
|
|
11
|
+
// When using RNSModalScreen on Android it should be added here.
|
|
11
12
|
if (mutation.type == ShadowViewMutation::Type::Remove &&
|
|
12
13
|
mutation.oldChildShadowView.componentName != nullptr &&
|
|
13
|
-
strcmp(mutation.oldChildShadowView.componentName, "RNSScreen") ==
|
|
14
|
+
std::strcmp(mutation.oldChildShadowView.componentName, "RNSScreen") ==
|
|
15
|
+
0) {
|
|
14
16
|
// We call the listener function even if this screen has not been owned
|
|
15
17
|
// by RNSScreenStack as since RN 0.78 we do not have enough information
|
|
16
18
|
// here. This final filter is applied later in NativeProxy.
|
package/ios/RNSScreen.mm
CHANGED
|
@@ -246,6 +246,18 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
246
246
|
}
|
|
247
247
|
#else
|
|
248
248
|
_controller.modalPresentationStyle = UIModalPresentationFullScreen;
|
|
249
|
+
#endif
|
|
250
|
+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_17_0) && \
|
|
251
|
+
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_17_0 && !TARGET_OS_TV
|
|
252
|
+
if (@available(iOS 18.0, *)) {
|
|
253
|
+
UISheetPresentationController *sheetController = _controller.sheetPresentationController;
|
|
254
|
+
if (sheetController != nil) {
|
|
255
|
+
sheetController.prefersPageSizing = true;
|
|
256
|
+
} else {
|
|
257
|
+
RCTLogError(
|
|
258
|
+
@"[RNScreens] sheetPresentationController is null when attempting to set prefersPageSizing for modal");
|
|
259
|
+
}
|
|
260
|
+
}
|
|
249
261
|
#endif
|
|
250
262
|
break;
|
|
251
263
|
case RNSScreenStackPresentationFullScreenModal:
|
|
@@ -49,7 +49,7 @@ namespace react = facebook::react;
|
|
|
49
49
|
|
|
50
50
|
@implementation NSString (RNSStringUtil)
|
|
51
51
|
|
|
52
|
-
+ (BOOL)
|
|
52
|
+
+ (BOOL)rnscreens_isBlankOrNull:(NSString *)string
|
|
53
53
|
{
|
|
54
54
|
if (string == nil) {
|
|
55
55
|
return YES;
|
|
@@ -613,22 +613,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
613
613
|
|
|
614
614
|
[navctr setNavigationBarHidden:shouldHide animated:animated];
|
|
615
615
|
|
|
616
|
-
|
|
617
|
-
config.direction == UISemanticContentAttributeForceRightToLeft) &&
|
|
618
|
-
// iOS 12 cancels swipe gesture when direction is changed. See #1091
|
|
619
|
-
navctr.view.semanticContentAttribute != config.direction) {
|
|
620
|
-
// This is needed for swipe back gesture direction
|
|
621
|
-
navctr.view.semanticContentAttribute = config.direction;
|
|
622
|
-
|
|
623
|
-
// This is responsible for the direction of the navigationBar and its contents
|
|
624
|
-
navctr.navigationBar.semanticContentAttribute = config.direction;
|
|
625
|
-
[[UIButton appearanceWhenContainedInInstancesOfClasses:@[ navctr.navigationBar.class ]]
|
|
626
|
-
setSemanticContentAttribute:config.direction];
|
|
627
|
-
[[UIView appearanceWhenContainedInInstancesOfClasses:@[ navctr.navigationBar.class ]]
|
|
628
|
-
setSemanticContentAttribute:config.direction];
|
|
629
|
-
[[UISearchBar appearanceWhenContainedInInstancesOfClasses:@[ navctr.navigationBar.class ]]
|
|
630
|
-
setSemanticContentAttribute:config.direction];
|
|
631
|
-
}
|
|
616
|
+
[config applySemanticContentAttributeIfNeededToNavCtrl:navctr];
|
|
632
617
|
|
|
633
618
|
if (shouldHide) {
|
|
634
619
|
navitem.title = config.title;
|
|
@@ -636,7 +621,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
636
621
|
}
|
|
637
622
|
|
|
638
623
|
#if !TARGET_OS_TV
|
|
639
|
-
const auto isBackTitleBlank = [NSString
|
|
624
|
+
const auto isBackTitleBlank = [NSString rnscreens_isBlankOrNull:config.backTitle] == YES;
|
|
640
625
|
NSString *resolvedBackTitle = isBackTitleBlank ? prevItem.title : config.backTitle;
|
|
641
626
|
RNSUIBarButtonItem *backBarButtonItem = [[RNSUIBarButtonItem alloc] initWithTitle:resolvedBackTitle
|
|
642
627
|
style:UIBarButtonItemStylePlain
|
|
@@ -644,7 +629,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
644
629
|
action:nil];
|
|
645
630
|
[backBarButtonItem setMenuHidden:config.disableBackButtonMenu];
|
|
646
631
|
|
|
647
|
-
auto
|
|
632
|
+
auto shouldUseCustomBackBarButtonItem = !isBackTitleBlank || config.disableBackButtonMenu;
|
|
648
633
|
|
|
649
634
|
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_14_0) && \
|
|
650
635
|
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0
|
|
@@ -661,7 +646,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
661
646
|
// See: https://github.com/software-mansion/react-native-screens/pull/2105#discussion_r1565222738
|
|
662
647
|
![config.backTitleFontFamily isEqual:@"System"]) ||
|
|
663
648
|
config.backTitleFontSize) {
|
|
664
|
-
|
|
649
|
+
shouldUseCustomBackBarButtonItem = YES;
|
|
665
650
|
NSMutableDictionary *attrs = [NSMutableDictionary new];
|
|
666
651
|
NSNumber *size = config.backTitleFontSize ?: @17;
|
|
667
652
|
if (config.backTitleFontFamily) {
|
|
@@ -684,7 +669,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
684
669
|
// When backBarButtonItem's title is null, back menu will use value
|
|
685
670
|
// of backButtonTitle
|
|
686
671
|
[backBarButtonItem setTitle:nil];
|
|
687
|
-
|
|
672
|
+
shouldUseCustomBackBarButtonItem = YES;
|
|
688
673
|
prevItem.backButtonTitle = resolvedBackTitle;
|
|
689
674
|
}
|
|
690
675
|
|
|
@@ -692,7 +677,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
692
677
|
// as assigning one will override the native behavior of automatically shortening
|
|
693
678
|
// the title to "Back" or hide the back title if there's not enough space.
|
|
694
679
|
// See: https://github.com/software-mansion/react-native-screens/issues/1589
|
|
695
|
-
if (
|
|
680
|
+
if (shouldUseCustomBackBarButtonItem) {
|
|
696
681
|
prevItem.backBarButtonItem = backBarButtonItem;
|
|
697
682
|
}
|
|
698
683
|
|
|
@@ -848,6 +833,26 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
848
833
|
}
|
|
849
834
|
}
|
|
850
835
|
|
|
836
|
+
- (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *)navCtrl
|
|
837
|
+
{
|
|
838
|
+
if ((self.direction == UISemanticContentAttributeForceLeftToRight ||
|
|
839
|
+
self.direction == UISemanticContentAttributeForceRightToLeft) &&
|
|
840
|
+
// iOS 12 cancels swipe gesture when direction is changed. See #1091
|
|
841
|
+
navCtrl.view.semanticContentAttribute != self.direction) {
|
|
842
|
+
// This is needed for swipe back gesture direction
|
|
843
|
+
navCtrl.view.semanticContentAttribute = self.direction;
|
|
844
|
+
|
|
845
|
+
// This is responsible for the direction of the navigationBar and its contents
|
|
846
|
+
navCtrl.navigationBar.semanticContentAttribute = self.direction;
|
|
847
|
+
[[UIButton appearanceWhenContainedInInstancesOfClasses:@[ navCtrl.navigationBar.class ]]
|
|
848
|
+
setSemanticContentAttribute:self.direction];
|
|
849
|
+
[[UIView appearanceWhenContainedInInstancesOfClasses:@[ navCtrl.navigationBar.class ]]
|
|
850
|
+
setSemanticContentAttribute:self.direction];
|
|
851
|
+
[[UISearchBar appearanceWhenContainedInInstancesOfClasses:@[ navCtrl.navigationBar.class ]]
|
|
852
|
+
setSemanticContentAttribute:self.direction];
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
|
|
851
856
|
RNS_IGNORE_SUPER_CALL_BEGIN
|
|
852
857
|
- (void)insertReactSubview:(RNSScreenStackHeaderSubview *)subview atIndex:(NSInteger)atIndex
|
|
853
858
|
{
|
|
@@ -147,8 +147,15 @@ const InnerScreen = exports.InnerScreen = /*#__PURE__*/_react.default.forwardRef
|
|
|
147
147
|
const resolvedSheetAllowedDetents = resolveSheetAllowedDetents(sheetAllowedDetents);
|
|
148
148
|
const resolvedSheetLargestUndimmedDetent = resolveSheetLargestUndimmedDetent(sheetLargestUndimmedDetentIndex, resolvedSheetAllowedDetents.length - 1);
|
|
149
149
|
const resolvedSheetInitialDetentIndex = resolveSheetInitialDetentIndex(sheetInitialDetentIndex, resolvedSheetAllowedDetents.length - 1);
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
|
|
151
|
+
// Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens (there is a need for different
|
|
152
|
+
// shadow nodes).
|
|
153
|
+
const shouldUseModalScreenComponent = _reactNative.Platform.select({
|
|
154
|
+
ios: !(stackPresentation === undefined || stackPresentation === 'push' || stackPresentation === 'containedModal' || stackPresentation === 'containedTransparentModal'),
|
|
155
|
+
android: false,
|
|
156
|
+
default: false
|
|
157
|
+
});
|
|
158
|
+
const AnimatedScreen = shouldUseModalScreenComponent ? AnimatedNativeModalScreen : AnimatedNativeScreen;
|
|
152
159
|
let {
|
|
153
160
|
// Filter out active prop in this case because it is unused and
|
|
154
161
|
// can cause problems depending on react-native version:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","default","ScreenContext","InnerScreen","_react","_interopRequireDefault","require","_reactNative","_TransitionProgressContext","_DelayedFreeze","_core","_ScreenNativeComponent","_ModalScreenNativeComponent","_usePrevious","e","__esModule","_extends","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","AnimatedNativeScreen","Animated","createAnimatedComponent","ScreenNativeComponent","AnimatedNativeModalScreen","ModalScreenNativeComponent","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","assertDetentsArrayIsSorted","array","i","Error","resolveSheetAllowedDetents","allowedDetentsCompat","Array","isArray","Platform","OS","__DEV__","console","warn","slice","resolveSheetLargestUndimmedDetent","lud","lastDetentIndex","isIndexInClosedRange","resolveSheetInitialDetentIndex","index","lowerBound","upperBound","Number","isInteger","React","forwardRef","props","ref","innerRef","useRef","useImperativeHandle","current","prevActivityState","usePrevious","activityState","setRef","onComponentRef","closing","Value","progress","goingForward","enabled","screensEnabled","freezeOnBlur","freezeEnabled","shouldFreeze","rest","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","sheetElevation","sheetInitialDetentIndex","stackPresentation","onAppear","onDisappear","onWillAppear","onWillDisappear","isNativePlatformSupported","resolvedSheetAllowedDetents","resolvedSheetLargestUndimmedDetent","resolvedSheetInitialDetentIndex","AnimatedScreen","undefined","active","children","isNativeStack","gestureResponseDistance","onGestureCancel","style","handleRef","viewConfig","validAttributes","display","_viewConfig","freeze","createElement","zIndex","sheetLargestUndimmedDetent","sheetInitialDetent","start","end","top","bottom","onTransitionProgress","event","nativeEvent","useNativeDriver","Provider","View","createContext","Screen","ScreenWrapper","useContext","displayName","_default"],"sourceRoot":"../../../src","sources":["components/Screen.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","default","ScreenContext","InnerScreen","_react","_interopRequireDefault","require","_reactNative","_TransitionProgressContext","_DelayedFreeze","_core","_ScreenNativeComponent","_ModalScreenNativeComponent","_usePrevious","e","__esModule","_extends","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","AnimatedNativeScreen","Animated","createAnimatedComponent","ScreenNativeComponent","AnimatedNativeModalScreen","ModalScreenNativeComponent","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","assertDetentsArrayIsSorted","array","i","Error","resolveSheetAllowedDetents","allowedDetentsCompat","Array","isArray","Platform","OS","__DEV__","console","warn","slice","resolveSheetLargestUndimmedDetent","lud","lastDetentIndex","isIndexInClosedRange","resolveSheetInitialDetentIndex","index","lowerBound","upperBound","Number","isInteger","React","forwardRef","props","ref","innerRef","useRef","useImperativeHandle","current","prevActivityState","usePrevious","activityState","setRef","onComponentRef","closing","Value","progress","goingForward","enabled","screensEnabled","freezeOnBlur","freezeEnabled","shouldFreeze","rest","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","sheetElevation","sheetInitialDetentIndex","stackPresentation","onAppear","onDisappear","onWillAppear","onWillDisappear","isNativePlatformSupported","resolvedSheetAllowedDetents","resolvedSheetLargestUndimmedDetent","resolvedSheetInitialDetentIndex","shouldUseModalScreenComponent","select","ios","undefined","android","AnimatedScreen","active","children","isNativeStack","gestureResponseDistance","onGestureCancel","style","handleRef","viewConfig","validAttributes","display","_viewConfig","freeze","createElement","zIndex","sheetLargestUndimmedDetent","sheetInitialDetent","start","end","top","bottom","onTransitionProgress","event","nativeEvent","useNativeDriver","Provider","View","createContext","Screen","ScreenWrapper","useContext","displayName","_default"],"sourceRoot":"../../../src","sources":["components/Screen.tsx"],"mappings":";AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,OAAA,GAAAF,OAAA,CAAAG,aAAA,GAAAH,OAAA,CAAAI,WAAA;AAEb,IAAAC,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAGA,IAAAI,KAAA,GAAAJ,OAAA;AAOA,IAAAK,sBAAA,GAAAN,sBAAA,CAAAC,OAAA;AAGA,IAAAM,2BAAA,GAAAP,sBAAA,CAAAC,OAAA;AAGA,IAAAO,YAAA,GAAAP,OAAA;AAAoD,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAb,OAAA,EAAAa,CAAA;AAAA,SAAAE,SAAA,WAAAA,QAAA,GAAAnB,MAAA,CAAAoB,MAAA,GAAApB,MAAA,CAAAoB,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,CAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAH,QAAA,CAAAU,KAAA,OAAAN,SAAA,KAPpD;AAUA,MAAMO,oBAAoB,GAAGC,qBAAQ,CAACC,uBAAuB,CAC3DC,8BACF,CAAC;AACD,MAAMC,yBAAyB,GAAGH,qBAAQ,CAACC,uBAAuB,CAChEG,mCACF,CAAC;;AAED;AACA;;AAkBA;AACA,MAAMC,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,MAAMC,kBAAkB,GAAG,CAAC,GAAG,CAAC;AAChC,MAAMC,mBAAmB,GAAG,CAAC,GAAG,CAAC;AACjC,MAAMC,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAEnC,MAAMC,mBAAmB,GAAG,CAAC,CAAC;AAC9B;;AAEA,SAASC,0BAA0BA,CAACC,KAAe,EAAE;EACnD,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAAClB,MAAM,EAAEmB,CAAC,EAAE,EAAE;IACrC,IAAID,KAAK,CAACC,CAAC,GAAG,CAAC,CAAC,GAAGD,KAAK,CAACC,CAAC,CAAC,EAAE;MAC3B,MAAM,IAAIC,KAAK,CACb,gEACF,CAAC;IACH;EACF;AACF;;AAEA;AACA;AACA,SAASC,0BAA0BA,CACjCC,oBAAwD,EAC9C;EACV,IAAIC,KAAK,CAACC,OAAO,CAACF,oBAAoB,CAAC,EAAE;IACvC,IAAIG,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIJ,oBAAoB,CAACtB,MAAM,GAAG,CAAC,EAAE;MAChE,IAAI2B,OAAO,EAAE;QACXC,OAAO,CAACC,IAAI,CACV,iGACF,CAAC;MACH;MACAP,oBAAoB,GAAGA,oBAAoB,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD;IACA,IAAIH,OAAO,EAAE;MACXV,0BAA0B,CAACK,oBAAoB,CAAC;IAClD;IACA,OAAOA,oBAAoB;EAC7B,CAAC,MAAM,IAAIA,oBAAoB,KAAK,eAAe,EAAE;IACnD,OAAOV,qBAAqB;EAC9B,CAAC,MAAM,IAAIU,oBAAoB,KAAK,OAAO,EAAE;IAC3C,OAAOT,kBAAkB;EAC3B,CAAC,MAAM,IAAIS,oBAAoB,KAAK,QAAQ,EAAE;IAC5C,OAAOR,mBAAmB;EAC5B,CAAC,MAAM,IAAIQ,oBAAoB,KAAK,KAAK,EAAE;IACzC,OAAOP,gBAAgB;EACzB,CAAC,MAAM;IACL;IACA,OAAOF,kBAAkB;EAC3B;AACF;AAEA,SAASkB,iCAAiCA,CACxCC,GAAmD,EACnDC,eAAuB,EACf;EACR,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI,CAACE,oBAAoB,CAACF,GAAG,EAAEhB,mBAAmB,EAAEiB,eAAe,CAAC,EAAE;MACpE,IAAIN,OAAO,EAAE;QACX,MAAM,IAAIP,KAAK,CACb,uHACF,CAAC;MACH;MACA;MACA,OAAOJ,mBAAmB;IAC5B;IACA,OAAOgB,GAAG;EACZ,CAAC,MAAM,IAAIA,GAAG,KAAK,MAAM,EAAE;IACzB,OAAOC,eAAe;EACxB,CAAC,MAAM,IAAID,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,KAAK,EAAE;IAC1C,OAAOhB,mBAAmB;EAC5B,CAAC,MAAM,IAAIgB,GAAG,KAAK,OAAO,EAAE;IAC1B,OAAO,CAAC;EACV,CAAC,MAAM,IAAIA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAO,CAAC;EACV,CAAC,MAAM;IACL;IACA,OAAOhB,mBAAmB;EAC5B;AACF;AAEA,SAASmB,8BAA8BA,CACrCC,KAA6C,EAC7CH,eAAuB,EACf;EACR,IAAIG,KAAK,KAAK,MAAM,EAAE;IACpBA,KAAK,GAAGH,eAAe;EACzB,CAAC,MAAM,IAAIG,KAAK,IAAI,IAAI,EAAE;IACxB;IACAA,KAAK,GAAG,CAAC;EACX;EACA,IAAI,CAACF,oBAAoB,CAACE,KAAK,EAAE,CAAC,EAAEH,eAAe,CAAC,EAAE;IACpD,IAAIN,OAAO,EAAE;MACX,MAAM,IAAIP,KAAK,CACb,+GACF,CAAC;IACH;IACA;IACA,OAAO,CAAC;EACV;EACA,OAAOgB,KAAK;AACd;AAEA,SAASF,oBAAoBA,CAC3BvD,KAAa,EACb0D,UAAkB,EAClBC,UAAkB,EACT;EACT,OAAOC,MAAM,CAACC,SAAS,CAAC7D,KAAK,CAAC,IAAIA,KAAK,IAAI0D,UAAU,IAAI1D,KAAK,IAAI2D,UAAU;AAC9E;AAEO,MAAMxD,WAAW,GAAAJ,OAAA,CAAAI,WAAA,gBAAG2D,cAAK,CAACC,UAAU,CACzC,SAAS5D,WAAWA,CAAC6D,KAAK,EAAEC,GAAG,EAAE;EAC/B,MAAMC,QAAQ,GAAGJ,cAAK,CAACK,MAAM,CAAoB,IAAI,CAAC;EACtDL,cAAK,CAACM,mBAAmB,CAACH,GAAG,EAAE,MAAMC,QAAQ,CAACG,OAAQ,EAAE,EAAE,CAAC;EAC3D,MAAMC,iBAAiB,GAAG,IAAAC,wBAAW,EAACP,KAAK,CAACQ,aAAa,CAAC;EAE1D,MAAMC,MAAM,GAAIR,GAAe,IAAK;IAClCC,QAAQ,CAACG,OAAO,GAAGJ,GAAG;IACtBD,KAAK,CAACU,cAAc,GAAGT,GAAG,CAAC;EAC7B,CAAC;EAED,MAAMU,OAAO,GAAGb,cAAK,CAACK,MAAM,CAAC,IAAIvC,qBAAQ,CAACgD,KAAK,CAAC,CAAC,CAAC,CAAC,CAACP,OAAO;EAC3D,MAAMQ,QAAQ,GAAGf,cAAK,CAACK,MAAM,CAAC,IAAIvC,qBAAQ,CAACgD,KAAK,CAAC,CAAC,CAAC,CAAC,CAACP,OAAO;EAC5D,MAAMS,YAAY,GAAGhB,cAAK,CAACK,MAAM,CAAC,IAAIvC,qBAAQ,CAACgD,KAAK,CAAC,CAAC,CAAC,CAAC,CAACP,OAAO;EAEhE,MAAM;IACJU,OAAO,GAAG,IAAAC,oBAAc,EAAC,CAAC;IAC1BC,YAAY,GAAG,IAAAC,mBAAa,EAAC,CAAC;IAC9BC,YAAY;IACZ,GAAGC;EACL,CAAC,GAAGpB,KAAK;;EAET;EACA;EACA,MAAM;IACJ;IACAqB,mBAAmB,GAAG,CAAC,GAAG,CAAC;IAC3BC,+BAA+B,GAAGjD,mBAAmB;IACrDkD,mBAAmB,GAAG,KAAK;IAC3BC,iBAAiB,GAAG,CAAC,GAAG;IACxBC,8BAA8B,GAAG,IAAI;IACrCC,cAAc,GAAG,EAAE;IACnBC,uBAAuB,GAAG,CAAC;IAC3B;IACAC,iBAAiB;IACjB;IACAC,QAAQ;IACRC,WAAW;IACXC,YAAY;IACZC;EACF,CAAC,GAAGZ,IAAI;EAER,IAAIL,OAAO,IAAIkB,+BAAyB,EAAE;IACxC,MAAMC,2BAA2B,GAC/BxD,0BAA0B,CAAC2C,mBAAmB,CAAC;IACjD,MAAMc,kCAAkC,GACtC/C,iCAAiC,CAC/BkC,+BAA+B,EAC/BY,2BAA2B,CAAC7E,MAAM,GAAG,CACvC,CAAC;IACH,MAAM+E,+BAA+B,GAAG5C,8BAA8B,CACpEmC,uBAAuB,EACvBO,2BAA2B,CAAC7E,MAAM,GAAG,CACvC,CAAC;;IAED;IACA;IACA,MAAMgF,6BAA6B,GAAGvD,qBAAQ,CAACwD,MAAM,CAAC;MACpDC,GAAG,EAAE,EACHX,iBAAiB,KAAKY,SAAS,IAC/BZ,iBAAiB,KAAK,MAAM,IAC5BA,iBAAiB,KAAK,gBAAgB,IACtCA,iBAAiB,KAAK,2BAA2B,CAClD;MACDa,OAAO,EAAE,KAAK;MACdxG,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,MAAMyG,cAAc,GAAGL,6BAA6B,GAChDtE,yBAAyB,GACzBJ,oBAAoB;IAExB,IAAI;MACF;MACA;MACA;MACAgF,MAAM;MACNnC,aAAa;MACboC,QAAQ;MACRC,aAAa;MACbC,uBAAuB;MACvBC,eAAe;MACfC,KAAK;MACL,GAAGhD;IACL,CAAC,GAAGoB,IAAI;IAER,IAAIuB,MAAM,KAAKH,SAAS,IAAIhC,aAAa,KAAKgC,SAAS,EAAE;MACvDvD,OAAO,CAACC,IAAI,CACV,+QACF,CAAC;MACDsB,aAAa,GAAGmC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,IACEE,aAAa,IACbvC,iBAAiB,KAAKkC,SAAS,IAC/BhC,aAAa,KAAKgC,SAAS,EAC3B;MACA,IAAIlC,iBAAiB,GAAGE,aAAa,EAAE;QACrC,MAAM,IAAI/B,KAAK,CACb,8DACF,CAAC;MACH;IACF;IAEA,MAAMwE,SAAS,GAAIhD,GAAe,IAAK;MACrC;MACA;MACA,IAAIA,GAAG,EAAEiD,UAAU,EAAEC,eAAe,EAAEH,KAAK,EAAE;QAC3C/C,GAAG,CAACiD,UAAU,CAACC,eAAe,CAACH,KAAK,GAAG;UACrC,GAAG/C,GAAG,CAACiD,UAAU,CAACC,eAAe,CAACH,KAAK;UACvCI,OAAO,EAAE;QACX,CAAC;QACD3C,MAAM,CAACR,GAAG,CAAC;MACb,CAAC,MAAM,IAAIA,GAAG,EAAEoD,WAAW,EAAEF,eAAe,EAAEH,KAAK,EAAE;QACnD/C,GAAG,CAACoD,WAAW,CAACF,eAAe,CAACH,KAAK,GAAG;UACtC,GAAG/C,GAAG,CAACoD,WAAW,CAACF,eAAe,CAACH,KAAK;UACxCI,OAAO,EAAE;QACX,CAAC;QACD3C,MAAM,CAACR,GAAG,CAAC;MACb;IACF,CAAC;IAED,MAAMqD,MAAM,GACVrC,YAAY,KACXE,YAAY,KAAKqB,SAAS,GAAGrB,YAAY,GAAGX,aAAa,KAAK,CAAC,CAAC;IAEnE,oBACEpE,MAAA,CAAAH,OAAA,CAAAsH,aAAA,CAAC9G,cAAA,CAAAR,OAAa;MAACqH,MAAM,EAAEA;IAAO,gBAC5BlH,MAAA,CAAAH,OAAA,CAAAsH,aAAA,CAACb,cAAc,EAAA1F,QAAA,KACTgD,KAAK;MACT;AACZ;AACA;AACA;AACA;MACY6B,QAAQ,EAAEA,QAAoC;MAC9CC,WAAW,EAAEA,WAA0C;MACvDC,YAAY,EAAEA,YAA4C;MAC1DC,eAAe,EAAEA,eAAkD;MACnEe,eAAe,EACZA,eAAe,KACf,MAAM;QACL;MAAA,CACD;MAEH;MACA;MACA;MACA;MACA;MAAA;MACAC,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEQ,MAAM,EAAEhB;MAAU,CAAC,CAAE;MACtChC,aAAa,EAAEA,aAAc;MAC7Ba,mBAAmB,EAAEa,2BAA4B;MACjDuB,0BAA0B,EAAEtB,kCAAmC;MAC/DT,cAAc,EAAEA,cAAe;MAC/BH,mBAAmB,EAAEA,mBAAoB;MACzCC,iBAAiB,EAAEA,iBAAkB;MACrCC,8BAA8B,EAAEA,8BAA+B;MAC/DiC,kBAAkB,EAAEtB,+BAAgC;MACpDU,uBAAuB,EAAE;QACvBa,KAAK,EAAEb,uBAAuB,EAAEa,KAAK,IAAI,CAAC,CAAC;QAC3CC,GAAG,EAAEd,uBAAuB,EAAEc,GAAG,IAAI,CAAC,CAAC;QACvCC,GAAG,EAAEf,uBAAuB,EAAEe,GAAG,IAAI,CAAC,CAAC;QACvCC,MAAM,EAAEhB,uBAAuB,EAAEgB,MAAM,IAAI,CAAC;MAC9C;MACA;MACA;MAAA;MACA7D,GAAG,EAAEgD,SAAU;MACfc,oBAAoB,EAClB,CAAClB,aAAa,GACVL,SAAS,GACT5E,qBAAQ,CAACoG,KAAK,CACZ,CACE;QACEC,WAAW,EAAE;UACXpD,QAAQ;UACRF,OAAO;UACPG;QACF;MACF,CAAC,CACF,EACD;QAAEoD,eAAe,EAAE;MAAK,CAC1B;IACL,IACA,CAACrB,aAAa;IAAK;IAClBD,QAAQ,gBAERxG,MAAA,CAAAH,OAAA,CAAAsH,aAAA,CAAC/G,0BAAA,CAAAP,OAAyB,CAACkI,QAAQ;MACjCnI,KAAK,EAAE;QACL6E,QAAQ;QACRF,OAAO;QACPG;MACF;IAAE,GACD8B,QACiC,CAExB,CACH,CAAC;EAEpB,CAAC,MAAM;IACL;IACA,IAAI;MACFD,MAAM;MACNnC,aAAa;MACbwC,KAAK;MACL;MACAtC,cAAc;MACd,GAAGV;IACL,CAAC,GAAGoB,IAAI;IAER,IAAIuB,MAAM,KAAKH,SAAS,IAAIhC,aAAa,KAAKgC,SAAS,EAAE;MACvDhC,aAAa,GAAGmC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC;IACA,oBACEvG,MAAA,CAAAH,OAAA,CAAAsH,aAAA,CAAChH,YAAA,CAAAqB,QAAQ,CAACwG,IAAI,EAAApH,QAAA;MACZgG,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEI,OAAO,EAAE5C,aAAa,KAAK,CAAC,GAAG,MAAM,GAAG;MAAO,CAAC,CAAE;MACnEP,GAAG,EAAEQ;IAAO,GACRT,KAAK,CACV,CAAC;EAEN;AACF,CACF,CAAC;;AAED;AACA;AACO,MAAM9D,aAAa,GAAAH,OAAA,CAAAG,aAAA,gBAAG4D,cAAK,CAACuE,aAAa,CAAClI,WAAW,CAAC;AAE7D,MAAMmI,MAAM,gBAAGxE,cAAK,CAACC,UAAU,CAAoB,CAACC,KAAK,EAAEC,GAAG,KAAK;EACjE,MAAMsE,aAAa,GAAGzE,cAAK,CAAC0E,UAAU,CAACtI,aAAa,CAAC,IAAIC,WAAW;EAEpE,oBAAOC,MAAA,CAAAH,OAAA,CAAAsH,aAAA,CAACgB,aAAa,EAAAvH,QAAA,KAAKgD,KAAK;IAAEC,GAAG,EAAEA;EAAI,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEFqE,MAAM,CAACG,WAAW,GAAG,QAAQ;AAAC,IAAAC,QAAA,GAAA3I,OAAA,CAAAE,OAAA,GAEfqI,MAAM","ignoreList":[]}
|
|
@@ -143,8 +143,15 @@ export const InnerScreen = /*#__PURE__*/React.forwardRef(function InnerScreen(pr
|
|
|
143
143
|
const resolvedSheetAllowedDetents = resolveSheetAllowedDetents(sheetAllowedDetents);
|
|
144
144
|
const resolvedSheetLargestUndimmedDetent = resolveSheetLargestUndimmedDetent(sheetLargestUndimmedDetentIndex, resolvedSheetAllowedDetents.length - 1);
|
|
145
145
|
const resolvedSheetInitialDetentIndex = resolveSheetInitialDetentIndex(sheetInitialDetentIndex, resolvedSheetAllowedDetents.length - 1);
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
|
|
147
|
+
// Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens (there is a need for different
|
|
148
|
+
// shadow nodes).
|
|
149
|
+
const shouldUseModalScreenComponent = Platform.select({
|
|
150
|
+
ios: !(stackPresentation === undefined || stackPresentation === 'push' || stackPresentation === 'containedModal' || stackPresentation === 'containedTransparentModal'),
|
|
151
|
+
android: false,
|
|
152
|
+
default: false
|
|
153
|
+
});
|
|
154
|
+
const AnimatedScreen = shouldUseModalScreenComponent ? AnimatedNativeModalScreen : AnimatedNativeScreen;
|
|
148
155
|
let {
|
|
149
156
|
// Filter out active prop in this case because it is unused and
|
|
150
157
|
// can cause problems depending on react-native version:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","React","Animated","Platform","TransitionProgressContext","DelayedFreeze","freezeEnabled","isNativePlatformSupported","screensEnabled","ScreenNativeComponent","ModalScreenNativeComponent","usePrevious","AnimatedNativeScreen","createAnimatedComponent","AnimatedNativeModalScreen","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","assertDetentsArrayIsSorted","array","i","Error","resolveSheetAllowedDetents","allowedDetentsCompat","Array","isArray","OS","__DEV__","console","warn","slice","resolveSheetLargestUndimmedDetent","lud","lastDetentIndex","isIndexInClosedRange","resolveSheetInitialDetentIndex","index","value","lowerBound","upperBound","Number","isInteger","InnerScreen","forwardRef","props","ref","innerRef","useRef","useImperativeHandle","current","prevActivityState","activityState","setRef","onComponentRef","closing","Value","progress","goingForward","enabled","freezeOnBlur","shouldFreeze","rest","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","sheetElevation","sheetInitialDetentIndex","stackPresentation","onAppear","onDisappear","onWillAppear","onWillDisappear","resolvedSheetAllowedDetents","resolvedSheetLargestUndimmedDetent","resolvedSheetInitialDetentIndex","
|
|
1
|
+
{"version":3,"names":["_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","React","Animated","Platform","TransitionProgressContext","DelayedFreeze","freezeEnabled","isNativePlatformSupported","screensEnabled","ScreenNativeComponent","ModalScreenNativeComponent","usePrevious","AnimatedNativeScreen","createAnimatedComponent","AnimatedNativeModalScreen","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","assertDetentsArrayIsSorted","array","i","Error","resolveSheetAllowedDetents","allowedDetentsCompat","Array","isArray","OS","__DEV__","console","warn","slice","resolveSheetLargestUndimmedDetent","lud","lastDetentIndex","isIndexInClosedRange","resolveSheetInitialDetentIndex","index","value","lowerBound","upperBound","Number","isInteger","InnerScreen","forwardRef","props","ref","innerRef","useRef","useImperativeHandle","current","prevActivityState","activityState","setRef","onComponentRef","closing","Value","progress","goingForward","enabled","freezeOnBlur","shouldFreeze","rest","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","sheetElevation","sheetInitialDetentIndex","stackPresentation","onAppear","onDisappear","onWillAppear","onWillDisappear","resolvedSheetAllowedDetents","resolvedSheetLargestUndimmedDetent","resolvedSheetInitialDetentIndex","shouldUseModalScreenComponent","select","ios","undefined","android","default","AnimatedScreen","active","children","isNativeStack","gestureResponseDistance","onGestureCancel","style","handleRef","viewConfig","validAttributes","display","_viewConfig","freeze","createElement","zIndex","sheetLargestUndimmedDetent","sheetInitialDetent","start","end","top","bottom","onTransitionProgress","event","nativeEvent","useNativeDriver","Provider","View","ScreenContext","createContext","Screen","ScreenWrapper","useContext","displayName"],"sourceRoot":"../../../src","sources":["components/Screen.tsx"],"mappings":"AAAA,YAAY;;AAAC,SAAAA,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,CAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAL,CAAA,CAAAK,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAL,CAAA,KAAAJ,QAAA,CAAAY,KAAA,OAAAN,SAAA;AAEb,OAAOO,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAQC,QAAQ,QAAQ,cAAc;AAEvD,OAAOC,yBAAyB,MAAM,8BAA8B;AACpE,OAAOC,aAAa,MAAM,yBAAyB;AAGnD,SACEC,aAAa,EACbC,yBAAyB,EACzBC,cAAc,QACT,SAAS;;AAEhB;AACA,OAAOC,qBAAqB,MAErB,iCAAiC;AACxC,OAAOC,0BAA0B,MAE1B,sCAAsC;AAC7C,SAASC,WAAW,QAAQ,uBAAuB;AAGnD,MAAMC,oBAAoB,GAAGV,QAAQ,CAACW,uBAAuB,CAC3DJ,qBACF,CAAC;AACD,MAAMK,yBAAyB,GAAGZ,QAAQ,CAACW,uBAAuB,CAChEH,0BACF,CAAC;;AAED;AACA;;AAkBA;AACA,MAAMK,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,MAAMC,kBAAkB,GAAG,CAAC,GAAG,CAAC;AAChC,MAAMC,mBAAmB,GAAG,CAAC,GAAG,CAAC;AACjC,MAAMC,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAEnC,MAAMC,mBAAmB,GAAG,CAAC,CAAC;AAC9B;;AAEA,SAASC,0BAA0BA,CAACC,KAAe,EAAE;EACnD,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAAC1B,MAAM,EAAE2B,CAAC,EAAE,EAAE;IACrC,IAAID,KAAK,CAACC,CAAC,GAAG,CAAC,CAAC,GAAGD,KAAK,CAACC,CAAC,CAAC,EAAE;MAC3B,MAAM,IAAIC,KAAK,CACb,gEACF,CAAC;IACH;EACF;AACF;;AAEA;AACA;AACA,SAASC,0BAA0BA,CACjCC,oBAAwD,EAC9C;EACV,IAAIC,KAAK,CAACC,OAAO,CAACF,oBAAoB,CAAC,EAAE;IACvC,IAAItB,QAAQ,CAACyB,EAAE,KAAK,SAAS,IAAIH,oBAAoB,CAAC9B,MAAM,GAAG,CAAC,EAAE;MAChE,IAAIkC,OAAO,EAAE;QACXC,OAAO,CAACC,IAAI,CACV,iGACF,CAAC;MACH;MACAN,oBAAoB,GAAGA,oBAAoB,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD;IACA,IAAIH,OAAO,EAAE;MACXT,0BAA0B,CAACK,oBAAoB,CAAC;IAClD;IACA,OAAOA,oBAAoB;EAC7B,CAAC,MAAM,IAAIA,oBAAoB,KAAK,eAAe,EAAE;IACnD,OAAOV,qBAAqB;EAC9B,CAAC,MAAM,IAAIU,oBAAoB,KAAK,OAAO,EAAE;IAC3C,OAAOT,kBAAkB;EAC3B,CAAC,MAAM,IAAIS,oBAAoB,KAAK,QAAQ,EAAE;IAC5C,OAAOR,mBAAmB;EAC5B,CAAC,MAAM,IAAIQ,oBAAoB,KAAK,KAAK,EAAE;IACzC,OAAOP,gBAAgB;EACzB,CAAC,MAAM;IACL;IACA,OAAOF,kBAAkB;EAC3B;AACF;AAEA,SAASiB,iCAAiCA,CACxCC,GAAmD,EACnDC,eAAuB,EACf;EACR,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI,CAACE,oBAAoB,CAACF,GAAG,EAAEf,mBAAmB,EAAEgB,eAAe,CAAC,EAAE;MACpE,IAAIN,OAAO,EAAE;QACX,MAAM,IAAIN,KAAK,CACb,uHACF,CAAC;MACH;MACA;MACA,OAAOJ,mBAAmB;IAC5B;IACA,OAAOe,GAAG;EACZ,CAAC,MAAM,IAAIA,GAAG,KAAK,MAAM,EAAE;IACzB,OAAOC,eAAe;EACxB,CAAC,MAAM,IAAID,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,KAAK,EAAE;IAC1C,OAAOf,mBAAmB;EAC5B,CAAC,MAAM,IAAIe,GAAG,KAAK,OAAO,EAAE;IAC1B,OAAO,CAAC;EACV,CAAC,MAAM,IAAIA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAO,CAAC;EACV,CAAC,MAAM;IACL;IACA,OAAOf,mBAAmB;EAC5B;AACF;AAEA,SAASkB,8BAA8BA,CACrCC,KAA6C,EAC7CH,eAAuB,EACf;EACR,IAAIG,KAAK,KAAK,MAAM,EAAE;IACpBA,KAAK,GAAGH,eAAe;EACzB,CAAC,MAAM,IAAIG,KAAK,IAAI,IAAI,EAAE;IACxB;IACAA,KAAK,GAAG,CAAC;EACX;EACA,IAAI,CAACF,oBAAoB,CAACE,KAAK,EAAE,CAAC,EAAEH,eAAe,CAAC,EAAE;IACpD,IAAIN,OAAO,EAAE;MACX,MAAM,IAAIN,KAAK,CACb,+GACF,CAAC;IACH;IACA;IACA,OAAO,CAAC;EACV;EACA,OAAOe,KAAK;AACd;AAEA,SAASF,oBAAoBA,CAC3BG,KAAa,EACbC,UAAkB,EAClBC,UAAkB,EACT;EACT,OAAOC,MAAM,CAACC,SAAS,CAACJ,KAAK,CAAC,IAAIA,KAAK,IAAIC,UAAU,IAAID,KAAK,IAAIE,UAAU;AAC9E;AAEA,OAAO,MAAMG,WAAW,gBAAG3C,KAAK,CAAC4C,UAAU,CACzC,SAASD,WAAWA,CAACE,KAAK,EAAEC,GAAG,EAAE;EAC/B,MAAMC,QAAQ,GAAG/C,KAAK,CAACgD,MAAM,CAAoB,IAAI,CAAC;EACtDhD,KAAK,CAACiD,mBAAmB,CAACH,GAAG,EAAE,MAAMC,QAAQ,CAACG,OAAQ,EAAE,EAAE,CAAC;EAC3D,MAAMC,iBAAiB,GAAGzC,WAAW,CAACmC,KAAK,CAACO,aAAa,CAAC;EAE1D,MAAMC,MAAM,GAAIP,GAAe,IAAK;IAClCC,QAAQ,CAACG,OAAO,GAAGJ,GAAG;IACtBD,KAAK,CAACS,cAAc,GAAGR,GAAG,CAAC;EAC7B,CAAC;EAED,MAAMS,OAAO,GAAGvD,KAAK,CAACgD,MAAM,CAAC,IAAI/C,QAAQ,CAACuD,KAAK,CAAC,CAAC,CAAC,CAAC,CAACN,OAAO;EAC3D,MAAMO,QAAQ,GAAGzD,KAAK,CAACgD,MAAM,CAAC,IAAI/C,QAAQ,CAACuD,KAAK,CAAC,CAAC,CAAC,CAAC,CAACN,OAAO;EAC5D,MAAMQ,YAAY,GAAG1D,KAAK,CAACgD,MAAM,CAAC,IAAI/C,QAAQ,CAACuD,KAAK,CAAC,CAAC,CAAC,CAAC,CAACN,OAAO;EAEhE,MAAM;IACJS,OAAO,GAAGpD,cAAc,CAAC,CAAC;IAC1BqD,YAAY,GAAGvD,aAAa,CAAC,CAAC;IAC9BwD,YAAY;IACZ,GAAGC;EACL,CAAC,GAAGjB,KAAK;;EAET;EACA;EACA,MAAM;IACJ;IACAkB,mBAAmB,GAAG,CAAC,GAAG,CAAC;IAC3BC,+BAA+B,GAAG9C,mBAAmB;IACrD+C,mBAAmB,GAAG,KAAK;IAC3BC,iBAAiB,GAAG,CAAC,GAAG;IACxBC,8BAA8B,GAAG,IAAI;IACrCC,cAAc,GAAG,EAAE;IACnBC,uBAAuB,GAAG,CAAC;IAC3B;IACAC,iBAAiB;IACjB;IACAC,QAAQ;IACRC,WAAW;IACXC,YAAY;IACZC;EACF,CAAC,GAAGZ,IAAI;EAER,IAAIH,OAAO,IAAIrD,yBAAyB,EAAE;IACxC,MAAMqE,2BAA2B,GAC/BpD,0BAA0B,CAACwC,mBAAmB,CAAC;IACjD,MAAMa,kCAAkC,GACtC5C,iCAAiC,CAC/BgC,+BAA+B,EAC/BW,2BAA2B,CAACjF,MAAM,GAAG,CACvC,CAAC;IACH,MAAMmF,+BAA+B,GAAGzC,8BAA8B,CACpEiC,uBAAuB,EACvBM,2BAA2B,CAACjF,MAAM,GAAG,CACvC,CAAC;;IAED;IACA;IACA,MAAMoF,6BAA6B,GAAG5E,QAAQ,CAAC6E,MAAM,CAAC;MACpDC,GAAG,EAAE,EACHV,iBAAiB,KAAKW,SAAS,IAC/BX,iBAAiB,KAAK,MAAM,IAC5BA,iBAAiB,KAAK,gBAAgB,IACtCA,iBAAiB,KAAK,2BAA2B,CAClD;MACDY,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,MAAMC,cAAc,GAAGN,6BAA6B,GAChDjE,yBAAyB,GACzBF,oBAAoB;IAExB,IAAI;MACF;MACA;MACA;MACA0E,MAAM;MACNjC,aAAa;MACbkC,QAAQ;MACRC,aAAa;MACbC,uBAAuB;MACvBC,eAAe;MACfC,KAAK;MACL,GAAG7C;IACL,CAAC,GAAGiB,IAAI;IAER,IAAIuB,MAAM,KAAKJ,SAAS,IAAI7B,aAAa,KAAK6B,SAAS,EAAE;MACvDpD,OAAO,CAACC,IAAI,CACV,+QACF,CAAC;MACDsB,aAAa,GAAGiC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,IACEE,aAAa,IACbpC,iBAAiB,KAAK8B,SAAS,IAC/B7B,aAAa,KAAK6B,SAAS,EAC3B;MACA,IAAI9B,iBAAiB,GAAGC,aAAa,EAAE;QACrC,MAAM,IAAI9B,KAAK,CACb,8DACF,CAAC;MACH;IACF;IAEA,MAAMqE,SAAS,GAAI7C,GAAe,IAAK;MACrC;MACA;MACA,IAAIA,GAAG,EAAE8C,UAAU,EAAEC,eAAe,EAAEH,KAAK,EAAE;QAC3C5C,GAAG,CAAC8C,UAAU,CAACC,eAAe,CAACH,KAAK,GAAG;UACrC,GAAG5C,GAAG,CAAC8C,UAAU,CAACC,eAAe,CAACH,KAAK;UACvCI,OAAO,EAAE;QACX,CAAC;QACDzC,MAAM,CAACP,GAAG,CAAC;MACb,CAAC,MAAM,IAAIA,GAAG,EAAEiD,WAAW,EAAEF,eAAe,EAAEH,KAAK,EAAE;QACnD5C,GAAG,CAACiD,WAAW,CAACF,eAAe,CAACH,KAAK,GAAG;UACtC,GAAG5C,GAAG,CAACiD,WAAW,CAACF,eAAe,CAACH,KAAK;UACxCI,OAAO,EAAE;QACX,CAAC;QACDzC,MAAM,CAACP,GAAG,CAAC;MACb;IACF,CAAC;IAED,MAAMkD,MAAM,GACVpC,YAAY,KACXC,YAAY,KAAKoB,SAAS,GAAGpB,YAAY,GAAGT,aAAa,KAAK,CAAC,CAAC;IAEnE,oBACEpD,KAAA,CAAAiG,aAAA,CAAC7F,aAAa;MAAC4F,MAAM,EAAEA;IAAO,gBAC5BhG,KAAA,CAAAiG,aAAA,CAACb,cAAc,EAAAjG,QAAA,KACT0D,KAAK;MACT;AACZ;AACA;AACA;AACA;MACY0B,QAAQ,EAAEA,QAAoC;MAC9CC,WAAW,EAAEA,WAA0C;MACvDC,YAAY,EAAEA,YAA4C;MAC1DC,eAAe,EAAEA,eAAkD;MACnEe,eAAe,EACZA,eAAe,KACf,MAAM;QACL;MAAA,CACD;MAEH;MACA;MACA;MACA;MACA;MAAA;MACAC,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEQ,MAAM,EAAEjB;MAAU,CAAC,CAAE;MACtC7B,aAAa,EAAEA,aAAc;MAC7BW,mBAAmB,EAAEY,2BAA4B;MACjDwB,0BAA0B,EAAEvB,kCAAmC;MAC/DR,cAAc,EAAEA,cAAe;MAC/BH,mBAAmB,EAAEA,mBAAoB;MACzCC,iBAAiB,EAAEA,iBAAkB;MACrCC,8BAA8B,EAAEA,8BAA+B;MAC/DiC,kBAAkB,EAAEvB,+BAAgC;MACpDW,uBAAuB,EAAE;QACvBa,KAAK,EAAEb,uBAAuB,EAAEa,KAAK,IAAI,CAAC,CAAC;QAC3CC,GAAG,EAAEd,uBAAuB,EAAEc,GAAG,IAAI,CAAC,CAAC;QACvCC,GAAG,EAAEf,uBAAuB,EAAEe,GAAG,IAAI,CAAC,CAAC;QACvCC,MAAM,EAAEhB,uBAAuB,EAAEgB,MAAM,IAAI,CAAC;MAC9C;MACA;MACA;MAAA;MACA1D,GAAG,EAAE6C,SAAU;MACfc,oBAAoB,EAClB,CAAClB,aAAa,GACVN,SAAS,GACThF,QAAQ,CAACyG,KAAK,CACZ,CACE;QACEC,WAAW,EAAE;UACXlD,QAAQ;UACRF,OAAO;UACPG;QACF;MACF,CAAC,CACF,EACD;QAAEkD,eAAe,EAAE;MAAK,CAC1B;IACL,IACA,CAACrB,aAAa;IAAK;IAClBD,QAAQ,gBAERtF,KAAA,CAAAiG,aAAA,CAAC9F,yBAAyB,CAAC0G,QAAQ;MACjCvE,KAAK,EAAE;QACLmB,QAAQ;QACRF,OAAO;QACPG;MACF;IAAE,GACD4B,QACiC,CAExB,CACH,CAAC;EAEpB,CAAC,MAAM;IACL;IACA,IAAI;MACFD,MAAM;MACNjC,aAAa;MACbsC,KAAK;MACL;MACApC,cAAc;MACd,GAAGT;IACL,CAAC,GAAGiB,IAAI;IAER,IAAIuB,MAAM,KAAKJ,SAAS,IAAI7B,aAAa,KAAK6B,SAAS,EAAE;MACvD7B,aAAa,GAAGiC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC;IACA,oBACErF,KAAA,CAAAiG,aAAA,CAAChG,QAAQ,CAAC6G,IAAI,EAAA3H,QAAA;MACZuG,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEI,OAAO,EAAE1C,aAAa,KAAK,CAAC,GAAG,MAAM,GAAG;MAAO,CAAC,CAAE;MACnEN,GAAG,EAAEO;IAAO,GACRR,KAAK,CACV,CAAC;EAEN;AACF,CACF,CAAC;;AAED;AACA;AACA,OAAO,MAAMkE,aAAa,gBAAG/G,KAAK,CAACgH,aAAa,CAACrE,WAAW,CAAC;AAE7D,MAAMsE,MAAM,gBAAGjH,KAAK,CAAC4C,UAAU,CAAoB,CAACC,KAAK,EAAEC,GAAG,KAAK;EACjE,MAAMoE,aAAa,GAAGlH,KAAK,CAACmH,UAAU,CAACJ,aAAa,CAAC,IAAIpE,WAAW;EAEpE,oBAAO3C,KAAA,CAAAiG,aAAA,CAACiB,aAAa,EAAA/H,QAAA,KAAK0D,KAAK;IAAEC,GAAG,EAAEA;EAAI,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEFmE,MAAM,CAACG,WAAW,GAAG,QAAQ;AAE7B,eAAeH,MAAM","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/components/Screen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,IAAI,EAAY,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA0JvC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/components/Screen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,IAAI,EAAY,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA0JvC,eAAO,MAAM,WAAW,uFA+NvB,CAAC;AAIF,eAAO,MAAM,aAAa,sGAAmC,CAAC;AAE9D,QAAA,MAAM,MAAM,uFAIV,CAAC;AAIH,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screens",
|
|
3
|
-
"version": "4.10.0
|
|
3
|
+
"version": "4.10.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 ../)",
|
|
@@ -213,15 +213,23 @@ export const InnerScreen = React.forwardRef<View, ScreenProps>(
|
|
|
213
213
|
sheetInitialDetentIndex,
|
|
214
214
|
resolvedSheetAllowedDetents.length - 1,
|
|
215
215
|
);
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
216
|
+
|
|
217
|
+
// Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens (there is a need for different
|
|
218
|
+
// shadow nodes).
|
|
219
|
+
const shouldUseModalScreenComponent = Platform.select({
|
|
220
|
+
ios: !(
|
|
221
|
+
stackPresentation === undefined ||
|
|
222
|
+
stackPresentation === 'push' ||
|
|
223
|
+
stackPresentation === 'containedModal' ||
|
|
224
|
+
stackPresentation === 'containedTransparentModal'
|
|
225
|
+
),
|
|
226
|
+
android: false,
|
|
227
|
+
default: false,
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
const AnimatedScreen = shouldUseModalScreenComponent
|
|
231
|
+
? AnimatedNativeModalScreen
|
|
232
|
+
: AnimatedNativeScreen;
|
|
225
233
|
|
|
226
234
|
let {
|
|
227
235
|
// Filter out active prop in this case because it is unused and
|