react-native-country-picker-modal
Version:
react-native country picker
38 lines • 1.38 kB
JavaScript
import * as React from 'react';
import { SafeAreaView, StyleSheet, Platform } from 'react-native';
import { AnimatedModal } from './AnimatedModal';
import { Modal } from './Modal';
import { useTheme } from './CountryTheme';
import { CountryModalContext } from './CountryModalProvider';
const styles = StyleSheet.create({
container: {
flex: 1,
},
});
export const CountryModal = ({ children, withModal, disableNativeModal, ...props }) => {
const { backgroundColor } = useTheme();
const { teleport } = React.useContext(CountryModalContext);
const content = (React.createElement(SafeAreaView, { style: [styles.container, { backgroundColor }] }, children));
React.useEffect(() => {
if (disableNativeModal) {
teleport(React.createElement(AnimatedModal, Object.assign({}, props), content));
}
}, [disableNativeModal]);
if (withModal) {
if (Platform.OS === 'web') {
return React.createElement(Modal, Object.assign({}, props), content);
}
if (disableNativeModal) {
return null;
}
return React.createElement(Modal, Object.assign({}, props), content);
}
return content;
};
CountryModal.defaultProps = {
animationType: 'slide',
animated: true,
withModal: true,
disableNativeModal: false,
};
//# sourceMappingURL=CountryModal.js.map