import React, {FC, useState} from 'react'; import { IAlert, IAlertButton, IAlertButtonGroup, IAlertText, } from './alert.type'; import {AlertStyle as S} from './alert.style'; import {alertVariantMapper as variantMapper} from './mappers/alert-variant-mapper'; import {AlertIconsComponent as AlertIcons} from './parts/icons/alert-icons.component'; import {ButtonComponent} from '../../atoms'; import XClose from 'herein-icon/x-close'; export const Alert: FC = ({ variant = 'primary', hasIcon = true, children, hasDismiss, }) => { const [isDismissed, setIsDismissed] = useState(false); if (isDismissed) return <>; const dismiss = () => setIsDismissed(true); return ( {hasIcon && } {children} {hasDismiss && ( )} ); }; const Title: FC = (props) => { return ; }; const Description: FC = (props) => { return ; }; const ButtonGroup: FC = (props) => { return ; }; const PrimaryButton: FC> = (props) => { return ( ); }; const SecondaryButton: FC> = ( props, ) => { return ( ); }; export const AlertComponent = Object.assign(Alert, { ButtonGroup, PrimaryButton, SecondaryButton, Title, Description, });