import { memo, useMemo } from 'react';
import { View, type ViewStyle } from 'react-native';
import { Icon, type IconProps } from '../Icon';
import { dialogIconStyles } from './utils';
export type Props = IconProps & {
containerStyle?: ViewStyle;
};
/**
* A component to show an icon in a Dialog.
*
*
*

*
*
* ## Usage
* ```js
* import * as React from 'react';
* import { StyleSheet } from 'react-native';
* import { Paragraph, Dialog, Portal } from 'react-native-paper';
*
* const MyComponent = () => {
* const [visible, setVisible] = React.useState(false);
*
* const hideDialog = () => setVisible(false);
*
* return (
*
*
*
* );
* };
*
* const styles = StyleSheet.create({
* title: {
* textAlign: 'center',
* },
* })
*
* export default MyComponent;
* ```
*/
const DialogIcon = ({ containerStyle, color: colorProp, style, size = 24, ...rest }: Props) => {
const { container, iconColor, iconStyle } = useMemo(() => {
return {
container: [dialogIconStyles.container, containerStyle],
iconColor: colorProp || dialogIconStyles.root.color,
iconStyle: [dialogIconStyles.root, style],
};
}, [colorProp, containerStyle, style]);
return (
);
};
DialogIcon.displayName = 'Dialog_Icon';
export default memo(DialogIcon);