react-native-navigation 7.25.0 → 7.25.1

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.
@@ -4,11 +4,11 @@
4
4
  #import "RNNComponentViewCreator.h"
5
5
  #import "RNNEventEmitter.h"
6
6
  #import "RNNLayoutManager.h"
7
+ #import "RNNModalHostViewManagerHandler.h"
7
8
  #import "RNNReactComponentRegistry.h"
8
9
  #import "RNNReactRootViewCreator.h"
9
10
  #import "RNNSplashScreen.h"
10
11
  #import <React/RCTBridge.h>
11
- #import <React/RCTModalHostViewManager.h>
12
12
  #import <React/RCTUIManager.h>
13
13
 
14
14
  @interface RNNBridgeManager ()
@@ -19,6 +19,7 @@
19
19
  @property(nonatomic, strong, readonly) RNNLayoutManager *layoutManager;
20
20
  @property(nonatomic, strong, readonly) RNNOverlayManager *overlayManager;
21
21
  @property(nonatomic, strong, readonly) RNNModalManager *modalManager;
22
+ @property(nonatomic, strong, readonly) RNNModalHostViewManagerHandler *modalHostViewHandler;
22
23
 
23
24
  @end
24
25
 
@@ -66,7 +67,8 @@
66
67
  [[RNNModalManagerEventHandler alloc] initWithEventEmitter:eventEmitter];
67
68
  _modalManager = [[RNNModalManager alloc] initWithBridge:bridge
68
69
  eventHandler:modalManagerEventHandler];
69
-
70
+ _modalHostViewHandler =
71
+ [[RNNModalHostViewManagerHandler alloc] initWithModalManager:_modalManager];
70
72
  _layoutManager = [[RNNLayoutManager alloc] init];
71
73
 
72
74
  id<RNNComponentViewCreator> rootViewCreator =
@@ -105,7 +107,7 @@
105
107
 
106
108
  - (void)onJavaScriptLoaded {
107
109
  [_commandsHandler setReadyToReceiveCommands:true];
108
- [_modalManager
110
+ [_modalHostViewHandler
109
111
  connectModalHostViewManager:[self.bridge moduleForClass:RCTModalHostViewManager.class]];
110
112
  [[_bridge moduleForClass:[RNNEventEmitter class]] sendOnAppLaunched];
111
113
  }
@@ -0,0 +1,11 @@
1
+ #import "RNNModalManager.h"
2
+ #import <Foundation/Foundation.h>
3
+ #import <React/RCTModalHostViewManager.h>
4
+
5
+ @interface RNNModalHostViewManagerHandler : NSObject
6
+
7
+ - (instancetype)initWithModalManager:(RNNModalManager *)modalManager;
8
+
9
+ - (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager;
10
+
11
+ @end
@@ -0,0 +1,40 @@
1
+ #import "RNNModalHostViewManagerHandler.h"
2
+
3
+ @implementation RNNModalHostViewManagerHandler {
4
+ RNNModalManager *_modalManager;
5
+ }
6
+
7
+ - (instancetype)initWithModalManager:(RNNModalManager *)modalManager {
8
+ self = [super init];
9
+ _modalManager = modalManager;
10
+ return self;
11
+ }
12
+
13
+ - (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager {
14
+ modalHostViewManager.presentationBlock =
15
+ ^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
16
+ dispatch_block_t completionBlock) {
17
+ if (reactViewController.presentedViewController != viewController &&
18
+ [self->_modalManager topPresentedVC] != viewController) {
19
+ [self->_modalManager showModal:viewController
20
+ animated:animated
21
+ completion:^(NSString *_Nonnull componentId) {
22
+ if (completionBlock)
23
+ completionBlock();
24
+ }];
25
+ }
26
+ };
27
+
28
+ modalHostViewManager.dismissalBlock =
29
+ ^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
30
+ dispatch_block_t completionBlock) {
31
+ [self->_modalManager dismissModal:viewController
32
+ animated:animated
33
+ completion:^{
34
+ if (completionBlock)
35
+ completionBlock();
36
+ }];
37
+ };
38
+ }
39
+
40
+ @end
@@ -1,7 +1,6 @@
1
1
  #import "RNNModalManagerEventHandler.h"
2
2
  #import <Foundation/Foundation.h>
3
3
  #import <React/RCTBridge.h>
4
- #import <React/RCTModalHostViewManager.h>
5
4
  #import <UIKit/UIKit.h>
6
5
 
7
6
  typedef void (^RNNTransitionCompletionBlock)(void);
@@ -13,7 +12,6 @@ typedef void (^RNNTransitionRejectionBlock)(NSString *_Nonnull code, NSString *_
13
12
 
14
13
  - (instancetype _Nonnull)initWithBridge:(RCTBridge *_Nonnull)bridge
15
14
  eventHandler:(RNNModalManagerEventHandler *_Nonnull)eventHandler;
16
- - (void)connectModalHostViewManager:(RCTModalHostViewManager *_Nonnull)modalHostViewManager;
17
15
 
18
16
  - (void)showModal:(UIViewController *_Nonnull)viewController
19
17
  animated:(BOOL)animated
@@ -25,4 +23,6 @@ typedef void (^RNNTransitionRejectionBlock)(NSString *_Nonnull code, NSString *_
25
23
 
26
24
  - (void)reset;
27
25
 
26
+ - (UIViewController *)topPresentedVC;
27
+
28
28
  @end
@@ -32,32 +32,6 @@
32
32
  return self;
33
33
  }
34
34
 
35
- - (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager {
36
- modalHostViewManager.presentationBlock =
37
- ^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
38
- dispatch_block_t completionBlock) {
39
- if (reactViewController.presentedViewController != viewController) {
40
- [self showModal:viewController
41
- animated:animated
42
- completion:^(NSString *_Nonnull componentId) {
43
- if (completionBlock)
44
- completionBlock();
45
- }];
46
- }
47
- };
48
-
49
- modalHostViewManager.dismissalBlock =
50
- ^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
51
- dispatch_block_t completionBlock) {
52
- [self dismissModal:viewController
53
- animated:animated
54
- completion:^{
55
- if (completionBlock)
56
- completionBlock();
57
- }];
58
- };
59
- }
60
-
61
35
  - (void)showModal:(UIViewController<RNNLayoutProtocol> *)viewController
62
36
  animated:(BOOL)animated
63
37
  completion:(RNNTransitionWithComponentIdCompletionBlock)completion {
@@ -51,6 +51,8 @@
51
51
  4534E72620CB6724009F8185 /* RNNLargeTitleOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4534E72420CB6724009F8185 /* RNNLargeTitleOptions.m */; };
52
52
  500623A525B7003A0086AB39 /* RNNShadowOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 500623A325B7003A0086AB39 /* RNNShadowOptions.h */; };
53
53
  500623A625B7003A0086AB39 /* RNNShadowOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 500623A425B7003A0086AB39 /* RNNShadowOptions.m */; };
54
+ 5006E12C27974B8900D106A6 /* RNNModalHostViewManagerHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5006E12A27974B8900D106A6 /* RNNModalHostViewManagerHandler.h */; };
55
+ 5006E12D27974B8900D106A6 /* RNNModalHostViewManagerHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5006E12B27974B8900D106A6 /* RNNModalHostViewManagerHandler.m */; };
54
56
  5008641223856A2D00A55BE9 /* UITabBar+utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 5008641023856A2C00A55BE9 /* UITabBar+utils.m */; };
55
57
  501214C9217741A000435148 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 501214C8217741A000435148 /* libOCMock.a */; };
56
58
  501223D72173590F000F5F98 /* RNNStackPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 501223D52173590F000F5F98 /* RNNStackPresenter.h */; };
@@ -580,6 +582,8 @@
580
582
  4534E72420CB6724009F8185 /* RNNLargeTitleOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNNLargeTitleOptions.m; sourceTree = "<group>"; };
581
583
  500623A325B7003A0086AB39 /* RNNShadowOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNShadowOptions.h; sourceTree = "<group>"; };
582
584
  500623A425B7003A0086AB39 /* RNNShadowOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNShadowOptions.m; sourceTree = "<group>"; };
585
+ 5006E12A27974B8900D106A6 /* RNNModalHostViewManagerHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNModalHostViewManagerHandler.h; sourceTree = "<group>"; };
586
+ 5006E12B27974B8900D106A6 /* RNNModalHostViewManagerHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNModalHostViewManagerHandler.m; sourceTree = "<group>"; };
583
587
  5008641023856A2C00A55BE9 /* UITabBar+utils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UITabBar+utils.m"; sourceTree = "<group>"; };
584
588
  5008641123856A2D00A55BE9 /* UITabBar+utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UITabBar+utils.h"; sourceTree = "<group>"; };
585
589
  501214C8217741A000435148 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = "<group>"; };
@@ -1092,6 +1096,8 @@
1092
1096
  390AD476200F499D00A8250D /* RNNSwizzles.m */,
1093
1097
  506A2B1220973DFD00F43A95 /* RNNErrorHandler.h */,
1094
1098
  506A2B1320973DFD00F43A95 /* RNNErrorHandler.m */,
1099
+ 5006E12A27974B8900D106A6 /* RNNModalHostViewManagerHandler.h */,
1100
+ 5006E12B27974B8900D106A6 /* RNNModalHostViewManagerHandler.m */,
1095
1101
  50644A1E20E11A720026709C /* Constants.h */,
1096
1102
  50644A1F20E11A720026709C /* Constants.m */,
1097
1103
  50706E6B20CE7CA5003345C3 /* UIImage+utils.h */,
@@ -1818,6 +1824,7 @@
1818
1824
  files = (
1819
1825
  506BF6622600AE7600A22755 /* BoundsTransition.h in Headers */,
1820
1826
  91CB34C9250ED50C000C132B /* RNNSearchBarOptions.h in Headers */,
1827
+ 5006E12C27974B8900D106A6 /* RNNModalHostViewManagerHandler.h in Headers */,
1821
1828
  5060DE73219DAD7E00D0C052 /* ReactNativeNavigation.h in Headers */,
1822
1829
  506BF7CE26067B0500A22755 /* AnimatedUIImageView.h in Headers */,
1823
1830
  5022EDBD2405237100852BA6 /* BottomTabPresenterCreator.h in Headers */,
@@ -2337,6 +2344,7 @@
2337
2344
  5017D9EF239D2FAF00B74047 /* BottomTabsAfterInitialTabAttacher.m in Sources */,
2338
2345
  5008641223856A2D00A55BE9 /* UITabBar+utils.m in Sources */,
2339
2346
  9FDA2ABE24F2A42C005678CC /* RCTConvert+UIFontWeight.m in Sources */,
2347
+ 5006E12D27974B8900D106A6 /* RNNModalHostViewManagerHandler.m in Sources */,
2340
2348
  9FDA2AC024F2A43B005678CC /* RCTConvert+SideMenuOpenGestureMode.m in Sources */,
2341
2349
  50BCB27223F1650800D6C8E5 /* SharedElementTransition.m in Sources */,
2342
2350
  E5F6C3A822DB4D0F0093C2CE /* UIView+Utils.m in Sources */,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-navigation",
3
- "version": "7.25.0",
3
+ "version": "7.25.1",
4
4
  "description": "React Native Navigation - truly native navigation for iOS and Android",
5
5
  "license": "MIT",
6
6
  "nativePackage": true,