react-native-alert-notification
Version:
Toast notification and dialog box notification for react native
55 lines (52 loc) • 1.79 kB
JavaScript
import * as React from 'react';
import { useContext } from 'react';
import RN, { View } from 'react-native';
import { SafeAreaInsetsContext, SafeAreaProvider } from 'react-native-safe-area-context';
import { Toast } from './Toast';
import { Dialog } from './Dialog';
import { Color } from '../service';
import { StyleSheet } from 'react-native';
export const Root = _ref => {
var _RN$useColorScheme;
let {
theme,
colors,
children,
dialogConfig,
toastConfig
} = _ref;
const colorScheme = (_RN$useColorScheme = RN.useColorScheme) === null || _RN$useColorScheme === void 0 ? void 0 : _RN$useColorScheme.call(RN);
const safeAreaInsetsContext = useContext(SafeAreaInsetsContext);
Color.colorsCustom = colors;
const isDark = (theme ?? colorScheme) === 'dark';
if (safeAreaInsetsContext === null) {
return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(View, {
style: styles.content
}, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog, {
ref: Dialog.instance,
isDark: isDark,
config: dialogConfig
}), /*#__PURE__*/React.createElement(Toast, {
ref: Toast.instance,
isDark: isDark,
config: toastConfig
}), children)));
}
return /*#__PURE__*/React.createElement(View, {
style: styles.content
}, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog, {
ref: Dialog.instance,
isDark: isDark,
config: dialogConfig
}), /*#__PURE__*/React.createElement(Toast, {
ref: Toast.instance,
isDark: isDark,
config: toastConfig
}), children));
};
const styles = StyleSheet.create({
content: {
flex: 1
}
});
//# sourceMappingURL=Root.js.map