UNPKG

870 BTypeScriptView Raw
1import * as React from 'react';
2import { Animated, View, ViewProps } from 'react-native';
3
4let Screens: typeof import('react-native-screens') | undefined;
5
6try {
7 Screens = require('react-native-screens');
8} catch (e) {
9 // Ignore
10}
11
12export const MaybeScreenContainer = ({
13 enabled,
14 ...rest
15}: ViewProps & {
16 enabled: boolean;
17 children: React.ReactNode;
18}) => {
19 if (Screens != null) {
20 return <Screens.ScreenContainer enabled={enabled} {...rest} />;
21 }
22
23 return <View {...rest} />;
24};
25
26export const MaybeScreen = ({
27 enabled,
28 active,
29 ...rest
30}: ViewProps & {
31 enabled: boolean;
32 active: 0 | 1 | Animated.AnimatedInterpolation;
33 children: React.ReactNode;
34 freezeOnBlur?: boolean;
35}) => {
36 if (Screens != null) {
37 return (
38 <Screens.Screen enabled={enabled} activityState={active} {...rest} />
39 );
40 }
41
42 return <View {...rest} />;
43};