react-native-screens 4.0.0-beta.1 → 4.0.0-beta.11

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 (107) hide show
  1. package/android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +61 -0
  2. package/android/src/main/java/com/swmansion/rnscreens/CustomToolbar.kt +14 -0
  3. package/android/src/main/java/com/swmansion/rnscreens/InsetsObserverProxy.kt +2 -4
  4. package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +46 -7
  5. package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +24 -9
  6. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +37 -17
  7. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt +1 -2
  8. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigShadowNode.kt +25 -0
  9. package/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt +18 -0
  10. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +6 -1
  11. package/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt +1 -0
  12. package/android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt +24 -0
  13. package/android/src/main/java/com/swmansion/rnscreens/utils/PaddingBundle.kt +8 -0
  14. package/android/src/main/jni/rnscreens.h +2 -0
  15. package/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt +39 -0
  16. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h +44 -0
  17. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.cpp +8 -0
  18. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigShadowNode.h +32 -0
  19. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.cpp +23 -0
  20. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderConfigState.h +50 -0
  21. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h +27 -0
  22. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.cpp +8 -0
  23. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewShadowNode.h +32 -0
  24. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.cpp +15 -0
  25. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +40 -0
  26. package/ios/RNSConvert.mm +0 -1
  27. package/ios/RNSScreen.h +15 -0
  28. package/ios/RNSScreen.mm +55 -8
  29. package/ios/RNSScreenStack.mm +81 -2
  30. package/ios/RNSScreenStackHeaderConfig.h +63 -0
  31. package/ios/RNSScreenStackHeaderConfig.mm +135 -13
  32. package/ios/RNSScreenStackHeaderSubview.mm +26 -0
  33. package/ios/utils/UINavigationBar+RNSUtility.h +37 -0
  34. package/ios/utils/UINavigationBar+RNSUtility.mm +44 -0
  35. package/ios/utils/UIView+RNSUtility.mm +0 -1
  36. package/lib/commonjs/components/Screen.js +58 -7
  37. package/lib/commonjs/components/Screen.js.map +1 -1
  38. package/lib/commonjs/components/ScreenContentWrapper.web.js +11 -0
  39. package/lib/commonjs/components/ScreenContentWrapper.web.js.map +1 -0
  40. package/lib/commonjs/components/ScreenFooter.web.js +11 -0
  41. package/lib/commonjs/components/ScreenFooter.web.js.map +1 -0
  42. package/lib/commonjs/components/ScreenStackHeaderConfig.js +53 -17
  43. package/lib/commonjs/components/ScreenStackHeaderConfig.js.map +1 -1
  44. package/lib/commonjs/components/helpers/usePrevious.js +15 -0
  45. package/lib/commonjs/components/helpers/usePrevious.js.map +1 -0
  46. package/lib/commonjs/fabric/ModalScreenNativeComponent.js.map +1 -1
  47. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  48. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +3 -1
  49. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  50. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +3 -1
  51. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  52. package/lib/commonjs/native-stack/views/NativeStackView.js +4 -10
  53. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  54. package/lib/module/components/Screen.js +58 -7
  55. package/lib/module/components/Screen.js.map +1 -1
  56. package/lib/module/components/ScreenContentWrapper.web.js +5 -0
  57. package/lib/module/components/ScreenContentWrapper.web.js.map +1 -0
  58. package/lib/module/components/ScreenFooter.web.js +5 -0
  59. package/lib/module/components/ScreenFooter.web.js.map +1 -0
  60. package/lib/module/components/ScreenStackHeaderConfig.js +50 -16
  61. package/lib/module/components/ScreenStackHeaderConfig.js.map +1 -1
  62. package/lib/module/components/helpers/usePrevious.js +9 -0
  63. package/lib/module/components/helpers/usePrevious.js.map +1 -0
  64. package/lib/module/fabric/ModalScreenNativeComponent.js.map +1 -1
  65. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  66. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +3 -1
  67. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  68. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +3 -1
  69. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  70. package/lib/module/native-stack/views/NativeStackView.js +4 -10
  71. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  72. package/lib/typescript/components/Screen.d.ts +5 -1
  73. package/lib/typescript/components/Screen.d.ts.map +1 -1
  74. package/lib/typescript/components/ScreenContentWrapper.web.d.ts +5 -0
  75. package/lib/typescript/components/ScreenContentWrapper.web.d.ts.map +1 -0
  76. package/lib/typescript/components/ScreenFooter.web.d.ts +5 -0
  77. package/lib/typescript/components/ScreenFooter.web.d.ts.map +1 -0
  78. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts +1 -1
  79. package/lib/typescript/components/ScreenStackHeaderConfig.d.ts.map +1 -1
  80. package/lib/typescript/components/helpers/usePrevious.d.ts +2 -0
  81. package/lib/typescript/components/helpers/usePrevious.d.ts.map +1 -0
  82. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts +1 -0
  83. package/lib/typescript/fabric/ModalScreenNativeComponent.d.ts.map +1 -1
  84. package/lib/typescript/fabric/ScreenNativeComponent.d.ts +1 -1
  85. package/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +1 -1
  86. package/lib/typescript/fabric/ScreenStackHeaderConfigNativeComponent.d.ts.map +1 -1
  87. package/lib/typescript/fabric/ScreenStackHeaderSubviewNativeComponent.d.ts.map +1 -1
  88. package/lib/typescript/native-stack/types.d.ts +2 -3
  89. package/lib/typescript/native-stack/types.d.ts.map +1 -1
  90. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
  91. package/lib/typescript/types.d.ts +26 -9
  92. package/lib/typescript/types.d.ts.map +1 -1
  93. package/native-stack/README.md +3 -2
  94. package/package.json +1 -1
  95. package/src/components/Screen.tsx +97 -12
  96. package/src/components/ScreenContentWrapper.web.tsx +6 -0
  97. package/src/components/ScreenFooter.web.tsx +6 -0
  98. package/src/components/ScreenStackHeaderConfig.tsx +59 -26
  99. package/src/components/helpers/usePrevious.tsx +11 -0
  100. package/src/fabric/ModalScreenNativeComponent.ts +1 -0
  101. package/src/fabric/ScreenNativeComponent.ts +0 -1
  102. package/src/fabric/ScreenStackHeaderConfigNativeComponent.ts +3 -1
  103. package/src/fabric/ScreenStackHeaderSubviewNativeComponent.ts +3 -1
  104. package/src/native-stack/types.tsx +2 -3
  105. package/src/native-stack/views/NativeStackView.tsx +4 -10
  106. package/src/types.tsx +29 -13
  107. package/windows/RNScreens/Screen.h +0 -1
@@ -8,6 +8,7 @@
8
8
  #import <react/renderer/components/rnscreens/EventEmitters.h>
9
9
  #import <react/renderer/components/rnscreens/Props.h>
10
10
  #import <react/renderer/components/rnscreens/RCTComponentViewHelpers.h>
11
+ #import <rnscreens/RNSScreenStackHeaderConfigComponentDescriptor.h>
11
12
  #import "RCTImageComponentView+RNSScreenStackHeaderConfig.h"
12
13
  #else
13
14
  #import <React/RCTImageView.h>
@@ -55,9 +56,12 @@ namespace react = facebook::react;
55
56
 
56
57
  @implementation RNSScreenStackHeaderConfig {
57
58
  NSMutableArray<RNSScreenStackHeaderSubview *> *_reactSubviews;
59
+ NSDirectionalEdgeInsets _lastHeaderInsets;
58
60
  #ifdef RCT_NEW_ARCH_ENABLED
59
61
  BOOL _initialPropsSet;
62
+ react::RNSScreenStackHeaderConfigShadowNode::ConcreteState::Shared _state;
60
63
  #else
64
+ __weak RCTBridge *_bridge;
61
65
  #endif
62
66
  }
63
67
 
@@ -89,6 +93,16 @@ namespace react = facebook::react;
89
93
  }
90
94
  return self;
91
95
  }
96
+
97
+ - (instancetype)initWithBridge:(RCTBridge *)bridge
98
+ {
99
+ if (self = [super init]) {
100
+ _bridge = bridge;
101
+ _translucent = YES;
102
+ [self initProps];
103
+ }
104
+ return self;
105
+ }
92
106
  #endif
93
107
 
94
108
  - (void)initProps
@@ -171,6 +185,51 @@ namespace react = facebook::react;
171
185
  [navctr.view setNeedsLayout];
172
186
  }
173
187
 
188
+ - (void)updateHeaderInsetsInShadowTreeTo:(NSDirectionalEdgeInsets)insets
189
+ {
190
+ if (_lastHeaderInsets.leading != insets.leading || _lastHeaderInsets.trailing != insets.trailing) {
191
+ #ifdef RCT_NEW_ARCH_ENABLED
192
+ auto newState = react::RNSScreenStackHeaderConfigState{insets.leading, insets.trailing};
193
+ _state->updateState(std::move(newState));
194
+ _lastHeaderInsets = std::move(insets);
195
+ #else
196
+ [_bridge.uiManager setLocalData:[[RNSHeaderConfigInsetsPayload alloc] initWithInsets:insets] forView:self];
197
+ _lastHeaderInsets = std::move(insets);
198
+ #endif // RCT_NEW_ARCH_ENABLED
199
+ }
200
+ }
201
+
202
+ - (BOOL)hasSubviewOfType:(RNSScreenStackHeaderSubviewType)type
203
+ {
204
+ for (RNSScreenStackHeaderSubview *subview in _reactSubviews) {
205
+ if (subview.type == type) {
206
+ return YES;
207
+ }
208
+ }
209
+
210
+ return NO;
211
+ }
212
+
213
+ - (BOOL)hasSubviewLeft
214
+ {
215
+ return [self hasSubviewOfType:RNSScreenStackHeaderSubviewTypeLeft];
216
+ }
217
+
218
+ - (BOOL)shouldHeaderBeVisible
219
+ {
220
+ #ifdef RCT_NEW_ARCH_ENABLED
221
+ return self.show;
222
+ #else
223
+ return !self.hide;
224
+ #endif // RCT_NEW_ARCH_ENABLED
225
+ }
226
+
227
+ - (BOOL)shouldBackButtonBeVisibleInNavigationBar:(nullable UINavigationBar *)navBar
228
+ {
229
+ return navBar.backItem != nil && !self.hideBackButton &&
230
+ !(self.backButtonInCustomView == false && self.hasSubviewLeft);
231
+ }
232
+
174
233
  + (void)setAnimatedConfig:(UIViewController *)vc withConfig:(RNSScreenStackHeaderConfig *)config
175
234
  {
176
235
  UINavigationBar *navbar = ((UINavigationController *)vc.parentViewController).navigationBar;
@@ -471,16 +530,20 @@ namespace react = facebook::react;
471
530
  UINavigationItem *navitem = vc.navigationItem;
472
531
  UINavigationController *navctr = (UINavigationController *)vc.parentViewController;
473
532
 
533
+ // When modal is shown the underlying RNSScreen isn't attached to any navigation controller.
534
+ // During the modal dismissal transition this update method is called on this RNSScreen resulting in nil navctr.
535
+ // After the transition is completed it will be called again and will configure the navigation controller correctly.
536
+ // Also see: https://github.com/software-mansion/react-native-screens/pull/2336
537
+ if (navctr == nil) {
538
+ return;
539
+ }
540
+
474
541
  NSUInteger currentIndex = [navctr.viewControllers indexOfObject:vc];
475
542
  UINavigationItem *prevItem =
476
543
  currentIndex > 0 ? [navctr.viewControllers objectAtIndex:currentIndex - 1].navigationItem : nil;
477
544
 
478
545
  BOOL wasHidden = navctr.navigationBarHidden;
479
- #ifdef RCT_NEW_ARCH_ENABLED
480
- BOOL shouldHide = config == nil || !config.show;
481
- #else
482
- BOOL shouldHide = config == nil || config.hide;
483
- #endif
546
+ BOOL shouldHide = config == nil || !config.shouldHeaderBeVisible;
484
547
 
485
548
  if (!shouldHide && !config.translucent) {
486
549
  // when nav bar is not translucent we chage edgesForExtendedLayout to avoid system laying out
@@ -681,9 +744,6 @@ namespace react = facebook::react;
681
744
  break;
682
745
  }
683
746
  }
684
- // We're forcing a re-layout when the subviews change,
685
- // see: https://github.com/software-mansion/react-native-screens/pull/2316
686
- [navctr.view layoutIfNeeded];
687
747
  }
688
748
 
689
749
  // This assignment should be done after `navitem.titleView = ...` assignment (iOS 16.0 bug).
@@ -763,12 +823,17 @@ namespace react = facebook::react;
763
823
 
764
824
  - (void)unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
765
825
  {
766
- // For explanation of why we can make a snapshot here despite the fact that our children are already
767
- // unmounted see https://github.com/software-mansion/react-native-screens/pull/2261
768
- [self replaceNavigationBarViewsWithSnapshotOfSubview:(RNSScreenStackHeaderSubview *)childComponentView];
826
+ BOOL isGoingToBeRemoved = _screenView.isMarkedForUnmountInCurrentTransaction;
827
+ if (isGoingToBeRemoved) {
828
+ // For explanation of why we can make a snapshot here despite the fact that our children are already
829
+ // unmounted see https://github.com/software-mansion/react-native-screens/pull/2261
830
+ [self replaceNavigationBarViewsWithSnapshotOfSubview:(RNSScreenStackHeaderSubview *)childComponentView];
831
+ }
769
832
  [_reactSubviews removeObject:(RNSScreenStackHeaderSubview *)childComponentView];
770
833
  [childComponentView removeFromSuperview];
771
- [self updateViewControllerIfNeeded];
834
+ if (!isGoingToBeRemoved) {
835
+ [self updateViewControllerIfNeeded];
836
+ }
772
837
  }
773
838
 
774
839
  - (void)replaceNavigationBarViewsWithSnapshotOfSubview:(RNSScreenStackHeaderSubview *)childComponentView
@@ -836,6 +901,7 @@ static RCTResizeMode resizeModeFromCppEquiv(react::ImageResizeMode resizeMode)
836
901
  {
837
902
  [super prepareForRecycle];
838
903
  _initialPropsSet = NO;
904
+ _lastHeaderInsets = NSDirectionalEdgeInsets{};
839
905
  }
840
906
 
841
907
  - (NSNumber *)getFontSizePropValue:(int)value
@@ -926,6 +992,12 @@ static RCTResizeMode resizeModeFromCppEquiv(react::ImageResizeMode resizeMode)
926
992
  [super updateProps:props oldProps:oldProps];
927
993
  }
928
994
 
995
+ - (void)updateState:(const facebook::react::State::Shared &)state
996
+ oldState:(const facebook::react::State::Shared &)oldState
997
+ {
998
+ _state = std::static_pointer_cast<const react::RNSScreenStackHeaderConfigShadowNode::ConcreteState>(state);
999
+ }
1000
+
929
1001
  #else
930
1002
  #pragma mark - Paper specific
931
1003
 
@@ -964,11 +1036,21 @@ Class<RCTComponentViewProtocol> RNSScreenStackHeaderConfigCls(void)
964
1036
 
965
1037
  RCT_EXPORT_MODULE()
966
1038
 
1039
+ #ifdef RCT_NEW_ARCH_ENABLED
1040
+ #else
1041
+
967
1042
  - (UIView *)view
968
1043
  {
969
- return [RNSScreenStackHeaderConfig new];
1044
+ return [[RNSScreenStackHeaderConfig alloc] initWithBridge:self.bridge];
1045
+ }
1046
+
1047
+ - (RCTShadowView *)shadowView
1048
+ {
1049
+ return [RNSScreenStackHeaderConfigShadowView new];
970
1050
  }
971
1051
 
1052
+ #endif // RCT_NEW_ARCH_ENABLED
1053
+
972
1054
  RCT_EXPORT_VIEW_PROPERTY(title, NSString)
973
1055
  RCT_EXPORT_VIEW_PROPERTY(titleFontFamily, NSString)
974
1056
  RCT_EXPORT_VIEW_PROPERTY(titleFontSize, NSNumber)
@@ -999,6 +1081,46 @@ RCT_EXPORT_VIEW_PROPERTY(translucent, BOOL)
999
1081
 
1000
1082
  @end
1001
1083
 
1084
+ #ifdef RCT_NEW_ARCH_ENABLED
1085
+ #else
1086
+
1087
+ @implementation RNSHeaderConfigInsetsPayload
1088
+
1089
+ - (instancetype)init
1090
+ {
1091
+ return [self initWithInsets:NSDirectionalEdgeInsets{}];
1092
+ }
1093
+
1094
+ - (instancetype)initWithInsets:(NSDirectionalEdgeInsets)insets
1095
+ {
1096
+ if (self = [super init]) {
1097
+ self.insets = insets;
1098
+ }
1099
+ return self;
1100
+ }
1101
+
1102
+ @end
1103
+
1104
+ @implementation RNSScreenStackHeaderConfigShadowView {
1105
+ }
1106
+
1107
+ - (void)setLocalData:(NSObject *)localData
1108
+ {
1109
+ if ([localData isKindOfClass:RNSHeaderConfigInsetsPayload.class]) {
1110
+ RNSHeaderConfigInsetsPayload *payload = (RNSHeaderConfigInsetsPayload *)localData;
1111
+ [self setPaddingStart:YGValue{.value = (float)payload.insets.leading, .unit = YGUnitPoint}];
1112
+ [self setPaddingEnd:YGValue{.value = (float)payload.insets.trailing, .unit = YGUnitPoint}];
1113
+
1114
+ // Trigger layout prop recomputation
1115
+ [self didSetProps:@[]];
1116
+ } else {
1117
+ [super setLocalData:localData];
1118
+ }
1119
+ }
1120
+
1121
+ @end
1122
+ #endif
1123
+
1002
1124
  @implementation RCTConvert (RNSScreenStackHeader)
1003
1125
 
1004
1126
  + (NSMutableDictionary *)blurEffectsForIOSVersion
@@ -1,5 +1,6 @@
1
1
  #import "RNSScreenStackHeaderSubview.h"
2
2
  #import "RNSConvert.h"
3
+ #import "RNSScreenStackHeaderConfig.h"
3
4
 
4
5
  #ifdef RCT_NEW_ARCH_ENABLED
5
6
  #import <react/renderer/components/rnscreens/ComponentDescriptors.h>
@@ -8,6 +9,8 @@
8
9
 
9
10
  #import <React/RCTConversions.h>
10
11
  #import <React/RCTFabricComponentsPlugins.h>
12
+
13
+ #import <rnscreens/RNSScreenStackHeaderSubviewComponentDescriptor.h>
11
14
  #endif // RCT_NEW_ARCH_ENABLED
12
15
 
13
16
  #ifdef RCT_NEW_ARCH_ENABLED
@@ -22,6 +25,27 @@ namespace react = facebook::react;
22
25
 
23
26
  #pragma mark - Common
24
27
 
28
+ - (nullable RNSScreenStackHeaderConfig *)getHeaderConfig
29
+ {
30
+ RNSScreenStackHeaderConfig *headerConfig = (RNSScreenStackHeaderConfig *_Nullable)self.reactSuperview;
31
+ #ifndef NDEBUG
32
+ if (headerConfig != nil && ![headerConfig isKindOfClass:[RNSScreenStackHeaderConfig class]]) {
33
+ RCTLogError(@"[RNScreens] Invalid view type, expecting RNSScreenStackHeaderConfig, got: %@", headerConfig);
34
+ return nil;
35
+ }
36
+ #endif
37
+ return headerConfig;
38
+ }
39
+
40
+ // We're forcing the navigation controller's view to re-layout
41
+ // see: https://github.com/software-mansion/react-native-screens/pull/2385
42
+ - (void)layoutNavigationBarIfNeeded
43
+ {
44
+ RNSScreenStackHeaderConfig *headerConfig = [self getHeaderConfig];
45
+ UINavigationController *navctr = headerConfig.screenView.reactViewController.navigationController;
46
+ [navctr.navigationBar layoutIfNeeded];
47
+ }
48
+
25
49
  #ifdef RCT_NEW_ARCH_ENABLED
26
50
 
27
51
  #pragma mark - Fabric specific
@@ -78,6 +102,7 @@ namespace react = facebook::react;
78
102
  self);
79
103
  } else {
80
104
  self.bounds = CGRect{CGPointZero, frame.size};
105
+ [self layoutNavigationBarIfNeeded];
81
106
  }
82
107
  }
83
108
 
@@ -102,6 +127,7 @@ namespace react = facebook::react;
102
127
  // Block any attempt to set coordinates on RNSScreenStackHeaderSubview. This
103
128
  // makes UINavigationBar the only one to control the position of header content.
104
129
  [super reactSetFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
130
+ [self layoutNavigationBarIfNeeded];
105
131
  }
106
132
 
107
133
  #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,37 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ NS_ASSUME_NONNULL_BEGIN
4
+
5
+ @interface UINavigationBar (RNSUtility)
6
+
7
+ /**
8
+ * Aims to find main content view of the `UINavigationBar`.
9
+ *
10
+ * This method relies on internal iOS implementation details (see the implementation)
11
+ * and might need patches specific to future iOS versions, in case the view hierarchy inside
12
+ * the navigation bar changes.
13
+ *
14
+ * Tested to work reliably on iOS 18.0, 17.5, 15.5.
15
+ *
16
+ * @returns `_UINavigationBarContentView` view mounted directly under the navigation bar itself
17
+ */
18
+ - (nullable UIView *)rnscreens_findContentView;
19
+
20
+ /**
21
+ * Aims to find the back button wrapper view of the `UINavigationBar`. This is the view that contains
22
+ * the back button itself alongside all the margin / padding used to position the back button by the system.
23
+ *
24
+ * This method relies on internal iOS implementation details (see the implementation)
25
+ * and might need patches specific to future iOS versions, in case the view hierarchy inside
26
+ * the navigation bar changes.
27
+ *
28
+ * Tested to work reliably on iOS 18.0, 17.5, 15.5.
29
+ *
30
+ * @returns `_UIButtonBarButton` view, if present and mounted in anticipated place;
31
+ * if the back button is not present, this method returns `nil`.
32
+ */
33
+ - (nullable UIView *)rnscreens_findBackButtonWrapperView;
34
+
35
+ @end
36
+
37
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,44 @@
1
+ #import "UINavigationBar+RNSUtility.h"
2
+
3
+ @implementation UINavigationBar (RNSUtility)
4
+
5
+ - (nullable UIView *)rnscreens_findContentView
6
+ {
7
+ // Class names taken from iOS 17.5, tested on iPhone 15 Pro
8
+ static Class ContentViewClass = NSClassFromString(@"_UINavigationBarContentView");
9
+
10
+ // Fast path
11
+ if (self.subviews.count > 1 && [self.subviews[1] isKindOfClass:ContentViewClass]) {
12
+ return self.subviews[1];
13
+ }
14
+
15
+ for (UIView *subview in self.subviews) {
16
+ if ([subview isKindOfClass:ContentViewClass]) {
17
+ return subview;
18
+ }
19
+ }
20
+
21
+ return nil;
22
+ }
23
+
24
+ - (nullable UIView *)rnscreens_findBackButtonWrapperView
25
+ {
26
+ // Class names taken from iOS 17.5, tested on iPhone 15 Pro
27
+ static Class BarButtonViewClass = NSClassFromString(@"_UIButtonBarButton");
28
+
29
+ UIView *contentView = self.rnscreens_findContentView;
30
+
31
+ if (contentView == nil) {
32
+ return nil;
33
+ }
34
+
35
+ for (UIView *subview in contentView.subviews) {
36
+ if ([subview isKindOfClass:BarButtonViewClass]) {
37
+ return subview;
38
+ }
39
+ }
40
+
41
+ return nil;
42
+ }
43
+
44
+ @end
@@ -35,7 +35,6 @@
35
35
  }
36
36
 
37
37
  #else
38
-
39
38
  // On Paper we can access touchHandler hosted by `RCTRootContentView` which should be above ScreenStack
40
39
  // in view hierarchy.
41
40
  while (parent != nil && ![parent respondsToSelector:@selector(touchHandler)]) {
@@ -12,6 +12,7 @@ var _DelayedFreeze = _interopRequireDefault(require("./helpers/DelayedFreeze"));
12
12
  var _core = require("../core");
13
13
  var _ScreenNativeComponent = _interopRequireDefault(require("../fabric/ScreenNativeComponent"));
14
14
  var _ModalScreenNativeComponent = _interopRequireDefault(require("../fabric/ModalScreenNativeComponent"));
15
+ var _usePrevious = require("./helpers/usePrevious");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } // Native components
17
18
  const NativeScreen = exports.NativeScreen = _ScreenNativeComponent.default;
@@ -28,10 +29,27 @@ const SHEET_COMPAT_ALL = [0.5, 1.0];
28
29
  const SHEET_DIMMED_ALWAYS = -1;
29
30
  // const SHEET_DIMMED_NEVER = 9999;
30
31
 
32
+ function assertDetentsArrayIsSorted(array) {
33
+ for (let i = 1; i < array.length; i++) {
34
+ if (array[i - 1] > array[i]) {
35
+ throw new Error('[RNScreens] The detent array is not sorted in ascending order!');
36
+ }
37
+ }
38
+ }
39
+
31
40
  // These exist to transform old 'legacy' values used by the formsheet API to the new API shape.
32
41
  // We can get rid of it, once we get rid of support for legacy values: 'large', 'medium', 'all'.
33
42
  function resolveSheetAllowedDetents(allowedDetentsCompat) {
34
43
  if (Array.isArray(allowedDetentsCompat)) {
44
+ if (_reactNative.Platform.OS === 'android' && allowedDetentsCompat.length > 3) {
45
+ if (__DEV__) {
46
+ console.warn('[RNScreens] Sheets API on Android do accept only up to 3 values. Any surplus value are ignored.');
47
+ }
48
+ allowedDetentsCompat = allowedDetentsCompat.slice(0, 3);
49
+ }
50
+ if (__DEV__) {
51
+ assertDetentsArrayIsSorted(allowedDetentsCompat);
52
+ }
35
53
  return allowedDetentsCompat;
36
54
  } else if (allowedDetentsCompat === 'fitToContents') {
37
55
  return SHEET_FIT_TO_CONTENTS;
@@ -46,11 +64,18 @@ function resolveSheetAllowedDetents(allowedDetentsCompat) {
46
64
  return [1.0];
47
65
  }
48
66
  }
49
- function resolveSheetLargestUndimmedDetent(lud, largestDetentIndex) {
67
+ function resolveSheetLargestUndimmedDetent(lud, lastDetentIndex) {
50
68
  if (typeof lud === 'number') {
69
+ if (!isIndexInClosedRange(lud, SHEET_DIMMED_ALWAYS, lastDetentIndex)) {
70
+ if (__DEV__) {
71
+ throw new Error("[RNScreens] Provided value of 'sheetLargestUndimmedDetentIndex' prop is out of bounds of 'sheetAllowedDetents' array.");
72
+ }
73
+ // Return default in production
74
+ return SHEET_DIMMED_ALWAYS;
75
+ }
51
76
  return lud;
52
- } else if (lud === 'largest') {
53
- return largestDetentIndex;
77
+ } else if (lud === 'last') {
78
+ return lastDetentIndex;
54
79
  } else if (lud === 'none' || lud === 'all') {
55
80
  return SHEET_DIMMED_ALWAYS;
56
81
  } else if (lud === 'large') {
@@ -62,9 +87,29 @@ function resolveSheetLargestUndimmedDetent(lud, largestDetentIndex) {
62
87
  return SHEET_DIMMED_ALWAYS;
63
88
  }
64
89
  }
90
+ function resolveSheetInitialDetentIndex(index, lastDetentIndex) {
91
+ if (index === 'last') {
92
+ index = lastDetentIndex;
93
+ } else if (index == null) {
94
+ // Intentional check for undefined & null ^
95
+ index = 0;
96
+ }
97
+ if (!isIndexInClosedRange(index, 0, lastDetentIndex)) {
98
+ if (__DEV__) {
99
+ throw new Error("[RNScreens] Provided value of 'sheetInitialDetentIndex' prop is out of bounds of 'sheetAllowedDetents' array.");
100
+ }
101
+ // Return default in production
102
+ return 0;
103
+ }
104
+ return index;
105
+ }
106
+ function isIndexInClosedRange(value, lowerBound, upperBound) {
107
+ return Number.isInteger(value) && value >= lowerBound && value <= upperBound;
108
+ }
65
109
  const InnerScreen = exports.InnerScreen = /*#__PURE__*/_react.default.forwardRef(function InnerScreen(props, ref) {
66
110
  const innerRef = _react.default.useRef(null);
67
111
  _react.default.useImperativeHandle(ref, () => innerRef.current, []);
112
+ const prevActivityState = (0, _usePrevious.usePrevious)(props.activityState);
68
113
  const setRef = ref => {
69
114
  innerRef.current = ref;
70
115
  props.onComponentRef?.(ref);
@@ -83,18 +128,19 @@ const InnerScreen = exports.InnerScreen = /*#__PURE__*/_react.default.forwardRef
83
128
  const {
84
129
  // formSheet presentation related props
85
130
  sheetAllowedDetents = [1.0],
86
- sheetLargestUndimmedDetent = SHEET_DIMMED_ALWAYS,
131
+ sheetLargestUndimmedDetentIndex = SHEET_DIMMED_ALWAYS,
87
132
  sheetGrabberVisible = false,
88
133
  sheetCornerRadius = -1.0,
89
134
  sheetExpandsWhenScrolledToEdge = true,
90
135
  sheetElevation = 24,
91
- sheetInitialDetent = 0,
136
+ sheetInitialDetentIndex = 0,
92
137
  // Other
93
138
  stackPresentation
94
139
  } = rest;
95
140
  if (enabled && _core.isNativePlatformSupported) {
96
141
  const resolvedSheetAllowedDetents = resolveSheetAllowedDetents(sheetAllowedDetents);
97
- const resolvedSheetLargestUndimmedDetent = resolveSheetLargestUndimmedDetent(sheetLargestUndimmedDetent, resolvedSheetAllowedDetents.length - 1);
142
+ const resolvedSheetLargestUndimmedDetent = resolveSheetLargestUndimmedDetent(sheetLargestUndimmedDetentIndex, resolvedSheetAllowedDetents.length - 1);
143
+ const resolvedSheetInitialDetentIndex = resolveSheetInitialDetentIndex(sheetInitialDetentIndex, resolvedSheetAllowedDetents.length - 1);
98
144
  // Due to how Yoga resolves layout, we need to have different components for modal nad non-modal screens
99
145
  const AnimatedScreen = _reactNative.Platform.OS === 'android' || stackPresentation === undefined || stackPresentation === 'push' || stackPresentation === 'containedModal' || stackPresentation === 'containedTransparentModal' ? AnimatedNativeScreen : AnimatedNativeModalScreen;
100
146
  let {
@@ -115,6 +161,11 @@ const InnerScreen = exports.InnerScreen = /*#__PURE__*/_react.default.forwardRef
115
161
  activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition
116
162
  }
117
163
 
164
+ if (isNativeStack && prevActivityState !== undefined && activityState !== undefined) {
165
+ if (prevActivityState > activityState) {
166
+ throw new Error('[RNScreens] activityState cannot be decreased in NativeStack');
167
+ }
168
+ }
118
169
  const handleRef = ref => {
119
170
  if (ref?.viewConfig?.validAttributes?.style) {
120
171
  ref.viewConfig.validAttributes.style = {
@@ -147,7 +198,7 @@ const InnerScreen = exports.InnerScreen = /*#__PURE__*/_react.default.forwardRef
147
198
  sheetGrabberVisible: sheetGrabberVisible,
148
199
  sheetCornerRadius: sheetCornerRadius,
149
200
  sheetExpandsWhenScrolledToEdge: sheetExpandsWhenScrolledToEdge,
150
- sheetInitialDetent: sheetInitialDetent,
201
+ sheetInitialDetent: resolvedSheetInitialDetentIndex,
151
202
  gestureResponseDistance: {
152
203
  start: gestureResponseDistance?.start ?? -1,
153
204
  end: gestureResponseDistance?.end ?? -1,
@@ -1 +1 @@
1
- {"version":3,"names":["Object","defineProperty","exports","value","default","ScreenContext","NativeScreen","InnerScreen","_react","_interopRequireDefault","require","_reactNative","_TransitionProgressContext","_DelayedFreeze","_core","_ScreenNativeComponent","_ModalScreenNativeComponent","obj","__esModule","_extends","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ScreenNativeComponent","AnimatedNativeScreen","Animated","createAnimatedComponent","AnimatedNativeModalScreen","ModalScreenNativeComponent","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","resolveSheetAllowedDetents","allowedDetentsCompat","Array","isArray","resolveSheetLargestUndimmedDetent","lud","largestDetentIndex","React","forwardRef","props","ref","innerRef","useRef","useImperativeHandle","current","setRef","onComponentRef","closing","Value","progress","goingForward","enabled","screensEnabled","freezeOnBlur","freezeEnabled","rest","sheetAllowedDetents","sheetLargestUndimmedDetent","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","sheetElevation","sheetInitialDetent","stackPresentation","isNativePlatformSupported","resolvedSheetAllowedDetents","resolvedSheetLargestUndimmedDetent","AnimatedScreen","Platform","OS","undefined","active","activityState","children","isNativeStack","gestureResponseDistance","onGestureCancel","style","console","warn","handleRef","viewConfig","validAttributes","display","_viewConfig","createElement","freeze","zIndex","start","end","top","bottom","onTransitionProgress","event","nativeEvent","useNativeDriver","Provider","View","createContext","Screen","ScreenWrapper","useContext","_default"],"sourceRoot":"../../../src","sources":["components/Screen.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","default","ScreenContext","NativeScreen","InnerScreen","_react","_interopRequireDefault","require","_reactNative","_TransitionProgressContext","_DelayedFreeze","_core","_ScreenNativeComponent","_ModalScreenNativeComponent","_usePrevious","obj","__esModule","_extends","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ScreenNativeComponent","AnimatedNativeScreen","Animated","createAnimatedComponent","AnimatedNativeModalScreen","ModalScreenNativeComponent","SHEET_FIT_TO_CONTENTS","SHEET_COMPAT_LARGE","SHEET_COMPAT_MEDIUM","SHEET_COMPAT_ALL","SHEET_DIMMED_ALWAYS","assertDetentsArrayIsSorted","array","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","rest","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetExpandsWhenScrolledToEdge","sheetElevation","sheetInitialDetentIndex","stackPresentation","isNativePlatformSupported","resolvedSheetAllowedDetents","resolvedSheetLargestUndimmedDetent","resolvedSheetInitialDetentIndex","AnimatedScreen","undefined","active","children","isNativeStack","gestureResponseDistance","onGestureCancel","style","handleRef","viewConfig","validAttributes","display","_viewConfig","createElement","freeze","zIndex","sheetLargestUndimmedDetent","sheetInitialDetent","start","end","top","bottom","onTransitionProgress","event","nativeEvent","useNativeDriver","Provider","View","createContext","Screen","ScreenWrapper","useContext","_default"],"sourceRoot":"../../../src","sources":["components/Screen.tsx"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.NativeScreenContentWrapper = void 0;
7
+ var _reactNative = require("react-native");
8
+ const NativeScreenContentWrapper = exports.NativeScreenContentWrapper = _reactNative.View;
9
+ const ScreenContentWrapper = _reactNative.View;
10
+ var _default = exports.default = ScreenContentWrapper;
11
+ //# sourceMappingURL=ScreenContentWrapper.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","NativeScreenContentWrapper","exports","View","ScreenContentWrapper","_default","default"],"sourceRoot":"../../../src","sources":["components/ScreenContentWrapper.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAGE,iBAAI;AAE9C,MAAMC,oBAAoB,GAAGD,iBAAI;AAAC,IAAAE,QAAA,GAAAH,OAAA,CAAAI,OAAA,GACnBF,oBAAoB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.NativeScreenFooter = void 0;
7
+ var _reactNative = require("react-native");
8
+ const NativeScreenFooter = exports.NativeScreenFooter = _reactNative.View;
9
+ const ScreenFooter = _reactNative.View;
10
+ var _default = exports.default = ScreenFooter;
11
+ //# sourceMappingURL=ScreenFooter.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","NativeScreenFooter","exports","View","ScreenFooter","_default","default"],"sourceRoot":"../../../src","sources":["components/ScreenFooter.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGE,iBAAI;AAEtC,MAAMC,YAAY,GAAGD,iBAAI;AAAC,IAAAE,QAAA,GAAAH,OAAA,CAAAI,OAAA,GACXF,YAAY"}