react-native-screens 3.23.0 → 3.25.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.
@@ -9,6 +9,7 @@ import android.content.pm.ActivityInfo
9
9
  import android.graphics.Color
10
10
  import android.os.Build
11
11
  import android.view.ViewParent
12
+ import androidx.core.graphics.Insets
12
13
  import androidx.core.view.ViewCompat
13
14
  import androidx.core.view.WindowCompat
14
15
  import androidx.core.view.WindowInsetsCompat
@@ -115,12 +116,31 @@ object ScreenWindowTraits {
115
116
  if (translucent) {
116
117
  ViewCompat.setOnApplyWindowInsetsListener(decorView) { v, insets ->
117
118
  val defaultInsets = ViewCompat.onApplyWindowInsets(v, insets)
118
- defaultInsets.replaceSystemWindowInsets(
119
- defaultInsets.systemWindowInsetLeft,
120
- 0,
121
- defaultInsets.systemWindowInsetRight,
122
- defaultInsets.systemWindowInsetBottom
123
- )
119
+
120
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
121
+ val windowInsets =
122
+ defaultInsets.getInsets(WindowInsetsCompat.Type.statusBars())
123
+
124
+ WindowInsetsCompat
125
+ .Builder()
126
+ .setInsets(
127
+ WindowInsetsCompat.Type.statusBars(),
128
+ Insets.of(
129
+ windowInsets.left,
130
+ 0,
131
+ windowInsets.right,
132
+ windowInsets.bottom
133
+ )
134
+ )
135
+ .build()
136
+ } else {
137
+ defaultInsets.replaceSystemWindowInsets(
138
+ defaultInsets.systemWindowInsetLeft,
139
+ 0,
140
+ defaultInsets.systemWindowInsetRight,
141
+ defaultInsets.systemWindowInsetBottom
142
+ )
143
+ }
124
144
  }
125
145
  } else {
126
146
  ViewCompat.setOnApplyWindowInsetsListener(decorView, null)
@@ -11,7 +11,7 @@
11
11
  android:fillAfter="true"
12
12
  android:interpolator="@anim/rns_standard_accelerate_interpolator"
13
13
  android:startOffset="0"
14
- android:duration="450" />
14
+ android:duration="83" />
15
15
 
16
16
  <translate
17
17
  android:fromXDelta="0"
package/ios/RNSConvert.h CHANGED
@@ -2,36 +2,34 @@
2
2
  #import <react/renderer/components/rnscreens/Props.h>
3
3
  #import "RNSEnums.h"
4
4
 
5
+ namespace react = facebook::react;
6
+
5
7
  @interface RNSConvert : NSObject
6
8
 
7
9
  + (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
8
- (facebook::react::RNSScreenStackPresentation)stackPresentation;
10
+ (react::RNSScreenStackPresentation)stackPresentation;
9
11
 
10
- + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:
11
- (facebook::react::RNSScreenStackAnimation)stackAnimation;
12
+ + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSScreenStackAnimation)stackAnimation;
12
13
 
13
14
  + (RNSScreenStackHeaderSubviewType)RNSScreenStackHeaderSubviewTypeFromCppEquivalent:
14
- (facebook::react::RNSScreenStackHeaderSubviewType)subviewType;
15
+ (react::RNSScreenStackHeaderSubviewType)subviewType;
15
16
 
16
17
  + (RNSScreenReplaceAnimation)RNSScreenReplaceAnimationFromCppEquivalent:
17
- (facebook::react::RNSScreenReplaceAnimation)replaceAnimation;
18
+ (react::RNSScreenReplaceAnimation)replaceAnimation;
18
19
 
19
- + (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:
20
- (facebook::react::RNSScreenSwipeDirection)swipeDirection;
20
+ + (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:(react::RNSScreenSwipeDirection)swipeDirection;
21
21
 
22
- + (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:
23
- (facebook::react::RNSScreenSheetAllowedDetents)allowedDetents;
22
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:(react::RNSScreenSheetAllowedDetents)allowedDetents;
24
23
 
25
- + (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:
26
- (facebook::react::RNSScreenSheetLargestUndimmedDetent)detent;
24
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:(react::RNSScreenSheetLargestUndimmedDetent)detent;
27
25
 
28
26
  + (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
29
- (const facebook::react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance;
27
+ (const react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance;
30
28
 
31
29
  + (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
32
- (facebook::react::RNSSearchBarAutoCapitalize)autoCapitalize;
30
+ (react::RNSSearchBarAutoCapitalize)autoCapitalize;
33
31
 
34
- + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(facebook::react::RNSSearchBarPlacement)placement;
32
+ + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement;
35
33
 
36
34
  @end
37
35
 
package/ios/RNSConvert.mm CHANGED
@@ -4,119 +4,115 @@
4
4
  @implementation RNSConvert
5
5
 
6
6
  + (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
7
- (facebook::react::RNSScreenStackPresentation)stackPresentation
7
+ (react::RNSScreenStackPresentation)stackPresentation
8
8
  {
9
9
  switch (stackPresentation) {
10
- case facebook::react::RNSScreenStackPresentation::Push:
10
+ case react::RNSScreenStackPresentation::Push:
11
11
  return RNSScreenStackPresentationPush;
12
- case facebook::react::RNSScreenStackPresentation::Modal:
12
+ case react::RNSScreenStackPresentation::Modal:
13
13
  return RNSScreenStackPresentationModal;
14
- case facebook::react::RNSScreenStackPresentation::FullScreenModal:
14
+ case react::RNSScreenStackPresentation::FullScreenModal:
15
15
  return RNSScreenStackPresentationFullScreenModal;
16
- case facebook::react::RNSScreenStackPresentation::FormSheet:
16
+ case react::RNSScreenStackPresentation::FormSheet:
17
17
  return RNSScreenStackPresentationFormSheet;
18
- case facebook::react::RNSScreenStackPresentation::ContainedModal:
18
+ case react::RNSScreenStackPresentation::ContainedModal:
19
19
  return RNSScreenStackPresentationContainedModal;
20
- case facebook::react::RNSScreenStackPresentation::TransparentModal:
20
+ case react::RNSScreenStackPresentation::TransparentModal:
21
21
  return RNSScreenStackPresentationTransparentModal;
22
- case facebook::react::RNSScreenStackPresentation::ContainedTransparentModal:
22
+ case react::RNSScreenStackPresentation::ContainedTransparentModal:
23
23
  return RNSScreenStackPresentationContainedTransparentModal;
24
24
  }
25
25
  }
26
26
 
27
- + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:
28
- (facebook::react::RNSScreenStackAnimation)stackAnimation
27
+ + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSScreenStackAnimation)stackAnimation
29
28
  {
30
29
  switch (stackAnimation) {
31
30
  // these three are intentionally grouped
32
- case facebook::react::RNSScreenStackAnimation::Slide_from_right:
33
- case facebook::react::RNSScreenStackAnimation::Slide_from_left:
34
- case facebook::react::RNSScreenStackAnimation::Default:
31
+ case react::RNSScreenStackAnimation::Slide_from_right:
32
+ case react::RNSScreenStackAnimation::Slide_from_left:
33
+ case react::RNSScreenStackAnimation::Default:
35
34
  return RNSScreenStackAnimationDefault;
36
- case facebook::react::RNSScreenStackAnimation::Flip:
35
+ case react::RNSScreenStackAnimation::Flip:
37
36
  return RNSScreenStackAnimationFlip;
38
- case facebook::react::RNSScreenStackAnimation::Simple_push:
37
+ case react::RNSScreenStackAnimation::Simple_push:
39
38
  return RNSScreenStackAnimationSimplePush;
40
- case facebook::react::RNSScreenStackAnimation::None:
39
+ case react::RNSScreenStackAnimation::None:
41
40
  return RNSScreenStackAnimationNone;
42
- case facebook::react::RNSScreenStackAnimation::Fade:
41
+ case react::RNSScreenStackAnimation::Fade:
43
42
  return RNSScreenStackAnimationFade;
44
- case facebook::react::RNSScreenStackAnimation::Slide_from_bottom:
43
+ case react::RNSScreenStackAnimation::Slide_from_bottom:
45
44
  return RNSScreenStackAnimationSlideFromBottom;
46
- case facebook::react::RNSScreenStackAnimation::Fade_from_bottom:
45
+ case react::RNSScreenStackAnimation::Fade_from_bottom:
47
46
  return RNSScreenStackAnimationFadeFromBottom;
48
47
  }
49
48
  }
50
49
 
51
50
  + (RNSScreenStackHeaderSubviewType)RNSScreenStackHeaderSubviewTypeFromCppEquivalent:
52
- (facebook::react::RNSScreenStackHeaderSubviewType)subviewType
51
+ (react::RNSScreenStackHeaderSubviewType)subviewType
53
52
  {
54
53
  switch (subviewType) {
55
- case facebook::react::RNSScreenStackHeaderSubviewType::Left:
54
+ case react::RNSScreenStackHeaderSubviewType::Left:
56
55
  return RNSScreenStackHeaderSubviewTypeLeft;
57
- case facebook::react::RNSScreenStackHeaderSubviewType::Right:
56
+ case react::RNSScreenStackHeaderSubviewType::Right:
58
57
  return RNSScreenStackHeaderSubviewTypeRight;
59
- case facebook::react::RNSScreenStackHeaderSubviewType::Title:
58
+ case react::RNSScreenStackHeaderSubviewType::Title:
60
59
  return RNSScreenStackHeaderSubviewTypeTitle;
61
- case facebook::react::RNSScreenStackHeaderSubviewType::Center:
60
+ case react::RNSScreenStackHeaderSubviewType::Center:
62
61
  return RNSScreenStackHeaderSubviewTypeCenter;
63
- case facebook::react::RNSScreenStackHeaderSubviewType::SearchBar:
62
+ case react::RNSScreenStackHeaderSubviewType::SearchBar:
64
63
  return RNSScreenStackHeaderSubviewTypeSearchBar;
65
- case facebook::react::RNSScreenStackHeaderSubviewType::Back:
64
+ case react::RNSScreenStackHeaderSubviewType::Back:
66
65
  return RNSScreenStackHeaderSubviewTypeBackButton;
67
66
  }
68
67
  }
69
68
 
70
69
  + (RNSScreenReplaceAnimation)RNSScreenReplaceAnimationFromCppEquivalent:
71
- (facebook::react::RNSScreenReplaceAnimation)replaceAnimation
70
+ (react::RNSScreenReplaceAnimation)replaceAnimation
72
71
  {
73
72
  switch (replaceAnimation) {
74
- case facebook::react::RNSScreenReplaceAnimation::Pop:
73
+ case react::RNSScreenReplaceAnimation::Pop:
75
74
  return RNSScreenReplaceAnimationPop;
76
- case facebook::react::RNSScreenReplaceAnimation::Push:
75
+ case react::RNSScreenReplaceAnimation::Push:
77
76
  return RNSScreenReplaceAnimationPush;
78
77
  }
79
78
  }
80
79
 
81
- + (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:
82
- (facebook::react::RNSScreenSwipeDirection)swipeDirection
80
+ + (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:(react::RNSScreenSwipeDirection)swipeDirection
83
81
  {
84
82
  switch (swipeDirection) {
85
- case facebook::react::RNSScreenSwipeDirection::Horizontal:
83
+ case react::RNSScreenSwipeDirection::Horizontal:
86
84
  return RNSScreenSwipeDirectionHorizontal;
87
- case facebook::react::RNSScreenSwipeDirection::Vertical:
85
+ case react::RNSScreenSwipeDirection::Vertical:
88
86
  return RNSScreenSwipeDirectionVertical;
89
87
  }
90
88
  }
91
89
 
92
- + (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:
93
- (facebook::react::RNSScreenSheetAllowedDetents)allowedDetents
90
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:(react::RNSScreenSheetAllowedDetents)allowedDetents
94
91
  {
95
92
  switch (allowedDetents) {
96
- case facebook::react::RNSScreenSheetAllowedDetents::All:
93
+ case react::RNSScreenSheetAllowedDetents::All:
97
94
  return RNSScreenDetentTypeAll;
98
- case facebook::react::RNSScreenSheetAllowedDetents::Large:
95
+ case react::RNSScreenSheetAllowedDetents::Large:
99
96
  return RNSScreenDetentTypeLarge;
100
- case facebook::react::RNSScreenSheetAllowedDetents::Medium:
97
+ case react::RNSScreenSheetAllowedDetents::Medium:
101
98
  return RNSScreenDetentTypeMedium;
102
99
  }
103
100
  }
104
101
 
105
- + (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:
106
- (facebook::react::RNSScreenSheetLargestUndimmedDetent)detent
102
+ + (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:(react::RNSScreenSheetLargestUndimmedDetent)detent
107
103
  {
108
104
  switch (detent) {
109
- case facebook::react::RNSScreenSheetLargestUndimmedDetent::All:
105
+ case react::RNSScreenSheetLargestUndimmedDetent::All:
110
106
  return RNSScreenDetentTypeAll;
111
- case facebook::react::RNSScreenSheetLargestUndimmedDetent::Large:
107
+ case react::RNSScreenSheetLargestUndimmedDetent::Large:
112
108
  return RNSScreenDetentTypeLarge;
113
- case facebook::react::RNSScreenSheetLargestUndimmedDetent::Medium:
109
+ case react::RNSScreenSheetLargestUndimmedDetent::Medium:
114
110
  return RNSScreenDetentTypeMedium;
115
111
  }
116
112
  }
117
113
 
118
114
  + (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
119
- (const facebook::react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance
115
+ (const react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance
120
116
  {
121
117
  return @{
122
118
  @"start" : @(gestureResponseDistance.start),
@@ -127,28 +123,28 @@
127
123
  }
128
124
 
129
125
  + (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
130
- (facebook::react::RNSSearchBarAutoCapitalize)autoCapitalize
126
+ (react::RNSSearchBarAutoCapitalize)autoCapitalize
131
127
  {
132
128
  switch (autoCapitalize) {
133
- case facebook::react::RNSSearchBarAutoCapitalize::Words:
129
+ case react::RNSSearchBarAutoCapitalize::Words:
134
130
  return UITextAutocapitalizationTypeWords;
135
- case facebook::react::RNSSearchBarAutoCapitalize::Sentences:
131
+ case react::RNSSearchBarAutoCapitalize::Sentences:
136
132
  return UITextAutocapitalizationTypeSentences;
137
- case facebook::react::RNSSearchBarAutoCapitalize::Characters:
133
+ case react::RNSSearchBarAutoCapitalize::Characters:
138
134
  return UITextAutocapitalizationTypeAllCharacters;
139
- case facebook::react::RNSSearchBarAutoCapitalize::None:
135
+ case react::RNSSearchBarAutoCapitalize::None:
140
136
  return UITextAutocapitalizationTypeNone;
141
137
  }
142
138
  }
143
139
 
144
- + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(facebook::react::RNSSearchBarPlacement)placement
140
+ + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement
145
141
  {
146
142
  switch (placement) {
147
- case facebook::react::RNSSearchBarPlacement::Stacked:
143
+ case react::RNSSearchBarPlacement::Stacked:
148
144
  return RNSSearchBarPlacementStacked;
149
- case facebook::react::RNSSearchBarPlacement::Automatic:
145
+ case react::RNSSearchBarPlacement::Automatic:
150
146
  return RNSSearchBarPlacementAutomatic;
151
- case facebook::react::RNSSearchBarPlacement::Inline:
147
+ case react::RNSSearchBarPlacement::Inline:
152
148
  return RNSSearchBarPlacementInline;
153
149
  }
154
150
  }
@@ -7,6 +7,10 @@
7
7
  #import <React/RCTView.h>
8
8
  #endif
9
9
 
10
+ #ifdef RCT_NEW_ARCH_ENABLED
11
+ namespace react = facebook::react;
12
+ #endif // RCT_NEW_ARCH_ENABLED
13
+
10
14
  @interface RNSFullWindowOverlayManager : RCTViewManager
11
15
 
12
16
  @end
@@ -23,8 +27,8 @@
23
27
  #endif // RCT_NEW_ARCH_ENABLED
24
28
 
25
29
  #ifdef RCT_NEW_ARCH_ENABLED
26
- @property (nonatomic) facebook::react::LayoutMetrics oldLayoutMetrics;
27
- @property (nonatomic) facebook::react::LayoutMetrics newLayoutMetrics;
30
+ @property (nonatomic) react::LayoutMetrics oldLayoutMetrics;
31
+ @property (nonatomic) react::LayoutMetrics newLayoutMetrics;
28
32
  #endif // RCT_NEW_ARCH_ENABLED
29
33
 
30
34
  @end
@@ -82,7 +82,7 @@
82
82
  - (instancetype)init
83
83
  {
84
84
  if (self = [super init]) {
85
- static const auto defaultProps = std::make_shared<const facebook::react::RNSFullWindowOverlayProps>();
85
+ static const auto defaultProps = std::make_shared<const react::RNSFullWindowOverlayProps>();
86
86
  _props = defaultProps;
87
87
  [self _initCommon];
88
88
  }
@@ -127,9 +127,9 @@
127
127
  [window addSubview:_container];
128
128
  }
129
129
 
130
- - (void)didMoveToWindow
130
+ - (void)didMoveToSuperview
131
131
  {
132
- if (self.window == nil) {
132
+ if (self.superview == nil) {
133
133
  if (_container != nil) {
134
134
  [_container removeFromSuperview];
135
135
  [_touchHandler detachFromView:_container];
@@ -162,10 +162,9 @@
162
162
  }
163
163
  }
164
164
 
165
- + (facebook::react::ComponentDescriptorProvider)componentDescriptorProvider
165
+ + (react::ComponentDescriptorProvider)componentDescriptorProvider
166
166
  {
167
- return facebook::react::concreteComponentDescriptorProvider<
168
- facebook::react::RNSFullWindowOverlayComponentDescriptor>();
167
+ return react::concreteComponentDescriptorProvider<react::RNSFullWindowOverlayComponentDescriptor>();
169
168
  }
170
169
 
171
170
  - (void)prepareForRecycle
@@ -193,8 +192,8 @@
193
192
  [childComponentView removeFromSuperview];
194
193
  }
195
194
 
196
- - (void)updateLayoutMetrics:(facebook::react::LayoutMetrics const &)layoutMetrics
197
- oldLayoutMetrics:(facebook::react::LayoutMetrics const &)oldLayoutMetrics
195
+ - (void)updateLayoutMetrics:(react::LayoutMetrics const &)layoutMetrics
196
+ oldLayoutMetrics:(react::LayoutMetrics const &)oldLayoutMetrics
198
197
  {
199
198
  CGRect frame = RCTCGRectFromRect(layoutMetrics.frame);
200
199
  _reactFrame = frame;
package/ios/RNSScreen.h CHANGED
@@ -8,10 +8,14 @@
8
8
  #import <React/RCTViewComponentView.h>
9
9
  #else
10
10
  #import <React/RCTView.h>
11
- #endif
11
+ #endif // RCT_NEW_ARCH_ENABLED
12
12
 
13
13
  NS_ASSUME_NONNULL_BEGIN
14
14
 
15
+ #ifdef RCT_NEW_ARCH_ENABLED
16
+ namespace react = facebook::react;
17
+ #endif // RCT_NEW_ARCH_ENABLED
18
+
15
19
  @interface RCTConvert (RNSScreen)
16
20
 
17
21
  + (RNSScreenStackPresentation)RNSScreenStackPresentation:(id)json;
@@ -88,8 +92,8 @@ NS_ASSUME_NONNULL_BEGIN
88
92
 
89
93
  #ifdef RCT_NEW_ARCH_ENABLED
90
94
  // we recreate the behavior of `reactSetFrame` on new architecture
91
- @property (nonatomic) facebook::react::LayoutMetrics oldLayoutMetrics;
92
- @property (nonatomic) facebook::react::LayoutMetrics newLayoutMetrics;
95
+ @property (nonatomic) react::LayoutMetrics oldLayoutMetrics;
96
+ @property (nonatomic) react::LayoutMetrics newLayoutMetrics;
93
97
  @property (weak, nonatomic) RNSScreenStackHeaderConfig *config;
94
98
  @property (nonatomic, readonly) BOOL hasHeaderConfig;
95
99
  #else
package/ios/RNSScreen.mm CHANGED
@@ -24,6 +24,10 @@
24
24
  #import "RNSScreenStack.h"
25
25
  #import "RNSScreenStackHeaderConfig.h"
26
26
 
27
+ #ifdef RCT_NEW_ARCH_ENABLED
28
+ namespace react = facebook::react;
29
+ #endif // RCT_NEW_ARCH_ENABLED
30
+
27
31
  @interface RNSScreenView ()
28
32
  #ifdef RCT_NEW_ARCH_ENABLED
29
33
  <RCTRNSScreenViewProtocol, UIAdaptivePresentationControllerDelegate>
@@ -36,7 +40,7 @@
36
40
  __weak RCTBridge *_bridge;
37
41
  #ifdef RCT_NEW_ARCH_ENABLED
38
42
  RCTSurfaceTouchHandler *_touchHandler;
39
- facebook::react::RNSScreenShadowNode::ConcreteState::Shared _state;
43
+ react::RNSScreenShadowNode::ConcreteState::Shared _state;
40
44
  // on fabric, they are not available by default so we need them exposed here too
41
45
  NSMutableArray<UIView *> *_reactSubviews;
42
46
  #else
@@ -49,7 +53,7 @@
49
53
  - (instancetype)initWithFrame:(CGRect)frame
50
54
  {
51
55
  if (self = [super initWithFrame:frame]) {
52
- static const auto defaultProps = std::make_shared<const facebook::react::RNSScreenProps>();
56
+ static const auto defaultProps = std::make_shared<const react::RNSScreenProps>();
53
57
  _props = defaultProps;
54
58
  _reactSubviews = [NSMutableArray new];
55
59
  [self initCommonProps];
@@ -102,7 +106,7 @@
102
106
  {
103
107
  #ifdef RCT_NEW_ARCH_ENABLED
104
108
  if (_state != nullptr) {
105
- auto newState = facebook::react::RNSScreenState{RCTSizeFromCGSize(self.bounds.size)};
109
+ auto newState = react::RNSScreenState{RCTSizeFromCGSize(self.bounds.size)};
106
110
  _state->updateState(std::move(newState));
107
111
  UINavigationController *navctr = _controller.navigationController;
108
112
  [navctr.view setNeedsLayout];
@@ -283,8 +287,8 @@
283
287
  // If screen is already unmounted then there will be no event emitter
284
288
  // it will be cleaned in prepareForRecycle
285
289
  if (_eventEmitter != nullptr) {
286
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
287
- ->onDismissed(facebook::react::RNSScreenEventEmitter::OnDismissed{.dismissCount = dismissCount});
290
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
291
+ ->onDismissed(react::RNSScreenEventEmitter::OnDismissed{.dismissCount = dismissCount});
288
292
  }
289
293
  #else
290
294
  // TODO: hopefully problems connected to dismissed prop are only the case on paper
@@ -305,9 +309,9 @@
305
309
  // If screen is already unmounted then there will be no event emitter
306
310
  // it will be cleaned in prepareForRecycle
307
311
  if (_eventEmitter != nullptr) {
308
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
312
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
309
313
  ->onNativeDismissCancelled(
310
- facebook::react::RNSScreenEventEmitter::OnNativeDismissCancelled{.dismissCount = dismissCount});
314
+ react::RNSScreenEventEmitter::OnNativeDismissCancelled{.dismissCount = dismissCount});
311
315
  }
312
316
  #else
313
317
  if (self.onNativeDismissCancelled) {
@@ -322,8 +326,8 @@
322
326
  // If screen is already unmounted then there will be no event emitter
323
327
  // it will be cleaned in prepareForRecycle
324
328
  if (_eventEmitter != nullptr) {
325
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
326
- ->onWillAppear(facebook::react::RNSScreenEventEmitter::OnWillAppear{});
329
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
330
+ ->onWillAppear(react::RNSScreenEventEmitter::OnWillAppear{});
327
331
  }
328
332
  [self updateLayoutMetrics:_newLayoutMetrics oldLayoutMetrics:_oldLayoutMetrics];
329
333
  #else
@@ -345,8 +349,8 @@
345
349
  // If screen is already unmounted then there will be no event emitter
346
350
  // it will be cleaned in prepareForRecycle
347
351
  if (_eventEmitter != nullptr) {
348
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
349
- ->onWillDisappear(facebook::react::RNSScreenEventEmitter::OnWillDisappear{});
352
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
353
+ ->onWillDisappear(react::RNSScreenEventEmitter::OnWillDisappear{});
350
354
  }
351
355
  #else
352
356
  if (self.onWillDisappear) {
@@ -361,8 +365,8 @@
361
365
  // If screen is already unmounted then there will be no event emitter
362
366
  // it will be cleaned in prepareForRecycle
363
367
  if (_eventEmitter != nullptr) {
364
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
365
- ->onAppear(facebook::react::RNSScreenEventEmitter::OnAppear{});
368
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
369
+ ->onAppear(react::RNSScreenEventEmitter::OnAppear{});
366
370
  }
367
371
  #else
368
372
  if (self.onAppear) {
@@ -381,8 +385,8 @@
381
385
  // If screen is already unmounted then there will be no event emitter
382
386
  // it will be cleaned in prepareForRecycle
383
387
  if (_eventEmitter != nullptr) {
384
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
385
- ->onDisappear(facebook::react::RNSScreenEventEmitter::OnDisappear{});
388
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
389
+ ->onDisappear(react::RNSScreenEventEmitter::OnDisappear{});
386
390
  }
387
391
  #else
388
392
  if (self.onDisappear) {
@@ -395,8 +399,8 @@
395
399
  {
396
400
  #ifdef RCT_NEW_ARCH_ENABLED
397
401
  if (_eventEmitter != nullptr) {
398
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
399
- ->onGestureCancel(facebook::react::RNSScreenEventEmitter::OnGestureCancel{});
402
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
403
+ ->onGestureCancel(react::RNSScreenEventEmitter::OnGestureCancel{});
400
404
  }
401
405
  #else
402
406
  if (self.onGestureCancel) {
@@ -467,8 +471,8 @@
467
471
  {
468
472
  #ifdef RCT_NEW_ARCH_ENABLED
469
473
  if (_eventEmitter != nullptr) {
470
- std::dynamic_pointer_cast<const facebook::react::RNSScreenEventEmitter>(_eventEmitter)
471
- ->onTransitionProgress(facebook::react::RNSScreenEventEmitter::OnTransitionProgress{
474
+ std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
475
+ ->onTransitionProgress(react::RNSScreenEventEmitter::OnTransitionProgress{
472
476
  .progress = progress, .closing = closing ? 1 : 0, .goingForward = goingForward ? 1 : 0});
473
477
  }
474
478
  RNSScreenViewEvent *event = [[RNSScreenViewEvent alloc] initWithEventName:@"onTransitionProgress"
@@ -602,9 +606,9 @@
602
606
  return _config != nil;
603
607
  }
604
608
 
605
- + (facebook::react::ComponentDescriptorProvider)componentDescriptorProvider
609
+ + (react::ComponentDescriptorProvider)componentDescriptorProvider
606
610
  {
607
- return facebook::react::concreteComponentDescriptorProvider<facebook::react::RNSScreenComponentDescriptor>();
611
+ return react::concreteComponentDescriptorProvider<react::RNSScreenComponentDescriptor>();
608
612
  }
609
613
 
610
614
  - (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
@@ -649,11 +653,10 @@
649
653
  _stackPresentation = RNSScreenStackPresentationPush;
650
654
  }
651
655
 
652
- - (void)updateProps:(facebook::react::Props::Shared const &)props
653
- oldProps:(facebook::react::Props::Shared const &)oldProps
656
+ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::Shared const &)oldProps
654
657
  {
655
- const auto &oldScreenProps = *std::static_pointer_cast<const facebook::react::RNSScreenProps>(_props);
656
- const auto &newScreenProps = *std::static_pointer_cast<const facebook::react::RNSScreenProps>(props);
658
+ const auto &oldScreenProps = *std::static_pointer_cast<const react::RNSScreenProps>(_props);
659
+ const auto &newScreenProps = *std::static_pointer_cast<const react::RNSScreenProps>(props);
657
660
 
658
661
  [self setFullScreenSwipeEnabled:newScreenProps.fullScreenSwipeEnabled];
659
662
 
@@ -732,14 +735,13 @@
732
735
  [super updateProps:props oldProps:oldProps];
733
736
  }
734
737
 
735
- - (void)updateState:(facebook::react::State::Shared const &)state
736
- oldState:(facebook::react::State::Shared const &)oldState
738
+ - (void)updateState:(react::State::Shared const &)state oldState:(react::State::Shared const &)oldState
737
739
  {
738
- _state = std::static_pointer_cast<const facebook::react::RNSScreenShadowNode::ConcreteState>(state);
740
+ _state = std::static_pointer_cast<const react::RNSScreenShadowNode::ConcreteState>(state);
739
741
  }
740
742
 
741
- - (void)updateLayoutMetrics:(const facebook::react::LayoutMetrics &)layoutMetrics
742
- oldLayoutMetrics:(const facebook::react::LayoutMetrics &)oldLayoutMetrics
743
+ - (void)updateLayoutMetrics:(const react::LayoutMetrics &)layoutMetrics
744
+ oldLayoutMetrics:(const react::LayoutMetrics &)oldLayoutMetrics
743
745
  {
744
746
  _newLayoutMetrics = layoutMetrics;
745
747
  _oldLayoutMetrics = oldLayoutMetrics;
@@ -758,6 +760,7 @@
758
760
 
759
761
  - (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask
760
762
  {
763
+ [super finalizeUpdates:updateMask];
761
764
  #if !TARGET_OS_TV
762
765
  [self updatePresentationStyle];
763
766
  #endif // !TARGET_OS_TV
@@ -6,7 +6,10 @@
6
6
  #import <React/RCTFabricComponentsPlugins.h>
7
7
  #import <react/renderer/components/rnscreens/ComponentDescriptors.h>
8
8
  #import <react/renderer/components/rnscreens/Props.h>
9
- #endif
9
+
10
+ namespace react = facebook::react;
11
+
12
+ #endif // RCT_NEW_ARCH_ENABLED
10
13
 
11
14
  @implementation RNSViewController
12
15
 
@@ -59,7 +62,7 @@
59
62
  {
60
63
  if (self = [super init]) {
61
64
  #ifdef RCT_NEW_ARCH_ENABLED
62
- static const auto defaultProps = std::make_shared<const facebook::react::RNSScreenContainerProps>();
65
+ static const auto defaultProps = std::make_shared<const react::RNSScreenContainerProps>();
63
66
  _props = defaultProps;
64
67
  #endif
65
68
  _activeScreens = [NSMutableSet new];
@@ -235,7 +238,7 @@
235
238
  _controller.view.frame = self.bounds;
236
239
  for (RNSScreenView *subview in _reactSubviews) {
237
240
  #ifdef RCT_NEW_ARCH_ENABLED
238
- facebook::react::LayoutMetrics screenLayoutMetrics = subview.newLayoutMetrics;
241
+ react::LayoutMetrics screenLayoutMetrics = subview.newLayoutMetrics;
239
242
  screenLayoutMetrics.frame = RCTRectFromCGRect(CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height));
240
243
  [subview updateLayoutMetrics:screenLayoutMetrics oldLayoutMetrics:subview.oldLayoutMetrics];
241
244
  #else
@@ -267,7 +270,7 @@
267
270
 
268
271
  [_reactSubviews insertObject:screenView atIndex:index];
269
272
  screenView.reactSuperview = self;
270
- facebook::react::LayoutMetrics screenLayoutMetrics = screenView.newLayoutMetrics;
273
+ react::LayoutMetrics screenLayoutMetrics = screenView.newLayoutMetrics;
271
274
  screenLayoutMetrics.frame = RCTRectFromCGRect(CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height));
272
275
  [screenView updateLayoutMetrics:screenLayoutMetrics oldLayoutMetrics:screenView.oldLayoutMetrics];
273
276
  [self markChildUpdated];
@@ -295,9 +298,9 @@
295
298
  [self markChildUpdated];
296
299
  }
297
300
 
298
- + (facebook::react::ComponentDescriptorProvider)componentDescriptorProvider
301
+ + (react::ComponentDescriptorProvider)componentDescriptorProvider
299
302
  {
300
- return facebook::react::concreteComponentDescriptorProvider<facebook::react::RNSScreenContainerComponentDescriptor>();
303
+ return react::concreteComponentDescriptorProvider<react::RNSScreenContainerComponentDescriptor>();
301
304
  }
302
305
 
303
306
  - (void)prepareForRecycle
@@ -6,7 +6,9 @@
6
6
  #import <React/RCTFabricComponentsPlugins.h>
7
7
  #import <react/renderer/components/rnscreens/ComponentDescriptors.h>
8
8
  #import <react/renderer/components/rnscreens/Props.h>
9
- #endif
9
+
10
+ namespace react = facebook::react;
11
+ #endif // RCT_NEW_ARCH_ENABLED
10
12
 
11
13
  @implementation RNSContainerNavigationController
12
14
 
@@ -37,10 +39,9 @@
37
39
 
38
40
  #pragma mark-- Fabric specific
39
41
  #ifdef RCT_NEW_ARCH_ENABLED
40
- + (facebook::react::ComponentDescriptorProvider)componentDescriptorProvider
42
+ + (react::ComponentDescriptorProvider)componentDescriptorProvider
41
43
  {
42
- return facebook::react::concreteComponentDescriptorProvider<
43
- facebook::react::RNSScreenNavigationContainerComponentDescriptor>();
44
+ return react::concreteComponentDescriptorProvider<react::RNSScreenNavigationContainerComponentDescriptor>();
44
45
  }
45
46
  #endif
46
47