Instantly share code, notes, and snippets.
Last active
February 18, 2019 15:35
-
Star
(0)
0
You must be signed in to star a gist -
Fork
(0)
0
You must be signed in to fork a gist
-
Save Jyrno42/d2252c271eea3e5fd1fd1d01558a0ee6 to your computer and use it in GitHub Desktop.
react-native-navigation and DeckTransitions (via patch-package)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java | |
index 704b18c..c227381 100644 | |
--- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java | |
+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java | |
@@ -39,6 +39,12 @@ public class AnimationOptions { | |
case "waitForRender": | |
options.waitForRender = BoolParser.parse(json, key); | |
break; | |
+ case "enableDeck": | |
+ case "enableDeckSwipeToDismiss": | |
+ case "deckPresentDuration": | |
+ case "deckDismissDuration": | |
+ // Deck transitions are currently only supported on IOS | |
+ break; | |
default: | |
options.valueOptions.add(ValueAnimationOptions.parse(json.optJSONObject(key), getAnimProp(key))); | |
} | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m b/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m | |
index 05c46a5..97f7510 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m | |
@@ -8,6 +8,15 @@ | |
#import "RNNDefaultOptionsHelper.h" | |
#import "UIViewController+RNNOptions.h" | |
+// See: https://github.com/CocoaPods/CocoaPods/issues/7594 | |
+#if __has_include("DeckTransition-Swift.h") | |
+ #define HAS_DECK_TRANSITION | |
+ #import "DeckTransition-Swift.h" | |
+#elif __has_include("DeckTransition/DeckTransition-Swift.h") | |
+ #define HAS_DECK_TRANSITION | |
+ #import <DeckTransition/DeckTransition-Swift.h> | |
+#endif | |
+ | |
static NSString* const setRoot = @"setRoot"; | |
static NSString* const setStackRoot = @"setStackRoot"; | |
static NSString* const push = @"push"; | |
@@ -235,7 +244,33 @@ - (void)showModal:(NSDictionary*)layout completion:(RNNTransitionWithComponentId | |
UIViewController<RNNParentProtocol> *newVc = [_controllerFactory createLayout:layout]; | |
[newVc renderTreeAndWait:[newVc.resolveOptions.animations.showModal.waitForRender getWithDefaultValue:NO] perform:^{ | |
- [_modalManager showModal:newVc animated:[newVc.getCurrentChild.resolveOptions.animations.showModal.enable getWithDefaultValue:YES] hasCustomAnimation:newVc.getCurrentChild.resolveOptions.animations.showModal.hasCustomAnimation completion:^(NSString *componentId) { | |
+ id transitioningDelegate; | |
+ | |
+ if ([newVc.resolveOptions.animations.showModal.enableDeck getWithDefaultValue:NO]) { | |
+#ifdef HAS_DECK_TRANSITION | |
+ transitioningDelegate = [[DeckTransitioningDelegate alloc] | |
+ initWithIsSwipeToDismissEnabled:[newVc.resolveOptions.animations.showModal.enableDeckSwipeToDismiss getWithDefaultValue:YES] | |
+ presentDuration:[NSNumber numberWithDouble:[newVc.resolveOptions.animations.showModal.deckPresentDuration getWithDefaultValue:0.3]] | |
+ presentAnimation:nil | |
+ presentCompletion:nil | |
+ dismissDuration:[NSNumber numberWithDouble:[newVc.resolveOptions.animations.showModal.deckDismissDuration getWithDefaultValue:0.3]] | |
+ dismissAnimation:nil | |
+ dismissCompletion:nil | |
+ ]; | |
+#else | |
+ // TODO: Write installation instructions | |
+ [[NSException exceptionWithName:@"DeckTransitionNotIncludedError" | |
+ reason:@"DeckTransition has not been included! Refer to installation instructions on how to add it." | |
+ userInfo:nil] | |
+ raise]; | |
+#endif | |
+ } | |
+ | |
+ [_modalManager showModal:newVc | |
+ animated:[newVc.getCurrentChild.resolveOptions.animations.showModal.enable getWithDefaultValue:YES] | |
+ hasCustomAnimation:newVc.getCurrentChild.resolveOptions.animations.showModal.hasCustomAnimation | |
+ transitioningDelegate:transitioningDelegate | |
+ completion:^(NSString *componentId) { | |
[_eventEmitter sendOnNavigationCommandCompletion:showModal params:@{@"layout": layout}]; | |
completion(componentId); | |
}]; | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNModalManager.h b/node_modules/react-native-navigation/lib/ios/RNNModalManager.h | |
index 04f9245..a7b9c1e 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNModalManager.h | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNModalManager.h | |
@@ -14,7 +14,7 @@ | |
@property (nonatomic, weak) id<RNNModalManagerDelegate> delegate; | |
- (void)showModal:(UIViewController *)viewController animated:(BOOL)animated completion:(RNNTransitionWithComponentIdCompletionBlock)completion; | |
-- (void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation completion:(RNNTransitionWithComponentIdCompletionBlock)completion; | |
+- (void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation transitioningDelegate:(id)transitioningDelegate completion:(RNNTransitionWithComponentIdCompletionBlock)completion; | |
- (void)dismissModal:(UIViewController *)viewController completion:(RNNTransitionCompletionBlock)completion; | |
- (void)dismissAllModalsAnimated:(BOOL)animated; | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNModalManager.m b/node_modules/react-native-navigation/lib/ios/RNNModalManager.m | |
index 947cdb3..85a8485 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNModalManager.m | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNModalManager.m | |
@@ -16,10 +16,10 @@ -(instancetype)init { | |
} | |
-(void)showModal:(UIViewController *)viewController animated:(BOOL)animated completion:(RNNTransitionWithComponentIdCompletionBlock)completion { | |
- [self showModal:viewController animated:animated hasCustomAnimation:NO completion:completion]; | |
+ [self showModal:viewController animated:animated hasCustomAnimation:NO transitioningDelegate:nil completion:completion]; | |
} | |
--(void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation completion:(RNNTransitionWithComponentIdCompletionBlock)completion { | |
+-(void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation transitioningDelegate:(id)transitioningDelegate completion:(RNNTransitionWithComponentIdCompletionBlock)completion { | |
if (!viewController) { | |
@throw [NSException exceptionWithName:@"ShowUnknownModal" reason:@"showModal called with nil viewController" userInfo:nil]; | |
} | |
@@ -27,7 +27,10 @@ -(void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasC | |
UIViewController* topVC = [self topPresentedVC]; | |
topVC.definesPresentationContext = YES; | |
- if (hasCustomAnimation) { | |
+ if (transitioningDelegate) { | |
+ viewController.transitioningDelegate = transitioningDelegate; | |
+ viewController.modalPresentationStyle = UIModalPresentationCustom; | |
+ } else if (hasCustomAnimation) { | |
viewController.transitioningDelegate = (UIViewController<UIViewControllerTransitioningDelegate>*)topVC; | |
} | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h | |
index 0e2b408..75dc408 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h | |
@@ -10,6 +10,11 @@ | |
@property (nonatomic, strong) Bool* enable; | |
@property (nonatomic, strong) Bool* waitForRender; | |
+@property (nonatomic, strong) Bool* enableDeck; | |
+@property (nonatomic, strong) Bool* enableDeckSwipeToDismiss; | |
+@property (nonatomic, strong) Double* deckPresentDuration; | |
+@property (nonatomic, strong) Double* deckDismissDuration; | |
+ | |
- (BOOL)hasCustomAnimation; | |
@end | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m | |
index 8bdff88..aeb183b 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m | |
@@ -11,6 +11,11 @@ - (instancetype)initWithDict:(NSDictionary *)dict { | |
self.enable = [BoolParser parse:dict key:@"enabled"]; | |
self.waitForRender = [BoolParser parse:dict key:@"waitForRender"]; | |
+ self.enableDeck = [BoolParser parse:dict key:@"enableDeck"]; | |
+ self.enableDeckSwipeToDismiss = [BoolParser parse:dict key:@"enableDeckSwipeToDismiss"]; | |
+ self.deckPresentDuration = [DoubleParser parse:dict key:@"deckPresentDuration"]; | |
+ self.deckDismissDuration = [DoubleParser parse:dict key:@"deckDismissDuration"]; | |
+ | |
return self; | |
} | |
diff --git a/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj b/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj | |
index a7c1acb..f340740 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj | |
+++ b/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj | |
@@ -1747,6 +1747,7 @@ | |
CLANG_ENABLE_MODULES = YES; | |
CLANG_WARN_STRICT_PROTOTYPES = NO; | |
GCC_TREAT_WARNINGS_AS_ERRORS = YES; | |
+ HEADER_SEARCH_PATHS = "${SRCROOT}/../../../../ios/Pods/Headers/Public/**"; | |
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | |
OTHER_LDFLAGS = "-ObjC"; | |
PRODUCT_NAME = ReactNativeNavigation; | |
@@ -1764,6 +1765,7 @@ | |
CLANG_ENABLE_MODULES = YES; | |
CLANG_WARN_STRICT_PROTOTYPES = NO; | |
GCC_TREAT_WARNINGS_AS_ERRORS = YES; | |
+ HEADER_SEARCH_PATHS = "${SRCROOT}/../../../../ios/Pods/Headers/Public/**"; | |
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | |
OTHER_LDFLAGS = "-ObjC"; | |
PRODUCT_NAME = ReactNativeNavigation; | |
diff --git a/node_modules/react-native-navigation/lib/src/interfaces/Options.ts b/node_modules/react-native-navigation/lib/src/interfaces/Options.ts | |
index 99fda8d..14852ac 100644 | |
--- a/node_modules/react-native-navigation/lib/src/interfaces/Options.ts | |
+++ b/node_modules/react-native-navigation/lib/src/interfaces/Options.ts | |
@@ -750,6 +750,24 @@ animations: { | |
* Configure animations for the content (Screen) | |
*/ | |
content?: OptionsAnimationPropertiesId; | |
+ /** | |
+ * Disable/Enable deck transition [Default: false] | |
+ * | |
+ * Warning: IOS only | |
+ */ | |
+ enableDeck?: boolean, | |
+ /** | |
+ * Disable/Enable swipe to dismiss interaction [Default: true] | |
+ */ | |
+ enableDeckSwipeToDismiss?: boolean, | |
+ /** | |
+ * Duration of the appear animation in seconds [Default: 0.3] | |
+ */ | |
+ deckPresentDuration?: boolean, | |
+ /** | |
+ * Duration of the dismiss animation in seconds [Default: 0.3] | |
+ */ | |
+ deckDismissDuration?: boolean, | |
} | |
export interface OptionsAnimations { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java | |
index 704b18c..c227381 100644 | |
--- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java | |
+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/parse/AnimationOptions.java | |
@@ -39,6 +39,12 @@ public class AnimationOptions { | |
case "waitForRender": | |
options.waitForRender = BoolParser.parse(json, key); | |
break; | |
+ case "enableDeck": | |
+ case "enableDeckSwipeToDismiss": | |
+ case "deckPresentDuration": | |
+ case "deckDismissDuration": | |
+ // Deck transitions are currently only supported on IOS | |
+ break; | |
default: | |
options.valueOptions.add(ValueAnimationOptions.parse(json.optJSONObject(key), getAnimProp(key))); | |
} | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m b/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m | |
index d9d47de..049e0f0 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m | |
@@ -8,6 +8,15 @@ | |
#import "RNNDefaultOptionsHelper.h" | |
#import "UIViewController+RNNOptions.h" | |
+// See: https://github.com/CocoaPods/CocoaPods/issues/7594 | |
+#if __has_include("DeckTransition-Swift.h") | |
+ #define HAS_DECK_TRANSITION | |
+ #import "DeckTransition-Swift.h" | |
+#elif __has_include("DeckTransition/DeckTransition-Swift.h") | |
+ #define HAS_DECK_TRANSITION | |
+ #import <DeckTransition/DeckTransition-Swift.h> | |
+#endif | |
+ | |
static NSString* const setRoot = @"setRoot"; | |
static NSString* const setStackRoot = @"setStackRoot"; | |
static NSString* const push = @"push"; | |
@@ -231,7 +240,33 @@ - (void)showModal:(NSDictionary*)layout completion:(RNNTransitionWithComponentId | |
UIViewController<RNNParentProtocol> *newVc = [_controllerFactory createLayout:layout saveToStore:_store]; | |
[newVc.getCurrentLeaf waitForReactViewRender:newVc.getCurrentLeaf.resolveOptions.animations.showModal.waitForRender perform:^{ | |
- [_modalManager showModal:newVc animated:newVc.getCurrentChild.resolveOptions.animations.showModal.enable hasCustomAnimation:newVc.getCurrentChild.resolveOptions.animations.showModal.hasCustomAnimation completion:^(NSString *componentId) { | |
+ id transitioningDelegate; | |
+ | |
+ if ([newVc.getCurrentChild.resolveOptions.animations.showModal.enableDeck getWithDefaultValue:NO]) { | |
+#ifdef HAS_DECK_TRANSITION | |
+ transitioningDelegate = [[DeckTransitioningDelegate alloc] | |
+ initWithIsSwipeToDismissEnabled:[newVc.getCurrentChild.resolveOptions.animations.showModal.enableDeckSwipeToDismiss getWithDefaultValue:YES] | |
+ presentDuration:[NSNumber numberWithDouble:[newVc.getCurrentChild.resolveOptions.animations.showModal.deckPresentDuration getWithDefaultValue:0.3]] | |
+ presentAnimation:nil | |
+ presentCompletion:nil | |
+ dismissDuration:[NSNumber numberWithDouble:[newVc.getCurrentChild.resolveOptions.animations.showModal.deckDismissDuration getWithDefaultValue:0.3]] | |
+ dismissAnimation:nil | |
+ dismissCompletion:nil | |
+ ]; | |
+#else | |
+ // TODO: Write installation instructions | |
+ [[NSException exceptionWithName:@"DeckTransitionNotIncludedError" | |
+ reason:@"DeckTransition has not been included! Refer to installation instructions on how to add it." | |
+ userInfo:nil] | |
+ raise]; | |
+#endif | |
+ } | |
+ | |
+ [_modalManager showModal:newVc | |
+ animated:newVc.getCurrentChild.resolveOptions.animations.showModal.enable | |
+ hasCustomAnimation:newVc.getCurrentChild.resolveOptions.animations.showModal.hasCustomAnimation | |
+ transitioningDelegate:transitioningDelegate | |
+ completion:^(NSString *componentId) { | |
[_eventEmitter sendOnNavigationCommandCompletion:showModal params:@{@"layout": layout}]; | |
completion(componentId); | |
}]; | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNModalManager.h b/node_modules/react-native-navigation/lib/ios/RNNModalManager.h | |
index 04f9245..a7b9c1e 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNModalManager.h | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNModalManager.h | |
@@ -14,7 +14,7 @@ | |
@property (nonatomic, weak) id<RNNModalManagerDelegate> delegate; | |
- (void)showModal:(UIViewController *)viewController animated:(BOOL)animated completion:(RNNTransitionWithComponentIdCompletionBlock)completion; | |
-- (void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation completion:(RNNTransitionWithComponentIdCompletionBlock)completion; | |
+- (void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation transitioningDelegate:(id)transitioningDelegate completion:(RNNTransitionWithComponentIdCompletionBlock)completion; | |
- (void)dismissModal:(UIViewController *)viewController completion:(RNNTransitionCompletionBlock)completion; | |
- (void)dismissAllModalsAnimated:(BOOL)animated; | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNModalManager.m b/node_modules/react-native-navigation/lib/ios/RNNModalManager.m | |
index cfcfdb0..629e90d 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNModalManager.m | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNModalManager.m | |
@@ -16,10 +16,10 @@ -(instancetype)init { | |
} | |
-(void)showModal:(UIViewController *)viewController animated:(BOOL)animated completion:(RNNTransitionWithComponentIdCompletionBlock)completion { | |
- [self showModal:viewController animated:animated hasCustomAnimation:NO completion:completion]; | |
+ [self showModal:viewController animated:animated hasCustomAnimation:NO transitioningDelegate:nil completion:completion]; | |
} | |
--(void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation completion:(RNNTransitionWithComponentIdCompletionBlock)completion { | |
+-(void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation transitioningDelegate:(id)transitioningDelegate completion:(RNNTransitionWithComponentIdCompletionBlock)completion { | |
if (!viewController) { | |
@throw [NSException exceptionWithName:@"ShowUnknownModal" reason:@"showModal called with nil viewController" userInfo:nil]; | |
} | |
@@ -27,7 +27,10 @@ -(void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasC | |
UIViewController* topVC = [self topPresentedVC]; | |
topVC.definesPresentationContext = YES; | |
- if (hasCustomAnimation) { | |
+ if (transitioningDelegate) { | |
+ viewController.transitioningDelegate = transitioningDelegate; | |
+ viewController.modalPresentationStyle = UIModalPresentationCustom; | |
+ } else if (hasCustomAnimation) { | |
viewController.transitioningDelegate = (UIViewController<UIViewControllerTransitioningDelegate>*)topVC; | |
} | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h | |
index 727d445..f07fcde 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.h | |
@@ -10,6 +10,11 @@ | |
@property (nonatomic) BOOL enable; | |
@property (nonatomic) BOOL waitForRender; | |
+@property (nonatomic, strong) Bool* enableDeck; | |
+@property (nonatomic, strong) Bool* enableDeckSwipeToDismiss; | |
+@property (nonatomic, strong) Double* deckPresentDuration; | |
+@property (nonatomic, strong) Double* deckDismissDuration; | |
+ | |
- (BOOL)hasCustomAnimation; | |
@end | |
diff --git a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m | |
index 3ca2c1c..1e9b0fc 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m | |
+++ b/node_modules/react-native-navigation/lib/ios/RNNScreenTransition.m | |
@@ -12,6 +12,11 @@ - (instancetype)initWithDict:(NSDictionary *)dict { | |
self.enable = dict[@"enabled"] ? [dict[@"enabled"] boolValue] : YES; | |
self.waitForRender = dict[@"waitForRender"] ? [dict[@"waitForRender"] boolValue] : NO; | |
+ self.enableDeck = [BoolParser parse:dict key:@"enableDeck"]; | |
+ self.enableDeckSwipeToDismiss = [BoolParser parse:dict key:@"enableDeckSwipeToDismiss"]; | |
+ self.deckPresentDuration = [DoubleParser parse:dict key:@"deckPresentDuration"]; | |
+ self.deckDismissDuration = [DoubleParser parse:dict key:@"deckDismissDuration"]; | |
+ | |
return self; | |
} | |
diff --git a/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj b/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj | |
index ba34535..7319b8c 100644 | |
--- a/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj | |
+++ b/node_modules/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj | |
@@ -1731,6 +1731,7 @@ | |
CLANG_ENABLE_MODULES = YES; | |
CLANG_WARN_STRICT_PROTOTYPES = NO; | |
GCC_TREAT_WARNINGS_AS_ERRORS = YES; | |
+ HEADER_SEARCH_PATHS = "${SRCROOT}/../../../../ios/Pods/Headers/Public/**"; | |
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | |
OTHER_LDFLAGS = "-ObjC"; | |
PRODUCT_NAME = ReactNativeNavigation; | |
@@ -1748,6 +1749,7 @@ | |
CLANG_ENABLE_MODULES = YES; | |
CLANG_WARN_STRICT_PROTOTYPES = NO; | |
GCC_TREAT_WARNINGS_AS_ERRORS = YES; | |
+ HEADER_SEARCH_PATHS = "${SRCROOT}/../../../../ios/Pods/Headers/Public/**"; | |
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | |
OTHER_LDFLAGS = "-ObjC"; | |
PRODUCT_NAME = ReactNativeNavigation; | |
diff --git a/node_modules/react-native-navigation/lib/src/interfaces/Options.ts b/node_modules/react-native-navigation/lib/src/interfaces/Options.ts | |
index e55bb7d..e3376cf 100644 | |
--- a/node_modules/react-native-navigation/lib/src/interfaces/Options.ts | |
+++ b/node_modules/react-native-navigation/lib/src/interfaces/Options.ts | |
@@ -727,6 +727,24 @@ animations: { | |
* Configure animations for the content (Screen) | |
*/ | |
content?: OptionsAnimationPropertiesId; | |
+ /** | |
+ * Disable/Enable deck transition [Default: false] | |
+ * | |
+ * Warning: IOS only | |
+ */ | |
+ enableDeck?: boolean, | |
+ /** | |
+ * Disable/Enable swipe to dismiss interaction [Default: true] | |
+ */ | |
+ enableDeckSwipeToDismiss?: boolean, | |
+ /** | |
+ * Duration of the appear animation in seconds [Default: 0.3] | |
+ */ | |
+ deckPresentDuration?: boolean, | |
+ /** | |
+ * Duration of the dismiss animation in seconds [Default: 0.3] | |
+ */ | |
+ deckDismissDuration?: boolean, | |
} | |
export interface OptionsAnimations { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment