react-native-screens 3.21.0 → 3.22.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.
- package/README.md +2 -0
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +11 -10
- package/ios/RNSScreenWindowTraits.mm +6 -2
- package/lib/commonjs/TransitionProgressContext.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js +1 -0
- package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.native.js +2 -2
- package/lib/commonjs/index.native.js.map +1 -1
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
- package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
- package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
- package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js +2 -1
- package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +1 -1
- package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreen.js +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
- package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +1 -0
- package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
- package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
- package/lib/commonjs/useTransitionProgress.js.map +1 -1
- package/lib/commonjs/utils.js +8 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/TransitionProgressContext.js.map +1 -1
- package/lib/module/fabric/ScreenNativeComponent.js +3 -0
- package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
- package/lib/module/fabric/ScreenStackNativeComponent.js +3 -0
- package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.native.js +2 -2
- package/lib/module/index.native.js.map +1 -1
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
- package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
- package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
- package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
- package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
- package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
- package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
- package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
- package/lib/module/useTransitionProgress.js.map +1 -1
- package/lib/module/utils.js +6 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +2 -2
- package/lib/typescript/native-stack/utils/SafeAreaProviderCompat.d.ts +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -2
- package/lib/typescript/reanimated/ReanimatedScreenProvider.d.ts +2 -2
- package/lib/typescript/utils.d.ts +1 -0
- package/package.json +1 -1
- package/src/index.native.tsx +2 -0
- package/src/index.tsx +1 -0
- package/src/utils.ts +6 -0
- package/ios/RNScreens.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/RNScreens.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/RNScreens.xcodeproj/project.xcworkspace/xcuserdata/wojciechlewicki.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RNScreens.xcodeproj/xcuserdata/wojciechlewicki.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
package/README.md
CHANGED
|
@@ -91,12 +91,14 @@ Screens are already integrated with the React Native's most popular navigation l
|
|
|
91
91
|
|
|
92
92
|
[Fabric](https://reactnative.dev/architecture/fabric-renderer) is React Native's new rendering system.
|
|
93
93
|
|
|
94
|
+
- As of [version `3.21.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.0) of this project, Fabric is supported only for react-native 0.72+. Support for lower versions has been dropped.
|
|
94
95
|
- As of [version `3.19.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.19.0) of this project, Fabric is supported only for react-native 0.71+. Support for lower versions has been dropped.
|
|
95
96
|
- As of [version `3.18.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.18.0) of this project, Fabric is supported only for react-native 0.70+. Support for lower versions has been dropped.
|
|
96
97
|
- As of [version `3.14.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.14.0) of this project, Fabric is supported only for react-native 0.69+. Support for lower versions has been dropped.
|
|
97
98
|
|
|
98
99
|
| version | react-native version |
|
|
99
100
|
| ------- | -------------------- |
|
|
101
|
+
| 3.21.0+ | 0.72.0+ |
|
|
100
102
|
| 3.19.0+ | 0.71.0+ |
|
|
101
103
|
| 3.18.0+ | 0.70.0+ |
|
|
102
104
|
| 3.14.0+ | 0.69.0+ |
|
|
@@ -292,29 +292,30 @@ class ScreenStack(context: Context?) : ScreenContainer<ScreenStackFragment>(cont
|
|
|
292
292
|
}
|
|
293
293
|
|
|
294
294
|
override fun drawChild(canvas: Canvas, child: View, drawingTime: Long): Boolean {
|
|
295
|
-
drawingOps.add(
|
|
295
|
+
drawingOps.add(
|
|
296
|
+
obtainDrawingOp().apply {
|
|
297
|
+
this.canvas = canvas
|
|
298
|
+
this.child = child
|
|
299
|
+
this.drawingTime = drawingTime
|
|
300
|
+
}
|
|
301
|
+
)
|
|
296
302
|
return true
|
|
297
303
|
}
|
|
298
304
|
|
|
299
305
|
private fun performDraw(op: DrawingOp) {
|
|
300
|
-
|
|
306
|
+
// Canvas parameter can not be null here https://developer.android.com/reference/android/view/ViewGroup#drawChild(android.graphics.Canvas,%20android.view.View,%20long)
|
|
307
|
+
// So if we are passing null here, we would crash anyway
|
|
308
|
+
super.drawChild(op.canvas!!, op.child, op.drawingTime)
|
|
301
309
|
}
|
|
302
310
|
|
|
303
311
|
private fun obtainDrawingOp(): DrawingOp =
|
|
304
|
-
if (drawingOpPool.isEmpty()) DrawingOp() else drawingOpPool.
|
|
312
|
+
if (drawingOpPool.isEmpty()) DrawingOp() else drawingOpPool.removeLast()
|
|
305
313
|
|
|
306
314
|
private inner class DrawingOp {
|
|
307
315
|
var canvas: Canvas? = null
|
|
308
316
|
var child: View? = null
|
|
309
317
|
var drawingTime: Long = 0
|
|
310
318
|
|
|
311
|
-
operator fun set(canvas: Canvas?, child: View?, drawingTime: Long): DrawingOp {
|
|
312
|
-
this.canvas = canvas
|
|
313
|
-
this.child = child
|
|
314
|
-
this.drawingTime = drawingTime
|
|
315
|
-
return this
|
|
316
|
-
}
|
|
317
|
-
|
|
318
319
|
fun draw() {
|
|
319
320
|
performDraw(this)
|
|
320
321
|
canvas = null
|
|
@@ -174,6 +174,8 @@
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
if (newOrientation != UIInterfaceOrientationUnknown) {
|
|
177
|
+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_16_0) && \
|
|
178
|
+
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_16_0
|
|
177
179
|
if (@available(iOS 16.0, *)) {
|
|
178
180
|
NSArray *array = [[[UIApplication sharedApplication] connectedScenes] allObjects];
|
|
179
181
|
UIWindowScene *scene = (UIWindowScene *)array[0];
|
|
@@ -191,13 +193,15 @@
|
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
[topController setNeedsUpdateOfSupportedInterfaceOrientations];
|
|
194
|
-
} else
|
|
196
|
+
} else
|
|
197
|
+
#endif // Check for iOS 16
|
|
198
|
+
{
|
|
195
199
|
[[UIDevice currentDevice] setValue:@(newOrientation) forKey:@"orientation"];
|
|
196
200
|
[UIViewController attemptRotationToDeviceOrientation];
|
|
197
201
|
}
|
|
198
202
|
}
|
|
199
203
|
});
|
|
200
|
-
#endif
|
|
204
|
+
#endif // !TARGET_TV_OS
|
|
201
205
|
}
|
|
202
206
|
|
|
203
207
|
+ (void)updateWindowTraits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_default","createContext","undefined","exports"],"sources":["TransitionProgressContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Animated } from 'react-native';\n\ntype TransitionProgressContextBody = {\n progress: Animated.Value;\n closing: Animated.Value;\n goingForward: Animated.Value;\n};\n\nexport default React.createContext<TransitionProgressContextBody | undefined>(\n undefined\n);\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,IAAAW,QAAA,gBAShBzB,KAAK,CAAC0B,aAAa,CAChCC,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_default","createContext","undefined","exports"],"sources":["TransitionProgressContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Animated } from 'react-native';\n\ntype TransitionProgressContextBody = {\n progress: Animated.Value;\n closing: Animated.Value;\n goingForward: Animated.Value;\n};\n\nexport default React.createContext<TransitionProgressContextBody | undefined>(\n undefined\n);\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,IAAAW,QAAA,gBAShBzB,KAAK,CAAC0B,aAAa,CAChCC,SACF,CAAC;AAAAC,OAAA,CAAAlB,OAAA,GAAAe,QAAA"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
9
10
|
var _default = (0, _codegenNativeComponent.default)('RNSScreen', {
|
|
10
11
|
interfaceOnly: true
|
|
11
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","interfaceOnly","exports"],"sources":["ScreenNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps, ColorValue } from 'react-native';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n Float,\n Double,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ScreenEvent = Readonly<{}>;\n\ntype ScreenDismissedEvent = Readonly<{\n dismissCount: Int32;\n}>;\n\ntype TransitionProgressEvent = Readonly<{\n progress: Double;\n closing: Int32;\n goingForward: Int32;\n}>;\n\ntype GestureResponseDistanceType = Readonly<{\n start: Float;\n end: Float;\n top: Float;\n bottom: Float;\n}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\ntype SheetDetentTypes = 'large' | 'medium' | 'all';\n\nexport interface NativeProps extends ViewProps {\n onAppear?: BubblingEventHandler<ScreenEvent>;\n onDisappear?: BubblingEventHandler<ScreenEvent>;\n onDismissed?: BubblingEventHandler<ScreenDismissedEvent>;\n onNativeDismissCancelled?: BubblingEventHandler<ScreenDismissedEvent>;\n onWillAppear?: BubblingEventHandler<ScreenEvent>;\n onWillDisappear?: BubblingEventHandler<ScreenEvent>;\n onTransitionProgress?: BubblingEventHandler<TransitionProgressEvent>;\n sheetAllowedDetents?: WithDefault<SheetDetentTypes, 'large'>;\n sheetLargestUndimmedDetent?: WithDefault<SheetDetentTypes, 'all'>;\n sheetGrabberVisible?: WithDefault<boolean, false>;\n sheetCornerRadius?: WithDefault<Float, -1.0>;\n sheetExpandsWhenScrolledToEdge?: WithDefault<boolean, false>;\n customAnimationOnSwipe?: boolean;\n fullScreenSwipeEnabled?: boolean;\n homeIndicatorHidden?: boolean;\n preventNativeDismiss?: boolean;\n gestureEnabled?: WithDefault<boolean, true>;\n statusBarColor?: ColorValue;\n statusBarHidden?: boolean;\n screenOrientation?: string;\n statusBarAnimation?: string;\n statusBarStyle?: string;\n statusBarTranslucent?: boolean;\n gestureResponseDistance?: GestureResponseDistanceType;\n stackPresentation?: WithDefault<StackPresentation, 'push'>;\n stackAnimation?: WithDefault<StackAnimation, 'default'>;\n transitionDuration?: WithDefault<Int32, 350>;\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>;\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>;\n hideKeyboardOnSwipe?: boolean;\n activityState?: WithDefault<Float, -1.0>;\n navigationBarColor?: ColorValue;\n navigationBarHidden?: boolean;\n nativeBackButtonDismissalEnabled?: boolean;\n onHeaderBackButtonClicked?: BubblingEventHandler<ScreenEvent>;\n}\n\nexport default codegenNativeComponent<NativeProps>('RNSScreen', {\n interfaceOnly: true,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","interfaceOnly","exports"],"sources":["ScreenNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps, ColorValue } from 'react-native';\nimport type {\n BubblingEventHandler,\n WithDefault,\n Int32,\n Float,\n Double,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype ScreenEvent = Readonly<{}>;\n\ntype ScreenDismissedEvent = Readonly<{\n dismissCount: Int32;\n}>;\n\ntype TransitionProgressEvent = Readonly<{\n progress: Double;\n closing: Int32;\n goingForward: Int32;\n}>;\n\ntype GestureResponseDistanceType = Readonly<{\n start: Float;\n end: Float;\n top: Float;\n bottom: Float;\n}>;\n\ntype StackPresentation =\n | 'push'\n | 'modal'\n | 'transparentModal'\n | 'fullScreenModal'\n | 'formSheet'\n | 'containedModal'\n | 'containedTransparentModal';\n\ntype StackAnimation =\n | 'default'\n | 'flip'\n | 'simple_push'\n | 'none'\n | 'fade'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'slide_from_bottom'\n | 'fade_from_bottom';\n\ntype SwipeDirection = 'vertical' | 'horizontal';\n\ntype ReplaceAnimation = 'pop' | 'push';\n\ntype SheetDetentTypes = 'large' | 'medium' | 'all';\n\nexport interface NativeProps extends ViewProps {\n onAppear?: BubblingEventHandler<ScreenEvent>;\n onDisappear?: BubblingEventHandler<ScreenEvent>;\n onDismissed?: BubblingEventHandler<ScreenDismissedEvent>;\n onNativeDismissCancelled?: BubblingEventHandler<ScreenDismissedEvent>;\n onWillAppear?: BubblingEventHandler<ScreenEvent>;\n onWillDisappear?: BubblingEventHandler<ScreenEvent>;\n onTransitionProgress?: BubblingEventHandler<TransitionProgressEvent>;\n sheetAllowedDetents?: WithDefault<SheetDetentTypes, 'large'>;\n sheetLargestUndimmedDetent?: WithDefault<SheetDetentTypes, 'all'>;\n sheetGrabberVisible?: WithDefault<boolean, false>;\n sheetCornerRadius?: WithDefault<Float, -1.0>;\n sheetExpandsWhenScrolledToEdge?: WithDefault<boolean, false>;\n customAnimationOnSwipe?: boolean;\n fullScreenSwipeEnabled?: boolean;\n homeIndicatorHidden?: boolean;\n preventNativeDismiss?: boolean;\n gestureEnabled?: WithDefault<boolean, true>;\n statusBarColor?: ColorValue;\n statusBarHidden?: boolean;\n screenOrientation?: string;\n statusBarAnimation?: string;\n statusBarStyle?: string;\n statusBarTranslucent?: boolean;\n gestureResponseDistance?: GestureResponseDistanceType;\n stackPresentation?: WithDefault<StackPresentation, 'push'>;\n stackAnimation?: WithDefault<StackAnimation, 'default'>;\n transitionDuration?: WithDefault<Int32, 350>;\n replaceAnimation?: WithDefault<ReplaceAnimation, 'pop'>;\n swipeDirection?: WithDefault<SwipeDirection, 'horizontal'>;\n hideKeyboardOnSwipe?: boolean;\n activityState?: WithDefault<Float, -1.0>;\n navigationBarColor?: ColorValue;\n navigationBarHidden?: boolean;\n nativeBackButtonDismissalEnabled?: boolean;\n onHeaderBackButtonClicked?: BubblingEventHandler<ScreenEvent>;\n}\n\nexport default codegenNativeComponent<NativeProps>('RNSScreen', {\n interfaceOnly: true,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAoFe,IAAAC,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC;AAAAC,OAAA,CAAAJ,OAAA,GAAAC,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenNavigationContainerNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native';\n\ninterface NativeProps extends ViewProps {}\n\nexport default codegenNativeComponent<NativeProps>(\n 'RNSScreenNavigationContainer',\n {}\n);\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAK9E,IAAAC,+BAAsB,EACnC,8BAA8B,EAC9B,CAAC,CAAC
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenNavigationContainerNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native';\n\ninterface NativeProps extends ViewProps {}\n\nexport default codegenNativeComponent<NativeProps>(\n 'RNSScreenNavigationContainer',\n {}\n);\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAK9E,IAAAC,+BAAsB,EACnC,8BAA8B,EAC9B,CAAC,CACH,CAAC;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenStackHeaderConfigNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps, ColorValue } from 'react-native';\nimport type {\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\ntype DirectionType = 'rtl' | 'ltr';\n\nexport interface NativeProps extends ViewProps {\n backgroundColor?: ColorValue;\n backTitle?: string;\n backTitleFontFamily?: string;\n backTitleFontSize?: Int32;\n backTitleVisible?: WithDefault<boolean, 'true'>;\n color?: ColorValue;\n direction?: WithDefault<DirectionType, 'ltr'>;\n hidden?: boolean;\n hideShadow?: boolean;\n largeTitle?: boolean;\n largeTitleFontFamily?: string;\n largeTitleFontSize?: Int32;\n largeTitleFontWeight?: string;\n largeTitleBackgroundColor?: ColorValue;\n largeTitleHideShadow?: boolean;\n largeTitleColor?: ColorValue;\n translucent?: boolean;\n title?: string;\n titleFontFamily?: string;\n titleFontSize?: Int32;\n titleFontWeight?: string;\n titleColor?: ColorValue;\n disableBackButtonMenu?: boolean;\n hideBackButton?: boolean;\n backButtonInCustomView?: boolean;\n // TODO: implement this props on iOS\n topInsetEnabled?: boolean;\n}\n\nexport default codegenNativeComponent<NativeProps>(\n 'RNSScreenStackHeaderConfig',\n {}\n);\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAuC9E,IAAAC,+BAAsB,EACnC,4BAA4B,EAC5B,CAAC,CAAC
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenStackHeaderConfigNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps, ColorValue } from 'react-native';\nimport type {\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\ntype DirectionType = 'rtl' | 'ltr';\n\nexport interface NativeProps extends ViewProps {\n backgroundColor?: ColorValue;\n backTitle?: string;\n backTitleFontFamily?: string;\n backTitleFontSize?: Int32;\n backTitleVisible?: WithDefault<boolean, 'true'>;\n color?: ColorValue;\n direction?: WithDefault<DirectionType, 'ltr'>;\n hidden?: boolean;\n hideShadow?: boolean;\n largeTitle?: boolean;\n largeTitleFontFamily?: string;\n largeTitleFontSize?: Int32;\n largeTitleFontWeight?: string;\n largeTitleBackgroundColor?: ColorValue;\n largeTitleHideShadow?: boolean;\n largeTitleColor?: ColorValue;\n translucent?: boolean;\n title?: string;\n titleFontFamily?: string;\n titleFontSize?: Int32;\n titleFontWeight?: string;\n titleColor?: ColorValue;\n disableBackButtonMenu?: boolean;\n hideBackButton?: boolean;\n backButtonInCustomView?: boolean;\n // TODO: implement this props on iOS\n topInsetEnabled?: boolean;\n}\n\nexport default codegenNativeComponent<NativeProps>(\n 'RNSScreenStackHeaderConfig',\n {}\n);\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAuC9E,IAAAC,+BAAsB,EACnC,4BAA4B,EAC5B,CAAC,CACH,CAAC;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenStackHeaderSubviewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native';\nimport type { WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\nexport type HeaderSubviewTypes =\n | 'back'\n | 'right'\n | 'left'\n | 'title'\n | 'center'\n | 'searchBar';\n\nexport interface NativeProps extends ViewProps {\n type?: WithDefault<HeaderSubviewTypes, 'left'>;\n}\n\nexport default codegenNativeComponent<NativeProps>(\n 'RNSScreenStackHeaderSubview',\n {}\n);\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAgB9E,IAAAC,+BAAsB,EACnC,6BAA6B,EAC7B,CAAC,CAAC
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenStackHeaderSubviewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native';\nimport type { WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\nexport type HeaderSubviewTypes =\n | 'back'\n | 'right'\n | 'left'\n | 'title'\n | 'center'\n | 'searchBar';\n\nexport interface NativeProps extends ViewProps {\n type?: WithDefault<HeaderSubviewTypes, 'left'>;\n}\n\nexport default codegenNativeComponent<NativeProps>(\n 'RNSScreenStackHeaderSubview',\n {}\n);\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAgB9E,IAAAC,+BAAsB,EACnC,6BAA6B,EAC7B,CAAC,CACH,CAAC;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
9
10
|
var _default = (0, _codegenNativeComponent.default)('RNSScreenStack', {});
|
|
10
11
|
exports.default = _default;
|
|
11
12
|
//# sourceMappingURL=ScreenStackNativeComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenStackNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native';\nimport type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype FinishTransitioningEvent = Readonly<{}>;\n\ninterface NativeProps extends ViewProps {\n onFinishTransitioning?: DirectEventHandler<FinishTransitioningEvent>;\n}\n\nexport default codegenNativeComponent<NativeProps>('RNSScreenStack', {});\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","codegenNativeComponent","exports"],"sources":["ScreenStackNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from 'react-native';\nimport type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype FinishTransitioningEvent = Readonly<{}>;\n\ninterface NativeProps extends ViewProps {\n onFinishTransitioning?: DirectEventHandler<FinishTransitioningEvent>;\n}\n\nexport default codegenNativeComponent<NativeProps>('RNSScreenStack', {});\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAI7F;AAAA,IAAAG,QAAA,GAOe,IAAAC,+BAAsB,EAAc,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -27,6 +27,7 @@ var _exportNames = {
|
|
|
27
27
|
shouldUseActivityState: true,
|
|
28
28
|
useTransitionProgress: true,
|
|
29
29
|
isSearchBarAvailableForCurrentPlatform: true,
|
|
30
|
+
isNewBackTitleImplementation: true,
|
|
30
31
|
executeNativeBackPress: true
|
|
31
32
|
};
|
|
32
33
|
exports.SearchBar = exports.ScreenStackHeaderSubview = exports.ScreenStackHeaderSearchBarView = exports.ScreenStackHeaderRightView = exports.ScreenStackHeaderLeftView = exports.ScreenStackHeaderConfig = exports.ScreenStackHeaderCenterView = exports.ScreenStackHeaderBackButtonImage = exports.ScreenStack = exports.ScreenContext = exports.ScreenContainer = exports.Screen = exports.NativeScreenNavigationContainer = exports.NativeScreenContainer = exports.NativeScreen = exports.InnerScreen = exports.FullWindowOverlay = void 0;
|
|
@@ -38,6 +39,12 @@ Object.defineProperty(exports, "executeNativeBackPress", {
|
|
|
38
39
|
return _utils.executeNativeBackPress;
|
|
39
40
|
}
|
|
40
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "isNewBackTitleImplementation", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _utils.isNewBackTitleImplementation;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
41
48
|
Object.defineProperty(exports, "isSearchBarAvailableForCurrentPlatform", {
|
|
42
49
|
enumerable: true,
|
|
43
50
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTransitionProgress","_utils","obj","__esModule","default","_extends","assign","bind","target","i","arguments","length","source","apply","ENABLE_SCREENS","enableScreens","shouldEnableScreens","undefined","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","React","Component","render","active","activityState","style","enabled","rest","props","createElement","View","hidden","display","Screen","Animated","createAnimatedComponent","InnerScreen","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","Image","resizeMode","fadeDuration","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<Omit<SearchBarProps, 'ref'>>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig = (\n props: React.PropsWithChildren<ScreenStackHeaderConfigProps>\n): JSX.Element => <View {...props} />;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useTransitionProgress","_utils","obj","__esModule","default","_extends","assign","bind","target","i","arguments","length","source","apply","ENABLE_SCREENS","enableScreens","shouldEnableScreens","undefined","screensEnabled","enableFreeze","shouldEnableReactFreeze","NativeScreen","React","Component","render","active","activityState","style","enabled","rest","props","createElement","View","hidden","display","Screen","Animated","createAnimatedComponent","InnerScreen","ScreenContext","createContext","ScreenContainer","NativeScreenContainer","NativeScreenNavigationContainer","ScreenStack","FullWindowOverlay","ScreenStackHeaderBackButtonImage","Image","resizeMode","fadeDuration","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenStackHeaderConfig","SearchBar","ScreenStackHeaderSubview","shouldUseActivityState"],"sources":["index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Animated, View, ViewProps, ImageProps, Image } from 'react-native';\nimport {\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n HeaderSubviewTypes,\n SearchBarProps,\n} from './types';\n\nexport * from './types';\nexport { default as useTransitionProgress } from './useTransitionProgress';\nexport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\nlet ENABLE_SCREENS = true;\n\nexport function enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = shouldEnableScreens;\n}\n\nexport function screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// @ts-ignore function stub, freezing logic is located in index.native.tsx\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function enableFreeze(shouldEnableReactFreeze = true): void {\n // noop\n}\n\nexport class NativeScreen extends React.Component<ScreenProps> {\n render(): JSX.Element {\n let {\n active,\n activityState,\n style,\n enabled = ENABLE_SCREENS,\n ...rest\n } = this.props;\n\n if (enabled) {\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0; // change taken from index.native.tsx\n }\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={activityState === 0}\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n {...rest}\n />\n );\n }\n\n return <View {...rest} />;\n }\n}\n\nexport const Screen = Animated.createAnimatedComponent(NativeScreen);\n\nexport const InnerScreen = View;\n\nexport const ScreenContext = React.createContext(Screen);\n\nexport const ScreenContainer: React.ComponentType<ScreenContainerProps> = View;\n\nexport const NativeScreenContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const NativeScreenNavigationContainer: React.ComponentType<ScreenContainerProps> =\n View;\n\nexport const ScreenStack: React.ComponentType<ScreenStackProps> = View;\n\nexport const FullWindowOverlay = View as React.ComponentType<{\n children: ReactNode;\n}>;\n\nexport const ScreenStackHeaderBackButtonImage = (\n props: ImageProps\n): JSX.Element => (\n <View>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </View>\n);\n\nexport const ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<Omit<SearchBarProps, 'ref'>>\n): JSX.Element => <View {...props} />;\n\nexport const ScreenStackHeaderConfig = (\n props: React.PropsWithChildren<ScreenStackHeaderConfigProps>\n): JSX.Element => <View {...props} />;\n\n// @ts-expect-error: search bar props have no common props with View\nexport const SearchBar: React.ComponentType<SearchBarProps> = View;\n\nexport const ScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n> = View;\n\nexport const shouldUseActivityState = true;\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
11
11
|
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); }
|
|
12
12
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
13
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
14
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable @typescript-eslint/no-var-requires */
|
|
15
15
|
// web implementation is taken from `index.tsx`
|
|
16
16
|
const isPlatformSupported = _reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'windows';
|
|
17
17
|
let ENABLE_SCREENS = isPlatformSupported;
|
|
@@ -134,7 +134,6 @@ function ScreenStack(props) {
|
|
|
134
134
|
|
|
135
135
|
// Incomplete type, all accessible properties available at:
|
|
136
136
|
// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
|
|
137
|
-
|
|
138
137
|
class InnerScreen extends _react.default.Component {
|
|
139
138
|
constructor() {
|
|
140
139
|
super(...arguments);
|
|
@@ -391,6 +390,7 @@ module.exports = {
|
|
|
391
390
|
shouldUseActivityState,
|
|
392
391
|
useTransitionProgress: _useTransitionProgress.default,
|
|
393
392
|
isSearchBarAvailableForCurrentPlatform: _utils.isSearchBarAvailableForCurrentPlatform,
|
|
393
|
+
isNewBackTitleImplementation: _utils.isNewBackTitleImplementation,
|
|
394
394
|
executeNativeBackPress: _utils.executeNativeBackPress
|
|
395
395
|
};
|
|
396
396
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactFreeze","_package","_TransitionProgressContext","_useTransitionProgress","_utils","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","isPlatformSupported","Platform","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","version","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","requireNativeComponent","Commands","DelayedFreeze","_ref","freeze","children","freezeState","setFreezeState","React","useState","setImmediate","createElement","Freeze","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","_props$descriptor","_props$descriptors","_descriptor$options$f","_descriptor$options","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","constructor","Animated","Value","ref","_this$props$onCompone","_this$props","onComponentRef","setNativeProps","_this$ref","render","enabled","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","handleRef","_ref$viewConfig","_ref$viewConfig$valid","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","onTransitionProgress","event","nativeEvent","progress","closing","goingForward","useNativeDriver","Provider","View","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","StyleSheet","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","type","Image","resizeMode","fadeDuration","SearchBar","nativeSearchBarRef","createRef","_callMethodWithRef","method","current","blur","focus","toggleCancelButton","flag","clearText","setText","text","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBarCommands","useTransitionProgress","executeNativeBackPress"],"sources":["index.native.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport React, { PropsWithChildren, ReactNode } from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n SearchBarCommands,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\ntype SearchBarCommandsType = {\n blur: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n focus: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n clearText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n toggleCancelButton: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n flag: boolean\n ) => void;\n setText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n text: string\n ) => void;\n};\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\n\nlet NativeSearchBar: React.ComponentType<SearchBarProps> &\n typeof NativeSearchBarCommands;\nlet NativeSearchBarCommands: SearchBarCommandsType;\n\nlet NativeFullWindowOverlay: React.ComponentType<\n PropsWithChildren<{\n style: StyleProp<ViewStyle>;\n }>\n>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || require('./fabric/ScreenNativeComponent').default;\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n require('./fabric/ScreenContainerNativeComponent').default;\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar =\n NativeSearchBar || require('./fabric/SearchBarNativeComponent').default;\n return NativeSearchBar;\n },\n get NativeSearchBarCommands() {\n NativeSearchBarCommands =\n NativeSearchBarCommands ||\n require('./fabric/SearchBarNativeComponent').Commands;\n return NativeSearchBarCommands;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }\n >\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}\n >\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nfunction FullWindowOverlay(props: { children: ReactNode }) {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return <View {...props} />;\n }\n return (\n <ScreensNativeModules.NativeFullWindowOverlay\n style={{ position: 'absolute', width: '100%', height: '100%' }}\n >\n {props.children}\n </ScreensNativeModules.NativeFullWindowOverlay>\n );\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}\n >\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nclass SearchBar extends React.Component<SearchBarProps> {\n nativeSearchBarRef: React.RefObject<SearchBarCommands>;\n\n constructor(props: SearchBarProps) {\n super(props);\n this.nativeSearchBarRef = React.createRef();\n }\n\n _callMethodWithRef(method: (ref: SearchBarCommands) => void) {\n const ref = this.nativeSearchBarRef.current;\n if (ref) {\n method(ref);\n } else {\n console.warn(\n 'Reference to native search bar component has not been updated yet'\n );\n }\n }\n\n blur() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.blur(ref)\n );\n }\n\n focus() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.focus(ref)\n );\n }\n\n toggleCancelButton(flag: boolean) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.toggleCancelButton(ref, flag)\n );\n }\n\n clearText() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.clearText(ref)\n );\n }\n\n setText(text: string) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.setText(ref, text)\n );\n }\n\n render() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View as any as ReactNode;\n }\n\n return (\n <ScreensNativeModules.NativeSearchBar\n {...this.props}\n ref={this.nativeSearchBarRef}\n />\n );\n }\n}\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = (this.context || InnerScreen) as React.ElementType;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n SearchBar,\n FullWindowOverlay,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBarCommands() {\n return ScreensNativeModules.NativeSearchBarCommands;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactFreeze","_package","_TransitionProgressContext","_useTransitionProgress","_utils","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","isPlatformSupported","Platform","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","UIManager","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","version","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeSearchBarCommands","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","requireNativeComponent","Commands","DelayedFreeze","_ref","freeze","children","freezeState","setFreezeState","React","useState","setImmediate","createElement","Freeze","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","_props$descriptor","_props$descriptors","_descriptor$options$f","_descriptor$options","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","constructor","Animated","Value","ref","_this$props$onCompone","_this$props","onComponentRef","setNativeProps","_this$ref","render","enabled","_gestureResponseDista","_gestureResponseDista2","_gestureResponseDista3","_gestureResponseDista4","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","handleRef","_ref$viewConfig","_ref$viewConfig$valid","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","onTransitionProgress","event","nativeEvent","progress","closing","goingForward","useNativeDriver","Provider","View","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","StyleSheet","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","type","Image","resizeMode","fadeDuration","SearchBar","nativeSearchBarRef","createRef","_callMethodWithRef","method","current","blur","focus","toggleCancelButton","flag","clearText","setText","text","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBarCommands","useTransitionProgress","isNewBackTitleImplementation","executeNativeBackPress"],"sources":["index.native.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport React, { PropsWithChildren, ReactNode } from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n SearchBarCommands,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\ntype SearchBarCommandsType = {\n blur: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n focus: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n clearText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>\n ) => void;\n toggleCancelButton: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n flag: boolean\n ) => void;\n setText: (\n viewRef: React.ElementRef<typeof ScreensNativeModules.NativeSearchBar>,\n text: string\n ) => void;\n};\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\n\nlet NativeSearchBar: React.ComponentType<SearchBarProps> &\n typeof NativeSearchBarCommands;\nlet NativeSearchBarCommands: SearchBarCommandsType;\n\nlet NativeFullWindowOverlay: React.ComponentType<\n PropsWithChildren<{\n style: StyleProp<ViewStyle>;\n }>\n>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || require('./fabric/ScreenNativeComponent').default;\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n require('./fabric/ScreenContainerNativeComponent').default;\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar =\n NativeSearchBar || require('./fabric/SearchBarNativeComponent').default;\n return NativeSearchBar;\n },\n get NativeSearchBarCommands() {\n NativeSearchBarCommands =\n NativeSearchBarCommands ||\n require('./fabric/SearchBarNativeComponent').Commands;\n return NativeSearchBarCommands;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }\n >\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}\n >\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nfunction FullWindowOverlay(props: { children: ReactNode }) {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return <View {...props} />;\n }\n return (\n <ScreensNativeModules.NativeFullWindowOverlay\n style={{ position: 'absolute', width: '100%', height: '100%' }}\n >\n {props.children}\n </ScreensNativeModules.NativeFullWindowOverlay>\n );\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}\n >\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nclass SearchBar extends React.Component<SearchBarProps> {\n nativeSearchBarRef: React.RefObject<SearchBarCommands>;\n\n constructor(props: SearchBarProps) {\n super(props);\n this.nativeSearchBarRef = React.createRef();\n }\n\n _callMethodWithRef(method: (ref: SearchBarCommands) => void) {\n const ref = this.nativeSearchBarRef.current;\n if (ref) {\n method(ref);\n } else {\n console.warn(\n 'Reference to native search bar component has not been updated yet'\n );\n }\n }\n\n blur() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.blur(ref)\n );\n }\n\n focus() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.focus(ref)\n );\n }\n\n toggleCancelButton(flag: boolean) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.toggleCancelButton(ref, flag)\n );\n }\n\n clearText() {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.clearText(ref)\n );\n }\n\n setText(text: string) {\n this._callMethodWithRef((ref) =>\n ScreensNativeModules.NativeSearchBarCommands.setText(ref, text)\n );\n }\n\n render() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View as any as ReactNode;\n }\n\n return (\n <ScreensNativeModules.NativeSearchBar\n {...this.props}\n ref={this.nativeSearchBarRef}\n />\n );\n }\n}\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = (this.context || InnerScreen) as React.ElementType;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n SearchBar,\n FullWindowOverlay,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBarCommands() {\n return ScreensNativeModules.NativeSearchBarCommands;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n isNewBackTitleImplementation,\n executeNativeBackPress,\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_NativeStackView","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","NativeStackNavigator","_ref","initialRouteName","children","screenOptions","rest","state","descriptors","navigation","useNavigationBuilder","StackRouter","useEffect","dangerouslyGetParent","undefined","console","warn","_addListener","_ref2","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","createElement","_default","createNavigatorFactory","exports"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n StackActions,\n StackActionHelpers,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation } = useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenOptions,\n });\n\n // Starting from React Navigation v6, `native-stack` should be imported from\n // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`\n React.useEffect(() => {\n // @ts-ignore navigation.dangerouslyGetParent was removed in v6\n if (navigation?.dangerouslyGetParent === undefined) {\n console.warn(\n 'Looks like you are importing `native-stack` from `react-native-screens/native-stack`. Since version 6 of `react-navigation`, it should be imported from `@react-navigation/native-stack`.'\n );\n }\n }, [navigation]);\n\n React.useEffect(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigation as typeof navigation & { addListener: any })?.addListener?.(\n 'tabPress',\n (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }\n ),\n [navigation, state.index, state.key]\n );\n\n return (\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAWA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AAMA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAuD,SAAAI,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAG,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAEvD,SAASI,oBAAoBA,CAAAC,IAAA,EAKC;EAAA,IALA;IAC5BC,gBAAgB;IAChBC,QAAQ;IACRC,aAAa;IACb,GAAGC;EACsB,CAAC,GAAAJ,IAAA;EAC1B,MAAM;IAAEK,KAAK;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAG,IAAAC,4BAAoB,EAM7DC,mBAAW,EAAE;IACbR,gBAAgB;IAChBC,QAAQ;IACRC;EACF,CAAC,CAAC;;EAEF;EACA;EACAvC,KAAK,CAAC8C,SAAS,CAAC,MAAM;IACpB;IACA,IAAI,CAAAH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,oBAAoB,MAAKC,SAAS,EAAE;MAClDC,OAAO,CAACC,IAAI,CACV,
|
|
1
|
+
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_NativeStackView","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","NativeStackNavigator","_ref","initialRouteName","children","screenOptions","rest","state","descriptors","navigation","useNavigationBuilder","StackRouter","useEffect","dangerouslyGetParent","undefined","console","warn","_addListener","_ref2","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","createElement","_default","createNavigatorFactory","exports"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n StackActions,\n StackActionHelpers,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation } = useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenOptions,\n });\n\n // Starting from React Navigation v6, `native-stack` should be imported from\n // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`\n React.useEffect(() => {\n // @ts-ignore navigation.dangerouslyGetParent was removed in v6\n if (navigation?.dangerouslyGetParent === undefined) {\n console.warn(\n 'Looks like you are importing `native-stack` from `react-native-screens/native-stack`. Since version 6 of `react-navigation`, it should be imported from `@react-navigation/native-stack`.'\n );\n }\n }, [navigation]);\n\n React.useEffect(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (navigation as typeof navigation & { addListener: any })?.addListener?.(\n 'tabPress',\n (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }\n ),\n [navigation, state.index, state.key]\n );\n\n return (\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","width","height","Dimensions","initialMetrics","Platform","OS","initialWindowMetrics","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","_ref","children","style","createElement","SafeAreaInsetsContext","Consumer","View","styles","container","SafeAreaProvider","StyleSheet","create","flex"],"sources":["SafeAreaProviderCompat.tsx"],"sourcesContent":["// code taken from\n// https://github.com/react-navigation/react-navigation/blob/ec0d113eb25c39ef9defb6c7215640f44e3569ae/packages/elements/src/SafeAreaProviderCompat.tsx\nimport * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return <View style={[styles.container, style]}>{children}</View>;\n }\n\n return (\n <SafeAreaProvider initialMetrics={initialMetrics} style={style}>\n {children}\n </SafeAreaProvider>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,2BAAA,GAAAF,OAAA;AAIwC,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAfxC;AACA;;AAqBA,MAAM;EAAEW,KAAK,GAAG,CAAC;EAAEC,MAAM,GAAG;AAAE,CAAC,GAAGC,uBAAU,CAACd,GAAG,CAAC,QAAQ,CAAC;;AAE1D;AACA;AACA;AACA,MAAMe,cAAc,GAClBC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIC,gDAAoB,IAAI,IAAI,GACjD;EACEC,KAAK,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAET,KAAK;IAAEC;EAAO,CAAC;EACpCS,MAAM,EAAE;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE;AACjD,CAAC,GACDR,gDAAoB;AAEX,SAASS,sBAAsBA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAAF,IAAA;EACvE,oBACE3C,KAAA,CAAA8C,aAAA,CAAC1C,2BAAA,CAAA2C,qBAAqB,CAACC,QAAQ,QAC3BX,MAAM,IAAK;IACX,IAAIA,MAAM,EAAE;MACV;MACA;MACA;MACA,oBAAOrC,KAAA,CAAA8C,aAAA,CAAC3C,YAAA,CAAA8C,IAAI;QAACJ,KAAK,EAAE,CAACK,MAAM,CAACC,SAAS,EAAEN,KAAK;MAAE,GAAED,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","width","height","Dimensions","initialMetrics","Platform","OS","initialWindowMetrics","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","_ref","children","style","createElement","SafeAreaInsetsContext","Consumer","View","styles","container","SafeAreaProvider","StyleSheet","create","flex"],"sources":["SafeAreaProviderCompat.tsx"],"sourcesContent":["// code taken from\n// https://github.com/react-navigation/react-navigation/blob/ec0d113eb25c39ef9defb6c7215640f44e3569ae/packages/elements/src/SafeAreaProviderCompat.tsx\nimport * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return <View style={[styles.container, style]}>{children}</View>;\n }\n\n return (\n <SafeAreaProvider initialMetrics={initialMetrics} style={style}>\n {children}\n </SafeAreaProvider>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","useBackPressSubscription","_ref","onBackPress","isDisabled","isActive","setIsActive","React","useState","subscription","useRef","clearSubscription","useCallback","_subscription$current","shouldSetActive","arguments","length","undefined","current","remove","createSubscription","_subscription$current2","BackHandler","addEventListener","handleAttached","handleDetached","useEffect"],"sources":["useBackPressSubscription.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, NativeEventSubscription } from 'react-native';\n\ninterface Args {\n onBackPress: () => boolean;\n isDisabled: boolean;\n}\n\ninterface UseBackPressSubscription {\n handleAttached: () => void;\n handleDetached: () => void;\n createSubscription: () => void;\n clearSubscription: () => void;\n}\n\n/**\n * This hook is an abstraction for keeping back press subscription\n * logic in one place.\n */\nexport function useBackPressSubscription({\n onBackPress,\n isDisabled,\n}: Args): UseBackPressSubscription {\n const [isActive, setIsActive] = React.useState(false);\n const subscription = React.useRef<NativeEventSubscription | undefined>();\n\n const clearSubscription = React.useCallback((shouldSetActive = true) => {\n subscription.current?.remove();\n subscription.current = undefined;\n if (shouldSetActive) setIsActive(false);\n }, []);\n\n const createSubscription = React.useCallback(() => {\n if (!isDisabled) {\n subscription.current?.remove();\n subscription.current = BackHandler.addEventListener(\n 'hardwareBackPress',\n onBackPress\n );\n setIsActive(true);\n }\n }, [isDisabled, onBackPress]);\n\n const handleAttached = React.useCallback(() => {\n if (isActive) {\n createSubscription();\n }\n }, [createSubscription, isActive]);\n\n const handleDetached = React.useCallback(() => {\n clearSubscription(false);\n }, [clearSubscription]);\n\n React.useEffect(() => {\n if (isDisabled) {\n clearSubscription();\n }\n }, [isDisabled, clearSubscription]);\n\n return {\n handleAttached,\n handleDetached,\n createSubscription,\n clearSubscription,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAoE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAcpE;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAAC,IAAA,EAGL;EAAA,IAHM;IACvCC,WAAW;IACXC;EACI,CAAC,GAAAF,IAAA;EACL,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGF,cAAK,CAACG,MAAM,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","useBackPressSubscription","_ref","onBackPress","isDisabled","isActive","setIsActive","React","useState","subscription","useRef","clearSubscription","useCallback","_subscription$current","shouldSetActive","arguments","length","undefined","current","remove","createSubscription","_subscription$current2","BackHandler","addEventListener","handleAttached","handleDetached","useEffect"],"sources":["useBackPressSubscription.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, NativeEventSubscription } from 'react-native';\n\ninterface Args {\n onBackPress: () => boolean;\n isDisabled: boolean;\n}\n\ninterface UseBackPressSubscription {\n handleAttached: () => void;\n handleDetached: () => void;\n createSubscription: () => void;\n clearSubscription: () => void;\n}\n\n/**\n * This hook is an abstraction for keeping back press subscription\n * logic in one place.\n */\nexport function useBackPressSubscription({\n onBackPress,\n isDisabled,\n}: Args): UseBackPressSubscription {\n const [isActive, setIsActive] = React.useState(false);\n const subscription = React.useRef<NativeEventSubscription | undefined>();\n\n const clearSubscription = React.useCallback((shouldSetActive = true) => {\n subscription.current?.remove();\n subscription.current = undefined;\n if (shouldSetActive) setIsActive(false);\n }, []);\n\n const createSubscription = React.useCallback(() => {\n if (!isDisabled) {\n subscription.current?.remove();\n subscription.current = BackHandler.addEventListener(\n 'hardwareBackPress',\n onBackPress\n );\n setIsActive(true);\n }\n }, [isDisabled, onBackPress]);\n\n const handleAttached = React.useCallback(() => {\n if (isActive) {\n createSubscription();\n }\n }, [createSubscription, isActive]);\n\n const handleDetached = React.useCallback(() => {\n clearSubscription(false);\n }, [clearSubscription]);\n\n React.useEffect(() => {\n if (isDisabled) {\n clearSubscription();\n }\n }, [isDisabled, clearSubscription]);\n\n return {\n handleAttached,\n handleDetached,\n createSubscription,\n clearSubscription,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAoE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAcpE;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAAC,IAAA,EAGL;EAAA,IAHM;IACvCC,WAAW;IACXC;EACI,CAAC,GAAAF,IAAA;EACL,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMC,YAAY,GAAGF,cAAK,CAACG,MAAM,CAAsC,CAAC;EAExE,MAAMC,iBAAiB,GAAGJ,cAAK,CAACK,WAAW,CAAC,YAA4B;IAAA,IAAAC,qBAAA;IAAA,IAA3BC,eAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IACjE,CAAAF,qBAAA,GAAAJ,YAAY,CAACS,OAAO,cAAAL,qBAAA,uBAApBA,qBAAA,CAAsBM,MAAM,CAAC,CAAC;IAC9BV,YAAY,CAACS,OAAO,GAAGD,SAAS;IAChC,IAAIH,eAAe,EAAER,WAAW,CAAC,KAAK,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMc,kBAAkB,GAAGb,cAAK,CAACK,WAAW,CAAC,MAAM;IACjD,IAAI,CAACR,UAAU,EAAE;MAAA,IAAAiB,sBAAA;MACf,CAAAA,sBAAA,GAAAZ,YAAY,CAACS,OAAO,cAAAG,sBAAA,uBAApBA,sBAAA,CAAsBF,MAAM,CAAC,CAAC;MAC9BV,YAAY,CAACS,OAAO,GAAGI,wBAAW,CAACC,gBAAgB,CACjD,mBAAmB,EACnBpB,WACF,CAAC;MACDG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACF,UAAU,EAAED,WAAW,CAAC,CAAC;EAE7B,MAAMqB,cAAc,GAAGjB,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7C,IAAIP,QAAQ,EAAE;MACZe,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAEf,QAAQ,CAAC,CAAC;EAElC,MAAMoB,cAAc,GAAGlB,cAAK,CAACK,WAAW,CAAC,MAAM;IAC7CD,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvBJ,cAAK,CAACmB,SAAS,CAAC,MAAM;IACpB,IAAItB,UAAU,EAAE;MACdO,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,CAACP,UAAU,EAAEO,iBAAiB,CAAC,CAAC;EAEnC,OAAO;IACLa,cAAc;IACdC,cAAc;IACdL,kBAAkB;IAClBT;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_HeaderHeightContext","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useHeaderHeight","height","useContext","HeaderHeightContext","undefined","Error"],"sources":["useHeaderHeight.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport HeaderHeightContext from './HeaderHeightContext';\n\nexport default function useHeaderHeight() {\n const height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\n \"Couldn't find the header height. Are you inside a screen in a navigator with a header?\"\n );\n }\n\n return height;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAI,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEzC,SAASW,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAG5B,KAAK,CAAC6B,UAAU,CAACC,4BAAmB,CAAC;EAEpD,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_HeaderHeightContext","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useHeaderHeight","height","useContext","HeaderHeightContext","undefined","Error"],"sources":["useHeaderHeight.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport HeaderHeightContext from './HeaderHeightContext';\n\nexport default function useHeaderHeight() {\n const height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\n \"Couldn't find the header height. Are you inside a screen in a navigator with a header?\"\n );\n }\n\n return height;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAI,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEzC,SAASW,eAAeA,CAAA,EAAG;EACxC,MAAMC,MAAM,GAAG5B,KAAK,CAAC6B,UAAU,CAACC,4BAAmB,CAAC;EAEpD,IAAIF,MAAM,KAAKG,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,wFACF,CAAC;EACH;EAEA,OAAOJ,MAAM;AACf"}
|