import React, { ReactNode } from 'react'; import { theme } from '../../theme/theme'; import { Icon } from './Icon'; import type { AlertTypes } from './alert'; import { Text } from '../Text'; import { Box, BoxProps } from '../Box'; import { TouchableComponent } from '../TouchableComponent'; import { ToastAction } from './components/ToastAction'; export interface IAlertComponentProps { message: string | JSX.Element; subMessage?: string | JSX.Element; icon?: JSX.Element; data?: { subTitle?: string | JSX.Element; labelButton?: string; closeToast?: () => void; onPressButton?: () => void; }; type?: AlertTypes; onPress?: () => void; } type ContainerProps = { children: ReactNode; onPress?: () => void } & BoxProps; const Container = ({ children, ...props }: ContainerProps) => props.onPress ? ( {children} ) : ( {children} ); export const AlertTop = ({ message, subMessage, icon, type, data, onPress, }: IAlertComponentProps) => { const { fonts } = theme; const { subTitle, labelButton, closeToast, onPressButton } = data || {}; const isToastAction = type === 'action'; if (isToastAction) { return ( ); } return ( {(!!icon || type) && } {message} {subMessage && ( {subMessage} )} ); };