@gechiui/block-editor
Version:
61 lines (55 loc) • 1.27 kB
JavaScript
/**
* External dependencies
*/
import { View, Text } from 'react-native';
/**
* GeChiUI dependencies
*/
import { Icon } from '@gechiui/components';
import { withPreferredColorScheme } from '@gechiui/compose';
import { normalizeIconObject } from '@gechiui/blocks';
/**
* Internal dependencies
*/
import styles from './style.scss';
function Warning( {
title,
message,
icon,
iconClass,
preferredColorScheme,
getStylesFromColorScheme,
...viewProps
} ) {
icon = icon && normalizeIconObject( icon );
const internalIconClass = 'warning-icon' + '-' + preferredColorScheme;
const titleStyle = getStylesFromColorScheme(
styles.title,
styles.titleDark
);
const messageStyle = getStylesFromColorScheme(
styles.message,
styles.messageDark
);
return (
<View
style={ getStylesFromColorScheme(
styles.container,
styles.containerDark
) }
{ ...viewProps }
>
{ icon && (
<View style={ styles.icon }>
<Icon
className={ iconClass || internalIconClass }
icon={ icon && icon.src ? icon.src : icon }
/>
</View>
) }
{ title && <Text style={ titleStyle }>{ title }</Text> }
{ message && <Text style={ messageStyle }>{ message }</Text> }
</View>
);
}
export default withPreferredColorScheme( Warning );