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.
Files changed (26) hide show
  1. package/RNScreens.podspec +2 -2
  2. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt +9 -6
  3. package/android/src/fabric/java/com/swmansion/rnscreens/NativeProxy.kt +2 -1
  4. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +43 -15
  5. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +12 -15
  6. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +15 -1
  7. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +6 -1
  8. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubview.kt +19 -2
  9. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewManager.kt +1 -0
  10. package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetDelegate.kt +9 -4
  11. package/android/src/versioned/pointerevents/77/com/swmansion/rnscreens/{ScreensCoordinatorLayoutPointerEventsImpl.kt → PointerEventsBoxNoneImpl.kt} +1 -1
  12. package/android/src/versioned/pointerevents/latest/com/swmansion/rnscreens/{ScreensCoordinatorLayoutPointerEventsImpl.kt → PointerEventsBoxNoneImpl.kt} +1 -1
  13. package/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.cpp +1 -3
  14. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +7 -3
  15. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +1 -1
  16. package/cpp/RNSScreenRemovalListener.cpp +3 -1
  17. package/ios/RNSScreen.mm +12 -0
  18. package/ios/RNSScreenStackHeaderConfig.h +1 -1
  19. package/ios/RNSScreenStackHeaderConfig.mm +27 -22
  20. package/lib/commonjs/components/Screen.js +9 -2
  21. package/lib/commonjs/components/Screen.js.map +1 -1
  22. package/lib/module/components/Screen.js +9 -2
  23. package/lib/module/components/Screen.js.map +1 -1
  24. package/lib/typescript/components/Screen.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. 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
- platform = new_arch_enabled ? "11.0" : "9.0"
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 => platform, :tvos => "11.0", :visionos => "1.0" }
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 lastSetWidth = 0f
18
- private var lastSetHeight = 0f
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(lastSetWidth - realWidth) < delta &&
46
- abs(lastSetHeight - realHeight) < delta
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
- lastSetWidth = realWidth
52
- lastSetHeight = realHeight
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?.let {
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
- if (container is ScreenStack && changed) {
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
- if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
181
- updateScreenSizeFabric(width, height, t)
182
- } else {
183
- updateScreenSizePaper(width, height)
184
- }
182
+ dispatchShadowStateUpdate(width, height, t)
185
183
 
186
- footer?.onParentLayout(changed, l, t, r, b, container!!.height)
184
+ // FormSheet has no header in current model.
187
185
  notifyHeaderHeightChange(t)
186
+ }
187
+ }
188
188
 
189
- if (!BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
190
- maybeTriggerPostponedTransition()
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
- // Scope function to limit the scope of locals.
179
- run {
180
- val notDismissedWrappers =
181
- screenWrappers
182
- .asReversed()
183
- .asSequence()
184
- .filter { !dismissedWrappers.contains(it) && it.screen.activityState !== Screen.ActivityState.INACTIVE }
185
-
186
- newTop = notDismissedWrappers.firstOrNull()
187
- visibleBottom =
188
- notDismissedWrappers
189
- .dropWhile { it.screen.isTransparent() }
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
- ScreensCoordinatorLayoutPointerEventsImpl(),
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
- ) : FabricEnabledHeaderConfigViewGroup(context) {
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
- updateSubviewFrameState(width, height, l, t)
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
- .get()
135
- ?.height
136
- .takeIf { screen.contentWrapper.get()?.isLaidOut == true }
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 ScreensCoordinatorLayoutPointerEventsImpl : ReactPointerEventsView {
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 ScreensCoordinatorLayoutPointerEventsImpl() : ReactPointerEventsView {
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
- auto stateData = getStateData();
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.getMostRecentState());
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") == 0) {
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:
@@ -12,7 +12,7 @@
12
12
 
13
13
  @interface NSString (RNSStringUtil)
14
14
 
15
- + (BOOL)RNSisBlank:(nullable NSString *)string;
15
+ + (BOOL)rnscreens_isBlankOrNull:(nullable NSString *)string;
16
16
 
17
17
  @end
18
18
 
@@ -49,7 +49,7 @@ namespace react = facebook::react;
49
49
 
50
50
  @implementation NSString (RNSStringUtil)
51
51
 
52
- + (BOOL)RNSisBlank:(NSString *)string
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
- if ((config.direction == UISemanticContentAttributeForceLeftToRight ||
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 RNSisBlank:config.backTitle] == YES;
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 isBackButtonCustomized = !isBackTitleBlank || config.disableBackButtonMenu;
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
- isBackButtonCustomized = YES;
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
- isBackButtonCustomized = YES;
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 (isBackButtonCustomized) {
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
- // Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens
151
- const AnimatedScreen = _reactNative.Platform.OS === 'android' || stackPresentation === undefined || stackPresentation === 'push' || stackPresentation === 'containedModal' || stackPresentation === 'containedTransparentModal' ? AnimatedNativeScreen : AnimatedNativeModalScreen;
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":";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;IACD;IACA,MAAMgF,cAAc,GAClBvD,qBAAQ,CAACC,EAAE,KAAK,SAAS,IACzB6C,iBAAiB,KAAKU,SAAS,IAC/BV,iBAAiB,KAAK,MAAM,IAC5BA,iBAAiB,KAAK,gBAAgB,IACtCA,iBAAiB,KAAK,2BAA2B,GAC7CjE,oBAAoB,GACpBI,yBAAyB;IAE/B,IAAI;MACF;MACA;MACA;MACAwE,MAAM;MACN/B,aAAa;MACbgC,QAAQ;MACRC,aAAa;MACbC,uBAAuB;MACvBC,eAAe;MACfC,KAAK;MACL,GAAG5C;IACL,CAAC,GAAGoB,IAAI;IAER,IAAImB,MAAM,KAAKD,SAAS,IAAI9B,aAAa,KAAK8B,SAAS,EAAE;MACvDrD,OAAO,CAACC,IAAI,CACV,+QACF,CAAC;MACDsB,aAAa,GAAG+B,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,IACEE,aAAa,IACbnC,iBAAiB,KAAKgC,SAAS,IAC/B9B,aAAa,KAAK8B,SAAS,EAC3B;MACA,IAAIhC,iBAAiB,GAAGE,aAAa,EAAE;QACrC,MAAM,IAAI/B,KAAK,CACb,8DACF,CAAC;MACH;IACF;IAEA,MAAMoE,SAAS,GAAI5C,GAAe,IAAK;MACrC;MACA;MACA,IAAIA,GAAG,EAAE6C,UAAU,EAAEC,eAAe,EAAEH,KAAK,EAAE;QAC3C3C,GAAG,CAAC6C,UAAU,CAACC,eAAe,CAACH,KAAK,GAAG;UACrC,GAAG3C,GAAG,CAAC6C,UAAU,CAACC,eAAe,CAACH,KAAK;UACvCI,OAAO,EAAE;QACX,CAAC;QACDvC,MAAM,CAACR,GAAG,CAAC;MACb,CAAC,MAAM,IAAIA,GAAG,EAAEgD,WAAW,EAAEF,eAAe,EAAEH,KAAK,EAAE;QACnD3C,GAAG,CAACgD,WAAW,CAACF,eAAe,CAACH,KAAK,GAAG;UACtC,GAAG3C,GAAG,CAACgD,WAAW,CAACF,eAAe,CAACH,KAAK;UACxCI,OAAO,EAAE;QACX,CAAC;QACDvC,MAAM,CAACR,GAAG,CAAC;MACb;IACF,CAAC;IAED,MAAMiD,MAAM,GACVjC,YAAY,KACXE,YAAY,KAAKmB,SAAS,GAAGnB,YAAY,GAAGX,aAAa,KAAK,CAAC,CAAC;IAEnE,oBACEpE,MAAA,CAAAH,OAAA,CAAAkH,aAAA,CAAC1G,cAAA,CAAAR,OAAa;MAACiH,MAAM,EAAEA;IAAO,gBAC5B9G,MAAA,CAAAH,OAAA,CAAAkH,aAAA,CAACd,cAAc,EAAArF,QAAA,KACTgD,KAAK;MACT;AACZ;AACA;AACA;AACA;MACY6B,QAAQ,EAAEA,QAAoC;MAC9CC,WAAW,EAAEA,WAA0C;MACvDC,YAAY,EAAEA,YAA4C;MAC1DC,eAAe,EAAEA,eAAkD;MACnEW,eAAe,EACZA,eAAe,KACf,MAAM;QACL;MAAA,CACD;MAEH;MACA;MACA;MACA;MACA;MAAA;MACAC,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEQ,MAAM,EAAEd;MAAU,CAAC,CAAE;MACtC9B,aAAa,EAAEA,aAAc;MAC7Ba,mBAAmB,EAAEa,2BAA4B;MACjDmB,0BAA0B,EAAElB,kCAAmC;MAC/DT,cAAc,EAAEA,cAAe;MAC/BH,mBAAmB,EAAEA,mBAAoB;MACzCC,iBAAiB,EAAEA,iBAAkB;MACrCC,8BAA8B,EAAEA,8BAA+B;MAC/D6B,kBAAkB,EAAElB,+BAAgC;MACpDM,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;MACAzD,GAAG,EAAE4C,SAAU;MACfc,oBAAoB,EAClB,CAAClB,aAAa,GACVH,SAAS,GACT1E,qBAAQ,CAACgG,KAAK,CACZ,CACE;QACEC,WAAW,EAAE;UACXhD,QAAQ;UACRF,OAAO;UACPG;QACF;MACF,CAAC,CACF,EACD;QAAEgD,eAAe,EAAE;MAAK,CAC1B;IACL,IACA,CAACrB,aAAa;IAAK;IAClBD,QAAQ,gBAERpG,MAAA,CAAAH,OAAA,CAAAkH,aAAA,CAAC3G,0BAAA,CAAAP,OAAyB,CAAC8H,QAAQ;MACjC/H,KAAK,EAAE;QACL6E,QAAQ;QACRF,OAAO;QACPG;MACF;IAAE,GACD0B,QACiC,CAExB,CACH,CAAC;EAEpB,CAAC,MAAM;IACL;IACA,IAAI;MACFD,MAAM;MACN/B,aAAa;MACboC,KAAK;MACL;MACAlC,cAAc;MACd,GAAGV;IACL,CAAC,GAAGoB,IAAI;IAER,IAAImB,MAAM,KAAKD,SAAS,IAAI9B,aAAa,KAAK8B,SAAS,EAAE;MACvD9B,aAAa,GAAG+B,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC;IACA,oBACEnG,MAAA,CAAAH,OAAA,CAAAkH,aAAA,CAAC5G,YAAA,CAAAqB,QAAQ,CAACoG,IAAI,EAAAhH,QAAA;MACZ4F,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEI,OAAO,EAAExC,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,CAACmE,aAAa,CAAC9H,WAAW,CAAC;AAE7D,MAAM+H,MAAM,gBAAGpE,cAAK,CAACC,UAAU,CAAoB,CAACC,KAAK,EAAEC,GAAG,KAAK;EACjE,MAAMkE,aAAa,GAAGrE,cAAK,CAACsE,UAAU,CAAClI,aAAa,CAAC,IAAIC,WAAW;EAEpE,oBAAOC,MAAA,CAAAH,OAAA,CAAAkH,aAAA,CAACgB,aAAa,EAAAnH,QAAA,KAAKgD,KAAK;IAAEC,GAAG,EAAEA;EAAI,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEFiE,MAAM,CAACG,WAAW,GAAG,QAAQ;AAAC,IAAAC,QAAA,GAAAvI,OAAA,CAAAE,OAAA,GAEfiI,MAAM","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":"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","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
- // Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens
147
- const AnimatedScreen = Platform.OS === 'android' || stackPresentation === undefined || stackPresentation === 'push' || stackPresentation === 'containedModal' || stackPresentation === 'containedTransparentModal' ? AnimatedNativeScreen : AnimatedNativeModalScreen;
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","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","ScreenContext","createContext","Screen","ScreenWrapper","useContext","displayName"],"sourceRoot":"../../../src","sources":["components/Screen.tsx"],"mappings":"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","ignoreList":[]}
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":"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","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,uFAuNvB,CAAC;AAIF,eAAO,MAAM,aAAa,sGAAmC,CAAC;AAE9D,QAAA,MAAM,MAAM,uFAIV,CAAC;AAIH,eAAe,MAAM,CAAC"}
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-beta.3",
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
- // Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens
217
- const AnimatedScreen =
218
- Platform.OS === 'android' ||
219
- stackPresentation === undefined ||
220
- stackPresentation === 'push' ||
221
- stackPresentation === 'containedModal' ||
222
- stackPresentation === 'containedTransparentModal'
223
- ? AnimatedNativeScreen
224
- : AnimatedNativeModalScreen;
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