react-native-screens 4.10.0-beta.1 → 4.10.0-beta.3
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/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +3 -8
- package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +111 -15
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +11 -2
- package/android/src/main/java/com/swmansion/rnscreens/ScreenContainer.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +174 -199
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +31 -285
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +89 -54
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +3 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +1 -1
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetDelegate.kt +257 -3
- package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +7 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/FragmentTransactionKt.kt +103 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/InsetsKt.kt +31 -0
- package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +1 -0
- package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +14 -5
- package/ios/RNSFullWindowOverlay.mm +6 -6
- package/lib/commonjs/components/Screen.js +5 -3
- package/lib/commonjs/components/Screen.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +3 -5
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/components/Screen.js +5 -3
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js +3 -5
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/typescript/components/Screen.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Screen.tsx +7 -5
- package/src/native-stack/views/NativeStackView.tsx +11 -12
- package/android/src/main/java/com/swmansion/rnscreens/NativeDismissalObserver.kt +0 -12
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
package com.swmansion.rnscreens.bottomsheet
|
|
2
2
|
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.os.Build
|
|
3
5
|
import android.view.View
|
|
6
|
+
import android.view.WindowManager
|
|
7
|
+
import android.view.inputmethod.InputMethodManager
|
|
4
8
|
import androidx.core.graphics.Insets
|
|
5
9
|
import androidx.core.view.OnApplyWindowInsetsListener
|
|
6
10
|
import androidx.core.view.WindowInsetsCompat
|
|
@@ -23,6 +27,20 @@ class SheetDelegate(
|
|
|
23
27
|
private var isKeyboardVisible: Boolean = false
|
|
24
28
|
private var keyboardState: KeyboardState = KeyboardNotVisible
|
|
25
29
|
|
|
30
|
+
var lastStableDetentIndex: Int = screen.sheetInitialDetentIndex
|
|
31
|
+
private set
|
|
32
|
+
|
|
33
|
+
@BottomSheetBehavior.State
|
|
34
|
+
var lastStableState: Int =
|
|
35
|
+
SheetUtils.sheetStateFromDetentIndex(
|
|
36
|
+
screen.sheetInitialDetentIndex,
|
|
37
|
+
screen.sheetDetents.count(),
|
|
38
|
+
)
|
|
39
|
+
private set
|
|
40
|
+
|
|
41
|
+
private val sheetStateObserver = SheetStateObserver()
|
|
42
|
+
private val keyboardHandlerCallback = KeyboardHandler()
|
|
43
|
+
|
|
26
44
|
private val sheetBehavior: BottomSheetBehavior<Screen>?
|
|
27
45
|
get() = screen.sheetBehavior
|
|
28
46
|
|
|
@@ -36,6 +54,9 @@ class SheetDelegate(
|
|
|
36
54
|
init {
|
|
37
55
|
assert(screen.fragment is ScreenStackFragment) { "[RNScreens] Sheets are supported only in native stack" }
|
|
38
56
|
screen.fragment!!.lifecycle.addObserver(this)
|
|
57
|
+
|
|
58
|
+
checkNotNull(sheetBehavior) { "[RNScreens] Sheet delegate accepts screen with initialized sheet behaviour only." }
|
|
59
|
+
.addBottomSheetCallback(sheetStateObserver)
|
|
39
60
|
}
|
|
40
61
|
|
|
41
62
|
// LifecycleEventObserver
|
|
@@ -63,6 +84,163 @@ class SheetDelegate(
|
|
|
63
84
|
InsetsObserverProxy.removeOnApplyWindowInsetsListener(this)
|
|
64
85
|
}
|
|
65
86
|
|
|
87
|
+
private fun onSheetStateChanged(newState: Int) {
|
|
88
|
+
val isStable = SheetUtils.isStateStable(newState)
|
|
89
|
+
|
|
90
|
+
if (isStable) {
|
|
91
|
+
lastStableState = newState
|
|
92
|
+
lastStableDetentIndex =
|
|
93
|
+
SheetUtils.detentIndexFromSheetState(
|
|
94
|
+
newState,
|
|
95
|
+
screen.sheetDetents.count(),
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
screen.onSheetDetentChanged(lastStableDetentIndex, isStable)
|
|
100
|
+
|
|
101
|
+
if (shouldDismissSheetInState(newState)) {
|
|
102
|
+
stackFragment.dismissSelf()
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
internal fun configureBottomSheetBehaviour(
|
|
107
|
+
behavior: BottomSheetBehavior<Screen>,
|
|
108
|
+
keyboardState: KeyboardState = KeyboardNotVisible,
|
|
109
|
+
selectedDetentIndex: Int = lastStableDetentIndex,
|
|
110
|
+
): BottomSheetBehavior<Screen> {
|
|
111
|
+
val containerHeight = tryResolveContainerHeight()
|
|
112
|
+
check(containerHeight != null) {
|
|
113
|
+
"[RNScreens] Failed to find window height during bottom sheet behaviour configuration"
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
behavior.apply {
|
|
117
|
+
isHideable = true
|
|
118
|
+
isDraggable = true
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// There is a guard internally that does not allow the callback to be duplicated.
|
|
122
|
+
behavior.addBottomSheetCallback(sheetStateObserver)
|
|
123
|
+
|
|
124
|
+
screen.footer?.registerWithSheetBehavior(behavior)
|
|
125
|
+
|
|
126
|
+
return when (keyboardState) {
|
|
127
|
+
is KeyboardNotVisible -> {
|
|
128
|
+
when (screen.sheetDetents.count()) {
|
|
129
|
+
1 ->
|
|
130
|
+
behavior.apply {
|
|
131
|
+
val height =
|
|
132
|
+
if (screen.isSheetFitToContents()) {
|
|
133
|
+
screen.contentWrapper
|
|
134
|
+
.get()
|
|
135
|
+
?.height
|
|
136
|
+
.takeIf { screen.contentWrapper.get()?.isLaidOut == true }
|
|
137
|
+
} else {
|
|
138
|
+
(screen.sheetDetents.first() * containerHeight).toInt()
|
|
139
|
+
}
|
|
140
|
+
useSingleDetent(height = height)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
2 ->
|
|
144
|
+
behavior.useTwoDetents(
|
|
145
|
+
state =
|
|
146
|
+
SheetUtils.sheetStateFromDetentIndex(
|
|
147
|
+
selectedDetentIndex,
|
|
148
|
+
screen.sheetDetents.count(),
|
|
149
|
+
),
|
|
150
|
+
firstHeight = (screen.sheetDetents[0] * containerHeight).toInt(),
|
|
151
|
+
secondHeight = (screen.sheetDetents[1] * containerHeight).toInt(),
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
3 ->
|
|
155
|
+
behavior.useThreeDetents(
|
|
156
|
+
state =
|
|
157
|
+
SheetUtils.sheetStateFromDetentIndex(
|
|
158
|
+
selectedDetentIndex,
|
|
159
|
+
screen.sheetDetents.count(),
|
|
160
|
+
),
|
|
161
|
+
firstHeight = (screen.sheetDetents[0] * containerHeight).toInt(),
|
|
162
|
+
halfExpandedRatio = (screen.sheetDetents[1] / screen.sheetDetents[2]).toFloat(),
|
|
163
|
+
expandedOffsetFromTop = ((1 - screen.sheetDetents[2]) * containerHeight).toInt(),
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
else -> throw IllegalStateException(
|
|
167
|
+
"[RNScreens] Invalid detent count ${screen.sheetDetents.count()}. Expected at most 3.",
|
|
168
|
+
)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
is KeyboardVisible -> {
|
|
173
|
+
val newMaxHeight =
|
|
174
|
+
if (behavior.maxHeight - keyboardState.height > 1) {
|
|
175
|
+
behavior.maxHeight - keyboardState.height
|
|
176
|
+
} else {
|
|
177
|
+
behavior.maxHeight
|
|
178
|
+
}
|
|
179
|
+
when (screen.sheetDetents.count()) {
|
|
180
|
+
1 ->
|
|
181
|
+
behavior.apply {
|
|
182
|
+
useSingleDetent(height = newMaxHeight)
|
|
183
|
+
addBottomSheetCallback(keyboardHandlerCallback)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
2 ->
|
|
187
|
+
behavior.apply {
|
|
188
|
+
useTwoDetents(
|
|
189
|
+
state = BottomSheetBehavior.STATE_EXPANDED,
|
|
190
|
+
secondHeight = newMaxHeight,
|
|
191
|
+
)
|
|
192
|
+
addBottomSheetCallback(keyboardHandlerCallback)
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
3 ->
|
|
196
|
+
behavior.apply {
|
|
197
|
+
useThreeDetents(
|
|
198
|
+
state = BottomSheetBehavior.STATE_EXPANDED,
|
|
199
|
+
)
|
|
200
|
+
maxHeight = newMaxHeight
|
|
201
|
+
addBottomSheetCallback(keyboardHandlerCallback)
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
else -> throw IllegalStateException(
|
|
205
|
+
"[RNScreens] Invalid detent count ${screen.sheetDetents.count()}. Expected at most 3.",
|
|
206
|
+
)
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
is KeyboardDidHide -> {
|
|
211
|
+
// Here we assume that the keyboard was either closed explicitly by user,
|
|
212
|
+
// or the user dragged the sheet down. In any case the state should
|
|
213
|
+
// stay unchanged.
|
|
214
|
+
|
|
215
|
+
behavior.removeBottomSheetCallback(keyboardHandlerCallback)
|
|
216
|
+
when (screen.sheetDetents.count()) {
|
|
217
|
+
1 ->
|
|
218
|
+
behavior.useSingleDetent(
|
|
219
|
+
height = (screen.sheetDetents.first() * containerHeight).toInt(),
|
|
220
|
+
forceExpandedState = false,
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
2 ->
|
|
224
|
+
behavior.useTwoDetents(
|
|
225
|
+
firstHeight = (screen.sheetDetents[0] * containerHeight).toInt(),
|
|
226
|
+
secondHeight = (screen.sheetDetents[1] * containerHeight).toInt(),
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
3 ->
|
|
230
|
+
behavior.useThreeDetents(
|
|
231
|
+
firstHeight = (screen.sheetDetents[0] * containerHeight).toInt(),
|
|
232
|
+
halfExpandedRatio = (screen.sheetDetents[1] / screen.sheetDetents[2]).toFloat(),
|
|
233
|
+
expandedOffsetFromTop = ((1 - screen.sheetDetents[2]) * containerHeight).toInt(),
|
|
234
|
+
)
|
|
235
|
+
|
|
236
|
+
else -> throw IllegalStateException(
|
|
237
|
+
"[RNScreens] Invalid detent count ${screen.sheetDetents.count()}. Expected at most 3.",
|
|
238
|
+
)
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
66
244
|
// This is listener function, not the view's.
|
|
67
245
|
override fun onApplyWindowInsets(
|
|
68
246
|
v: View,
|
|
@@ -75,7 +253,7 @@ class SheetDelegate(
|
|
|
75
253
|
isKeyboardVisible = true
|
|
76
254
|
keyboardState = KeyboardVisible(imeInset.bottom)
|
|
77
255
|
sheetBehavior?.let {
|
|
78
|
-
|
|
256
|
+
this.configureBottomSheetBehaviour(it, keyboardState)
|
|
79
257
|
}
|
|
80
258
|
|
|
81
259
|
val prevInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
|
@@ -93,9 +271,9 @@ class SheetDelegate(
|
|
|
93
271
|
} else {
|
|
94
272
|
sheetBehavior?.let {
|
|
95
273
|
if (isKeyboardVisible) {
|
|
96
|
-
|
|
274
|
+
this.configureBottomSheetBehaviour(it, KeyboardDidHide)
|
|
97
275
|
} else if (keyboardState != KeyboardNotVisible) {
|
|
98
|
-
|
|
276
|
+
this.configureBottomSheetBehaviour(it, KeyboardNotVisible)
|
|
99
277
|
} else {
|
|
100
278
|
}
|
|
101
279
|
}
|
|
@@ -113,6 +291,82 @@ class SheetDelegate(
|
|
|
113
291
|
).build()
|
|
114
292
|
}
|
|
115
293
|
|
|
294
|
+
private fun shouldDismissSheetInState(
|
|
295
|
+
@BottomSheetBehavior.State state: Int,
|
|
296
|
+
) = state == BottomSheetBehavior.STATE_HIDDEN
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* This method might return slightly different values depending on code path,
|
|
300
|
+
* but during testing I've found this effect negligible. For practical purposes
|
|
301
|
+
* this is acceptable.
|
|
302
|
+
*/
|
|
303
|
+
private fun tryResolveContainerHeight(): Int? {
|
|
304
|
+
screen.container?.let { return it.height }
|
|
305
|
+
|
|
306
|
+
val context = screen.reactContext
|
|
307
|
+
|
|
308
|
+
context
|
|
309
|
+
.resources
|
|
310
|
+
?.displayMetrics
|
|
311
|
+
?.heightPixels
|
|
312
|
+
?.let { return it }
|
|
313
|
+
|
|
314
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
|
315
|
+
(context.getSystemService(Context.WINDOW_SERVICE) as? WindowManager)
|
|
316
|
+
?.currentWindowMetrics
|
|
317
|
+
?.bounds
|
|
318
|
+
?.height()
|
|
319
|
+
?.let { return it }
|
|
320
|
+
}
|
|
321
|
+
return null
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
private inner class KeyboardHandler : BottomSheetBehavior.BottomSheetCallback() {
|
|
325
|
+
override fun onStateChanged(
|
|
326
|
+
bottomSheet: View,
|
|
327
|
+
newState: Int,
|
|
328
|
+
) {
|
|
329
|
+
if (newState == BottomSheetBehavior.STATE_COLLAPSED) {
|
|
330
|
+
val isImeVisible =
|
|
331
|
+
WindowInsetsCompat
|
|
332
|
+
.toWindowInsetsCompat(bottomSheet.rootWindowInsets)
|
|
333
|
+
.isVisible(WindowInsetsCompat.Type.ime())
|
|
334
|
+
if (isImeVisible) {
|
|
335
|
+
// Does it not interfere with React Native focus mechanism? In any case I'm not aware
|
|
336
|
+
// of different way of hiding the keyboard.
|
|
337
|
+
// https://stackoverflow.com/questions/1109022/how-can-i-close-hide-the-android-soft-keyboard-programmatically
|
|
338
|
+
// https://developer.android.com/develop/ui/views/touch-and-input/keyboard-input/visibility
|
|
339
|
+
|
|
340
|
+
// I want to be polite here and request focus before dismissing the keyboard,
|
|
341
|
+
// however even if it fails I want to try to hide the keyboard. This sometimes works...
|
|
342
|
+
bottomSheet.requestFocus()
|
|
343
|
+
val imm =
|
|
344
|
+
screen.reactContext.getSystemService(InputMethodManager::class.java)
|
|
345
|
+
imm.hideSoftInputFromWindow(bottomSheet.windowToken, 0)
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
override fun onSlide(
|
|
351
|
+
bottomSheet: View,
|
|
352
|
+
slideOffset: Float,
|
|
353
|
+
) = Unit
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
private inner class SheetStateObserver : BottomSheetBehavior.BottomSheetCallback() {
|
|
357
|
+
override fun onStateChanged(
|
|
358
|
+
bottomSheet: View,
|
|
359
|
+
newState: Int,
|
|
360
|
+
) {
|
|
361
|
+
this@SheetDelegate.onSheetStateChanged(newState)
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
override fun onSlide(
|
|
365
|
+
bottomSheet: View,
|
|
366
|
+
slideOffset: Float,
|
|
367
|
+
) = Unit
|
|
368
|
+
}
|
|
369
|
+
|
|
116
370
|
companion object {
|
|
117
371
|
const val TAG = "SheetDelegate"
|
|
118
372
|
}
|
|
@@ -20,6 +20,11 @@ internal fun View.recycle(): View {
|
|
|
20
20
|
// dumped. Since we don't restore the state but want to reuse the view we need to change
|
|
21
21
|
// visibility back to VISIBLE in order for the fragment manager to animate in the view.
|
|
22
22
|
this.visibility = View.VISIBLE
|
|
23
|
+
|
|
24
|
+
// Needed for cases where the Screen is is animated by translationY manipulation (e.g. formSheet)
|
|
25
|
+
// and then reused (reattached).
|
|
26
|
+
this.translationY = 0f
|
|
27
|
+
|
|
23
28
|
return this
|
|
24
29
|
}
|
|
25
30
|
|
|
@@ -30,3 +35,5 @@ internal fun View.maybeBgColor(): Int? {
|
|
|
30
35
|
}
|
|
31
36
|
return null
|
|
32
37
|
}
|
|
38
|
+
|
|
39
|
+
internal fun View.asViewGroupOrNull(): ViewGroup? = this as? ViewGroup
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
package com.swmansion.rnscreens.utils
|
|
2
|
+
|
|
3
|
+
import androidx.fragment.app.FragmentTransaction
|
|
4
|
+
import com.swmansion.rnscreens.R
|
|
5
|
+
import com.swmansion.rnscreens.Screen.StackAnimation
|
|
6
|
+
|
|
7
|
+
internal fun FragmentTransaction.setTweenAnimations(stackAnimation: StackAnimation, shouldUseOpenAnimation: Boolean) {
|
|
8
|
+
if (shouldUseOpenAnimation) {
|
|
9
|
+
when (stackAnimation) {
|
|
10
|
+
StackAnimation.DEFAULT ->
|
|
11
|
+
this.setCustomAnimations(
|
|
12
|
+
R.anim.rns_default_enter_in,
|
|
13
|
+
R.anim.rns_default_enter_out,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
StackAnimation.NONE ->
|
|
17
|
+
this.setCustomAnimations(
|
|
18
|
+
R.anim.rns_no_animation_20,
|
|
19
|
+
R.anim.rns_no_animation_20,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
StackAnimation.FADE ->
|
|
23
|
+
this.setCustomAnimations(
|
|
24
|
+
R.anim.rns_fade_in,
|
|
25
|
+
R.anim.rns_fade_out,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
StackAnimation.SLIDE_FROM_RIGHT ->
|
|
29
|
+
this.setCustomAnimations(
|
|
30
|
+
R.anim.rns_slide_in_from_right,
|
|
31
|
+
R.anim.rns_slide_out_to_left,
|
|
32
|
+
)
|
|
33
|
+
StackAnimation.SLIDE_FROM_LEFT ->
|
|
34
|
+
this.setCustomAnimations(
|
|
35
|
+
R.anim.rns_slide_in_from_left,
|
|
36
|
+
R.anim.rns_slide_out_to_right,
|
|
37
|
+
)
|
|
38
|
+
StackAnimation.SLIDE_FROM_BOTTOM ->
|
|
39
|
+
this.setCustomAnimations(
|
|
40
|
+
R.anim.rns_slide_in_from_bottom,
|
|
41
|
+
R.anim.rns_no_animation_medium,
|
|
42
|
+
)
|
|
43
|
+
StackAnimation.FADE_FROM_BOTTOM -> this.setCustomAnimations(R.anim.rns_fade_from_bottom, R.anim.rns_no_animation_350)
|
|
44
|
+
StackAnimation.IOS_FROM_RIGHT ->
|
|
45
|
+
this.setCustomAnimations(
|
|
46
|
+
R.anim.rns_ios_from_right_foreground_open,
|
|
47
|
+
R.anim.rns_ios_from_right_background_open,
|
|
48
|
+
)
|
|
49
|
+
StackAnimation.IOS_FROM_LEFT ->
|
|
50
|
+
this.setCustomAnimations(
|
|
51
|
+
R.anim.rns_ios_from_left_foreground_open,
|
|
52
|
+
R.anim.rns_ios_from_left_background_open,
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
when (stackAnimation) {
|
|
57
|
+
StackAnimation.DEFAULT ->
|
|
58
|
+
this.setCustomAnimations(
|
|
59
|
+
R.anim.rns_default_exit_in,
|
|
60
|
+
R.anim.rns_default_exit_out,
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
StackAnimation.NONE ->
|
|
64
|
+
this.setCustomAnimations(
|
|
65
|
+
R.anim.rns_no_animation_20,
|
|
66
|
+
R.anim.rns_no_animation_20,
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
StackAnimation.FADE ->
|
|
70
|
+
this.setCustomAnimations(
|
|
71
|
+
R.anim.rns_fade_in,
|
|
72
|
+
R.anim.rns_fade_out,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
StackAnimation.SLIDE_FROM_RIGHT ->
|
|
76
|
+
this.setCustomAnimations(
|
|
77
|
+
R.anim.rns_slide_in_from_left,
|
|
78
|
+
R.anim.rns_slide_out_to_right,
|
|
79
|
+
)
|
|
80
|
+
StackAnimation.SLIDE_FROM_LEFT ->
|
|
81
|
+
this.setCustomAnimations(
|
|
82
|
+
R.anim.rns_slide_in_from_right,
|
|
83
|
+
R.anim.rns_slide_out_to_left,
|
|
84
|
+
)
|
|
85
|
+
StackAnimation.SLIDE_FROM_BOTTOM ->
|
|
86
|
+
this.setCustomAnimations(
|
|
87
|
+
R.anim.rns_no_animation_medium,
|
|
88
|
+
R.anim.rns_slide_out_to_bottom,
|
|
89
|
+
)
|
|
90
|
+
StackAnimation.FADE_FROM_BOTTOM -> this.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom)
|
|
91
|
+
StackAnimation.IOS_FROM_RIGHT ->
|
|
92
|
+
this.setCustomAnimations(
|
|
93
|
+
R.anim.rns_ios_from_right_background_close,
|
|
94
|
+
R.anim.rns_ios_from_right_foreground_close,
|
|
95
|
+
)
|
|
96
|
+
StackAnimation.IOS_FROM_LEFT ->
|
|
97
|
+
this.setCustomAnimations(
|
|
98
|
+
R.anim.rns_ios_from_left_background_close,
|
|
99
|
+
R.anim.rns_ios_from_left_foreground_close,
|
|
100
|
+
)
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
package com.swmansion.rnscreens.utils
|
|
2
|
+
|
|
3
|
+
import android.view.View
|
|
4
|
+
import android.view.WindowInsets
|
|
5
|
+
import androidx.core.view.WindowInsetsCompat
|
|
6
|
+
|
|
7
|
+
typealias InsetsCompat = androidx.core.graphics.Insets
|
|
8
|
+
typealias InsetsPlatform = android.graphics.Insets // Available since SDK 29
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Meaningful value is available only in case the receiver is attached to window.
|
|
12
|
+
* Otherwise returns zero-insets.
|
|
13
|
+
*
|
|
14
|
+
* By default this method relies on `rootWindowInsets` of a view. Set `sourceWindowInsets` to change that.
|
|
15
|
+
*/
|
|
16
|
+
internal fun View.resolveInsetsOrZero(
|
|
17
|
+
@WindowInsetsCompat.Type.InsetsType insetType: Int,
|
|
18
|
+
sourceWindowInsets: WindowInsets? = rootWindowInsets,
|
|
19
|
+
ignoreVisibility: Boolean = false,
|
|
20
|
+
): InsetsCompat {
|
|
21
|
+
if (sourceWindowInsets == null) {
|
|
22
|
+
return InsetsCompat.NONE
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
val windowInsetsCompat = WindowInsetsCompat.toWindowInsetsCompat(sourceWindowInsets, this)
|
|
26
|
+
return if (!ignoreVisibility) {
|
|
27
|
+
windowInsetsCompat.getInsets(insetType)
|
|
28
|
+
} else {
|
|
29
|
+
windowInsetsCompat.getInsetsIgnoringVisibility(insetType)
|
|
30
|
+
}
|
|
31
|
+
}
|
package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt
CHANGED
|
@@ -2,6 +2,7 @@ package com.swmansion.rnscreens
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
4
|
import android.view.ViewGroup
|
|
5
|
+
import androidx.annotation.UiThread
|
|
5
6
|
import com.facebook.react.bridge.ReactContext
|
|
6
7
|
import com.facebook.react.uimanager.StateWrapper
|
|
7
8
|
import com.facebook.react.uimanager.UIManagerModule
|
|
@@ -13,32 +14,40 @@ abstract class FabricEnabledHeaderConfigViewGroup(
|
|
|
13
14
|
) : ViewGroup(context) {
|
|
14
15
|
private var lastPaddingStart = 0
|
|
15
16
|
private var lastPaddingEnd = 0
|
|
17
|
+
private var lastHeight = 0
|
|
16
18
|
|
|
17
19
|
fun setStateWrapper(wrapper: StateWrapper?) = Unit
|
|
18
20
|
|
|
19
|
-
// Do nothing on Paper. This method is used only on Fabric.
|
|
20
21
|
fun updateHeaderConfigState(
|
|
21
22
|
width: Int,
|
|
22
23
|
height: Int,
|
|
23
24
|
paddingStart: Int,
|
|
24
25
|
paddingEnd: Int,
|
|
25
|
-
)
|
|
26
|
+
) {
|
|
27
|
+
// Implementation of this method differs between Fabric & Paper!
|
|
28
|
+
updateState(width, height, paddingStart, paddingEnd)
|
|
29
|
+
}
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
// Implementation of this method differs between Fabric & Paper!
|
|
32
|
+
@UiThread
|
|
33
|
+
private fun updateState(
|
|
34
|
+
width: Int,
|
|
35
|
+
height: Int,
|
|
28
36
|
paddingStart: Int,
|
|
29
37
|
paddingEnd: Int,
|
|
30
38
|
) {
|
|
31
39
|
// Note that on Paper we do not convert these props from px to dip. This is done internally by RN.
|
|
32
|
-
if (abs(lastPaddingStart - paddingStart) < DELTA && abs(lastPaddingEnd - paddingEnd) < DELTA) {
|
|
40
|
+
if (abs(lastPaddingStart - paddingStart) < DELTA && abs(lastPaddingEnd - paddingEnd) < DELTA && abs(lastHeight - height) < DELTA) {
|
|
33
41
|
return
|
|
34
42
|
}
|
|
35
43
|
|
|
36
44
|
lastPaddingStart = paddingStart
|
|
37
45
|
lastPaddingEnd = paddingEnd
|
|
46
|
+
lastHeight = height
|
|
38
47
|
|
|
39
48
|
val reactContext = context as? ReactContext
|
|
40
49
|
val uiManagerModule = reactContext?.getNativeModule(UIManagerModule::class.java)
|
|
41
|
-
uiManagerModule?.setViewLocalData(this.id, PaddingBundle(paddingStart.toFloat(), paddingEnd.toFloat()))
|
|
50
|
+
uiManagerModule?.setViewLocalData(this.id, PaddingBundle(height.toFloat(), paddingStart.toFloat(), paddingEnd.toFloat()))
|
|
42
51
|
}
|
|
43
52
|
|
|
44
53
|
companion object {
|
|
@@ -17,12 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
@implementation RNSFullWindowOverlayContainer
|
|
19
19
|
|
|
20
|
-
// Needed because of this: https://github.com/facebook/react-native/pull/37274
|
|
21
|
-
+ (void)load
|
|
22
|
-
{
|
|
23
|
-
[super load];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
20
|
- (instancetype)initWithFrame:(CGRect)frame
|
|
27
21
|
{
|
|
28
22
|
if (self = [super initWithFrame:frame]) {
|
|
@@ -86,6 +80,12 @@
|
|
|
86
80
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
87
81
|
}
|
|
88
82
|
|
|
83
|
+
// Needed because of this: https://github.com/facebook/react-native/pull/37274
|
|
84
|
+
+ (void)load
|
|
85
|
+
{
|
|
86
|
+
[super load];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
89
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
90
90
|
- (instancetype)init
|
|
91
91
|
{
|
|
@@ -61,7 +61,7 @@ function resolveSheetAllowedDetents(allowedDetentsCompat) {
|
|
|
61
61
|
return SHEET_COMPAT_ALL;
|
|
62
62
|
} else {
|
|
63
63
|
// Safe default, only large detent is allowed.
|
|
64
|
-
return
|
|
64
|
+
return SHEET_COMPAT_LARGE;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
function resolveSheetLargestUndimmedDetent(lud, lastDetentIndex) {
|
|
@@ -172,16 +172,18 @@ const InnerScreen = exports.InnerScreen = /*#__PURE__*/_react.default.forwardRef
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
const handleRef = ref => {
|
|
175
|
+
// Workaround is necessary to prevent React Native from hiding frozen screens.
|
|
176
|
+
// See this PR: https://github.com/grahammendick/navigation/pull/860
|
|
175
177
|
if (ref?.viewConfig?.validAttributes?.style) {
|
|
176
178
|
ref.viewConfig.validAttributes.style = {
|
|
177
179
|
...ref.viewConfig.validAttributes.style,
|
|
178
|
-
display:
|
|
180
|
+
display: null
|
|
179
181
|
};
|
|
180
182
|
setRef(ref);
|
|
181
183
|
} else if (ref?._viewConfig?.validAttributes?.style) {
|
|
182
184
|
ref._viewConfig.validAttributes.style = {
|
|
183
185
|
...ref._viewConfig.validAttributes.style,
|
|
184
|
-
display:
|
|
186
|
+
display: null
|
|
185
187
|
};
|
|
186
188
|
setRef(ref);
|
|
187
189
|
}
|
|
@@ -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","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":[]}
|
|
@@ -62,8 +62,9 @@ const MaybeNestedStack = ({
|
|
|
62
62
|
(0, _warnOnce.default)(!isAndroid && stackPresentation !== 'push' && headerShownPreviousRef.current !== headerShown, `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`);
|
|
63
63
|
headerShownPreviousRef.current = headerShown;
|
|
64
64
|
}, [headerShown, stackPresentation, route.name]);
|
|
65
|
+
const formSheetAdjustedContentStyle = stackPresentation === 'formSheet' ? _reactNative.Platform.OS === 'ios' ? styles.absoluteFillNoBottom : sheetAllowedDetents === 'fitToContents' ? null : styles.container : styles.container;
|
|
65
66
|
const content = /*#__PURE__*/React.createElement(Container, {
|
|
66
|
-
style: [
|
|
67
|
+
style: [formSheetAdjustedContentStyle, stackPresentation !== 'transparentModal' && stackPresentation !== 'containedTransparentModal' && {
|
|
67
68
|
backgroundColor: colors.background
|
|
68
69
|
}, contentStyle]
|
|
69
70
|
// @ts-ignore Wrong props passed to View
|
|
@@ -116,6 +117,7 @@ const RouteView = ({
|
|
|
116
117
|
headerShown,
|
|
117
118
|
hideKeyboardOnSwipe,
|
|
118
119
|
homeIndicatorHidden,
|
|
120
|
+
sheetAllowedDetents = [1.0],
|
|
119
121
|
sheetLargestUndimmedDetentIndex = 'none',
|
|
120
122
|
sheetGrabberVisible = false,
|
|
121
123
|
sheetCornerRadius = -1.0,
|
|
@@ -140,7 +142,6 @@ const RouteView = ({
|
|
|
140
142
|
contentStyle
|
|
141
143
|
} = options;
|
|
142
144
|
let {
|
|
143
|
-
sheetAllowedDetents = [1.0],
|
|
144
145
|
customAnimationOnSwipe,
|
|
145
146
|
fullScreenSwipeEnabled,
|
|
146
147
|
gestureResponseDistance,
|
|
@@ -158,9 +159,6 @@ const RouteView = ({
|
|
|
158
159
|
backgroundColor: flattenContentStyles?.backgroundColor
|
|
159
160
|
};
|
|
160
161
|
}
|
|
161
|
-
if (sheetAllowedDetents === 'fitToContents') {
|
|
162
|
-
sheetAllowedDetents = [-1];
|
|
163
|
-
}
|
|
164
162
|
if (swipeDirection === 'vertical') {
|
|
165
163
|
// for `vertical` direction to work, we need to set `fullScreenSwipeEnabled` to `true`
|
|
166
164
|
// so the screen can be dismissed from any point on screen.
|