react-native-screens 4.14.0 → 4.14.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.
Files changed (27) hide show
  1. package/android/src/main/cpp/NativeProxy.cpp +1 -1
  2. package/android/src/main/cpp/jni-adapter.cpp +6 -6
  3. package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +4 -3
  4. package/common/cpp/react/renderer/components/rnscreens/RNSScreenStackHeaderSubviewState.h +9 -7
  5. package/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +10 -8
  6. package/common/cpp/react/renderer/components/rnscreens/RNSSplitViewScreenState.h +2 -2
  7. package/cpp/RNScreensTurboModule.cpp +2 -2
  8. package/ios/RNSScreen.mm +7 -6
  9. package/ios/RNScreens.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  10. package/ios/RNScreens.xcodeproj/project.xcworkspace/xcuserdata/tomaszboron.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  11. package/ios/RNScreens.xcodeproj/xcuserdata/tomaszboron.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
  12. package/ios/bottom-tabs/RCTConvert+RNSBottomTabs.h +1 -1
  13. package/ios/bottom-tabs/extensions/RNSBottomTabsHostComponentView+RNSImageLoader.h +2 -1
  14. package/ios/bottom-tabs/extensions/RNSBottomTabsHostComponentView+RNSImageLoader.mm +3 -2
  15. package/lib/commonjs/components/gamma/ScreenStackHost.web.js.map +1 -1
  16. package/lib/commonjs/components/gamma/StackScreen.web.js +6 -1
  17. package/lib/commonjs/components/gamma/StackScreen.web.js.map +1 -1
  18. package/lib/module/components/gamma/ScreenStackHost.web.js.map +1 -1
  19. package/lib/module/components/gamma/StackScreen.web.js +5 -0
  20. package/lib/module/components/gamma/StackScreen.web.js.map +1 -1
  21. package/lib/typescript/components/gamma/ScreenStackHost.web.d.ts +4 -1
  22. package/lib/typescript/components/gamma/ScreenStackHost.web.d.ts.map +1 -1
  23. package/lib/typescript/components/gamma/StackScreen.web.d.ts +11 -1
  24. package/lib/typescript/components/gamma/StackScreen.web.d.ts.map +1 -1
  25. package/package.json +2 -2
  26. package/src/components/gamma/ScreenStackHost.web.tsx +7 -1
  27. package/src/components/gamma/StackScreen.web.tsx +14 -1
@@ -48,7 +48,7 @@ jni::local_ref<NativeProxy::jhybriddata> NativeProxy::initHybrid(
48
48
  }
49
49
 
50
50
  void NativeProxy::invalidateNative() {
51
- javaPart_ = nullptr;
51
+ javaPart_ = nullptr;
52
52
  }
53
53
 
54
54
  } // namespace rnscreens
@@ -96,12 +96,12 @@ Java_com_swmansion_rnscreens_ScreensModule_nativeInstall(
96
96
 
97
97
  extern "C" JNIEXPORT void JNICALL
98
98
  Java_com_swmansion_rnscreens_ScreensModule_nativeUninstall(
99
- JNIEnv *env,
100
- jobject thiz) {
101
- if (globalThis != nullptr) {
102
- env->DeleteGlobalRef(globalThis);
103
- globalThis = nullptr;
104
- }
99
+ JNIEnv *env,
100
+ jobject thiz) {
101
+ if (globalThis != nullptr) {
102
+ env->DeleteGlobalRef(globalThis);
103
+ globalThis = nullptr;
104
+ }
105
105
  }
106
106
 
107
107
  void JNICALL JNI_OnUnload(JavaVM *jvm, void *) {
@@ -109,9 +109,10 @@ void RNSScreenShadowNode::appendChild(
109
109
 
110
110
  screenShadowNode.setPadding({0, 0, 0, headerHeight});
111
111
  screenShadowNode.setHeaderHeight(headerHeight);
112
- screenShadowNode.getFrameCorrectionModes().set(FrameCorrectionModes::Mode(
113
- FrameCorrectionModes::Mode::FrameHeightCorrection |
114
- FrameCorrectionModes::Mode::FrameOriginCorrection));
112
+ screenShadowNode.getFrameCorrectionModes().set(
113
+ FrameCorrectionModes::Mode(
114
+ FrameCorrectionModes::Mode::FrameHeightCorrection |
115
+ FrameCorrectionModes::Mode::FrameOriginCorrection));
115
116
  }
116
117
  }
117
118
  #endif // ANDROID
@@ -22,18 +22,20 @@ class JSI_EXPORT RNSScreenStackHeaderSubviewState final {
22
22
  RNSScreenStackHeaderSubviewState() = default;
23
23
 
24
24
  RNSScreenStackHeaderSubviewState(Size frameSize_, Point contentOffset_)
25
- : frameSize(frameSize_), contentOffset(contentOffset_){};
25
+ : frameSize(frameSize_), contentOffset(contentOffset_) {};
26
26
 
27
27
  #ifdef ANDROID
28
28
  RNSScreenStackHeaderSubviewState(
29
29
  RNSScreenStackHeaderSubviewState const &previousState,
30
30
  folly::dynamic data)
31
- : frameSize(Size{
32
- (Float)data["frameWidth"].getDouble(),
33
- (Float)data["frameHeight"].getDouble()}),
34
- contentOffset(Point{
35
- (Float)data["contentOffsetX"].getDouble(),
36
- (Float)data["contentOffsetY"].getDouble()}) {}
31
+ : frameSize(
32
+ Size{
33
+ (Float)data["frameWidth"].getDouble(),
34
+ (Float)data["frameHeight"].getDouble()}),
35
+ contentOffset(
36
+ Point{
37
+ (Float)data["contentOffsetX"].getDouble(),
38
+ (Float)data["contentOffsetY"].getDouble()}) {}
37
39
  #endif // ANDROID
38
40
 
39
41
  #ifdef ANDROID
@@ -20,18 +20,20 @@ class JSI_EXPORT RNSScreenState final {
20
20
  public:
21
21
  using Shared = std::shared_ptr<const RNSScreenState>;
22
22
 
23
- RNSScreenState(){};
23
+ RNSScreenState() {};
24
24
  RNSScreenState(Size frameSize_, Point contentOffset_)
25
- : frameSize(frameSize_), contentOffset(contentOffset_){};
25
+ : frameSize(frameSize_), contentOffset(contentOffset_) {};
26
26
 
27
27
  #ifdef ANDROID
28
28
  RNSScreenState(RNSScreenState const &previousState, folly::dynamic data)
29
- : frameSize(Size{
30
- (Float)data["frameWidth"].getDouble(),
31
- (Float)data["frameHeight"].getDouble()}),
32
- contentOffset(Point{
33
- (Float)data["contentOffsetX"].getDouble(),
34
- (Float)data["contentOffsetY"].getDouble()}),
29
+ : frameSize(
30
+ Size{
31
+ (Float)data["frameWidth"].getDouble(),
32
+ (Float)data["frameHeight"].getDouble()}),
33
+ contentOffset(
34
+ Point{
35
+ (Float)data["contentOffsetX"].getDouble(),
36
+ (Float)data["contentOffsetY"].getDouble()}),
35
37
  lastKnownHeaderHeight_{previousState.lastKnownHeaderHeight_},
36
38
  headerCorrectionModes_{previousState.headerCorrectionModes_} {};
37
39
  #endif
@@ -12,9 +12,9 @@ class JSI_EXPORT RNSSplitViewScreenState final {
12
12
  public:
13
13
  using Shared = std::shared_ptr<const RNSSplitViewScreenState>;
14
14
 
15
- RNSSplitViewScreenState(){};
15
+ RNSSplitViewScreenState() {};
16
16
  RNSSplitViewScreenState(Size frameSize_, Point contentOffset_)
17
- : frameSize(frameSize_), contentOffset(contentOffset_){};
17
+ : frameSize(frameSize_), contentOffset(contentOffset_) {};
18
18
 
19
19
  const Size frameSize{};
20
20
  const Point contentOffset{};
@@ -22,7 +22,7 @@ RNScreensTurboModule::RNScreensTurboModule(
22
22
  disableSwipeBackForTopScreen_ = disableSwipeBackForTopScreen;
23
23
  }
24
24
 
25
- RNScreensTurboModule::~RNScreensTurboModule(){};
25
+ RNScreensTurboModule::~RNScreensTurboModule() {};
26
26
 
27
27
  jsi::Value RNScreensTurboModule::get(
28
28
  jsi::Runtime &rt,
@@ -43,7 +43,7 @@ jsi::Value RNScreensTurboModule::get(
43
43
  void RNScreensTurboModule::set(
44
44
  jsi::Runtime &,
45
45
  const jsi::PropNameID &,
46
- const jsi::Value &){};
46
+ const jsi::Value &) {};
47
47
 
48
48
  std::vector<jsi::PropNameID> RNScreensTurboModule::getPropertyNames(
49
49
  jsi::Runtime &rt) {
package/ios/RNSScreen.mm CHANGED
@@ -31,8 +31,8 @@
31
31
  #import "RNSScreenFooter.h"
32
32
  #import "RNSScreenStack.h"
33
33
  #import "RNSScreenStackHeaderConfig.h"
34
- #import "RNSTabBarController.h"
35
34
  #import "RNSScrollViewHelper.h"
35
+ #import "RNSTabBarController.h"
36
36
 
37
37
  #import "RNSDefines.h"
38
38
  #import "UIView+RNSUtility.h"
@@ -709,8 +709,9 @@ RNS_IGNORE_SUPER_CALL_END
709
709
  #ifdef RCT_NEW_ARCH_ENABLED
710
710
  if (_eventEmitter != nullptr) {
711
711
  std::dynamic_pointer_cast<const react::RNSScreenEventEmitter>(_eventEmitter)
712
- ->onTransitionProgress(react::RNSScreenEventEmitter::OnTransitionProgress{
713
- .progress = progress, .closing = closing ? 1 : 0, .goingForward = goingForward ? 1 : 0});
712
+ ->onTransitionProgress(
713
+ react::RNSScreenEventEmitter::OnTransitionProgress{
714
+ .progress = progress, .closing = closing ? 1 : 0, .goingForward = goingForward ? 1 : 0});
714
715
  }
715
716
  RNSScreenViewEvent *event = [[RNSScreenViewEvent alloc] initWithEventName:@"onTransitionProgress"
716
717
  reactTag:[NSNumber numberWithInt:self.tag]
@@ -1173,11 +1174,11 @@ RNS_IGNORE_SUPER_CALL_END
1173
1174
  // RNSScreenView does not have a property to control this behavior.
1174
1175
  // It looks for parent that conforms to RNSScrollViewBehaviorOverriding to determine
1175
1176
  // if it should override ScrollView's behavior.
1176
-
1177
+
1177
1178
  // As this method is called when RNSScreen willMoveToParentViewController
1178
1179
  // and view does not have superView yet, we need to use reactSuperViews.
1179
1180
  UIView *parent = [self reactSuperview];
1180
-
1181
+
1181
1182
  while (parent != nil) {
1182
1183
  if ([parent respondsToSelector:@selector(shouldOverrideScrollViewContentInsetAdjustmentBehavior)]) {
1183
1184
  id<RNSScrollViewBehaviorOverriding> overrideProvider = static_cast<id<RNSScrollViewBehaviorOverriding>>(parent);
@@ -1185,7 +1186,7 @@ RNS_IGNORE_SUPER_CALL_END
1185
1186
  }
1186
1187
  parent = [parent reactSuperview];
1187
1188
  }
1188
-
1189
+
1189
1190
  return NO;
1190
1191
  }
1191
1192
 
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>RNScreens-tvOS.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ <key>RNScreens.xcscheme_^#shared#^_</key>
13
+ <dict>
14
+ <key>orderHint</key>
15
+ <integer>1</integer>
16
+ </dict>
17
+ </dict>
18
+ </dict>
19
+ </plist>
@@ -1,6 +1,6 @@
1
1
  #if !RCT_NEW_ARCH_ENABLED
2
- #import <UIKit/UIKit.h>
3
2
  #import <React/RCTConvert.h>
3
+ #import <UIKit/UIKit.h>
4
4
  #import "RNSEnums.h"
5
5
 
6
6
  NS_ASSUME_NONNULL_BEGIN
@@ -12,7 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
12
12
 
13
13
  @interface RNSBottomTabsHostComponentView (RNSImageLoader)
14
14
 
15
- - (nullable RCTImageLoader *)retrieveImageLoaderFromState:(facebook::react::RNSBottomTabsShadowNode::ConcreteState::Shared)state;
15
+ - (nullable RCTImageLoader *)retrieveImageLoaderFromState:
16
+ (facebook::react::RNSBottomTabsShadowNode::ConcreteState::Shared)state;
16
17
 
17
18
  @end
18
19
 
@@ -7,12 +7,13 @@
7
7
 
8
8
  @implementation RNSBottomTabsHostComponentView (RNSImageLoader)
9
9
 
10
- - (nullable RCTImageLoader *)retrieveImageLoaderFromState:(facebook::react::RNSBottomTabsShadowNode::ConcreteState::Shared)receivedState
10
+ - (nullable RCTImageLoader *)retrieveImageLoaderFromState:
11
+ (facebook::react::RNSBottomTabsShadowNode::ConcreteState::Shared)receivedState
11
12
  {
12
13
  if (auto imgLoaderPtr = receivedState.get()->getData().getImageLoader().lock()) {
13
14
  return react::unwrapManagedObject(imgLoaderPtr);
14
15
  }
15
-
16
+
16
17
  RCTLogWarn(@"[RNScreens] unable to retrieve RCTImageLoader");
17
18
  return nil;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","ScreenStackHost","View","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/gamma/ScreenStackHost.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,eAAe,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEdJ,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","ScreenStackHost","View","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/gamma/ScreenStackHost.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,MAAMC,eAAe,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEdJ,eAAe","ignoreList":[]}
@@ -3,8 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.StackScreenLifecycleState = void 0;
7
7
  var _reactNative = require("react-native");
8
+ const StackScreenLifecycleState = exports.StackScreenLifecycleState = {
9
+ INITIAL: 0,
10
+ DETACHED: 1,
11
+ ATTACHED: 2
12
+ };
8
13
  const StackScreen = _reactNative.View;
9
14
  var _default = exports.default = StackScreen;
10
15
  //# sourceMappingURL=StackScreen.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","StackScreen","View","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/gamma/StackScreen.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,WAAW,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEVJ,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","StackScreenLifecycleState","exports","INITIAL","DETACHED","ATTACHED","StackScreen","View","_default","default"],"sourceRoot":"../../../../src","sources":["components/gamma/StackScreen.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG;EACvCE,OAAO,EAAE,CAAC;EACVC,QAAQ,EAAE,CAAC;EACXC,QAAQ,EAAE;AACZ,CAAU;AAOV,MAAMC,WAAW,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAN,OAAA,CAAAO,OAAA,GAEVH,WAAW","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["View","ScreenStackHost"],"sourceRoot":"../../../../src","sources":["components/gamma/ScreenStackHost.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,MAAMC,eAAe,GAAGD,IAAI;AAE5B,eAAeC,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["View","ScreenStackHost"],"sourceRoot":"../../../../src","sources":["components/gamma/ScreenStackHost.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAmB,cAAc;AAQ9C,MAAMC,eAAe,GAAGD,IAAI;AAE5B,eAAeC,eAAe","ignoreList":[]}
@@ -1,4 +1,9 @@
1
1
  import { View } from 'react-native';
2
+ export const StackScreenLifecycleState = {
3
+ INITIAL: 0,
4
+ DETACHED: 1,
5
+ ATTACHED: 2
6
+ };
2
7
  const StackScreen = View;
3
8
  export default StackScreen;
4
9
  //# sourceMappingURL=StackScreen.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["View","StackScreen"],"sourceRoot":"../../../../src","sources":["components/gamma/StackScreen.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,MAAMC,WAAW,GAAGD,IAAI;AAExB,eAAeC,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["View","StackScreenLifecycleState","INITIAL","DETACHED","ATTACHED","StackScreen"],"sourceRoot":"../../../../src","sources":["components/gamma/StackScreen.web.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAmB,cAAc;AAI9C,OAAO,MAAMC,yBAAyB,GAAG;EACvCC,OAAO,EAAE,CAAC;EACVC,QAAQ,EAAE,CAAC;EACXC,QAAQ,EAAE;AACZ,CAAU;AAOV,MAAMC,WAAW,GAAGL,IAAI;AAExB,eAAeK,WAAW","ignoreList":[]}
@@ -1,4 +1,7 @@
1
- import { View } from 'react-native';
1
+ import { View, ViewProps } from 'react-native';
2
+ interface NativeProps extends ViewProps {
3
+ }
4
+ export type ScreenStackNativeProps = NativeProps & {};
2
5
  declare const ScreenStackHost: typeof View;
3
6
  export default ScreenStackHost;
4
7
  //# sourceMappingURL=ScreenStackHost.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenStackHost.web.d.ts","sourceRoot":"","sources":["../../../../src/components/gamma/ScreenStackHost.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,QAAA,MAAM,eAAe,aAAO,CAAC;AAE7B,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ScreenStackHost.web.d.ts","sourceRoot":"","sources":["../../../../src/components/gamma/ScreenStackHost.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,WAAY,SAAQ,SAAS;CAAG;AAE1C,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,EAElD,CAAC;AAEF,QAAA,MAAM,eAAe,aAAO,CAAC;AAE7B,eAAe,eAAe,CAAC"}
@@ -1,4 +1,14 @@
1
- import { View } from 'react-native';
1
+ import { View, ViewProps } from 'react-native';
2
+ interface NativeProps extends ViewProps {
3
+ }
4
+ export declare const StackScreenLifecycleState: {
5
+ readonly INITIAL: 0;
6
+ readonly DETACHED: 1;
7
+ readonly ATTACHED: 2;
8
+ };
9
+ export type StackScreenNativeProps = NativeProps & {
10
+ maxLifecycleState: (typeof StackScreenLifecycleState)[keyof typeof StackScreenLifecycleState];
11
+ };
2
12
  declare const StackScreen: typeof View;
3
13
  export default StackScreen;
4
14
  //# sourceMappingURL=StackScreen.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StackScreen.web.d.ts","sourceRoot":"","sources":["../../../../src/components/gamma/StackScreen.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,QAAA,MAAM,WAAW,aAAO,CAAC;AAEzB,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"StackScreen.web.d.ts","sourceRoot":"","sources":["../../../../src/components/gamma/StackScreen.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,WAAY,SAAQ,SAAS;CAAG;AAE1C,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IAEjD,iBAAiB,EAAE,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;CAC/F,CAAC;AAEF,QAAA,MAAM,WAAW,aAAO,CAAC;AAEzB,eAAe,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screens",
3
- "version": "4.14.0",
3
+ "version": "4.14.1",
4
4
  "description": "Native navigation primitives for your React Native app.",
5
5
  "scripts": {
6
6
  "submodules": "git submodule update --init --recursive && (cd react-navigation && yarn && yarn build && cd ../)",
@@ -115,7 +115,7 @@
115
115
  "react-native": "0.81.0-rc.5",
116
116
  "react-native-builder-bob": "^0.23.2",
117
117
  "react-native-gesture-handler": "^2.28.0",
118
- "react-native-reanimated": "3.16.7",
118
+ "react-native-reanimated": "^3.19.0",
119
119
  "react-native-safe-area-context": "5.6.0",
120
120
  "react-native-windows": "^0.64.8",
121
121
  "react-test-renderer": "^19.1.0",
@@ -1,4 +1,10 @@
1
- import { View } from 'react-native';
1
+ import { View, ViewProps } from 'react-native';
2
+
3
+ interface NativeProps extends ViewProps {}
4
+
5
+ export type ScreenStackNativeProps = NativeProps & {
6
+ // Overrides
7
+ };
2
8
 
3
9
  const ScreenStackHost = View;
4
10
 
@@ -1,4 +1,17 @@
1
- import { View } from 'react-native';
1
+ import { View, ViewProps } from 'react-native';
2
+
3
+ interface NativeProps extends ViewProps {}
4
+
5
+ export const StackScreenLifecycleState = {
6
+ INITIAL: 0,
7
+ DETACHED: 1,
8
+ ATTACHED: 2,
9
+ } as const;
10
+
11
+ export type StackScreenNativeProps = NativeProps & {
12
+ // Overrides
13
+ maxLifecycleState: (typeof StackScreenLifecycleState)[keyof typeof StackScreenLifecycleState];
14
+ };
2
15
 
3
16
  const StackScreen = View;
4
17