UNPKG

1.11 kBTypeScriptView Raw
1import * as React from 'react';
2import * as PropTypes from 'prop-types';
3
4import { ButtonProps } from '../Button/Button';
5import Icon from '../Icon';
6import VisuallyHidden from '../VisuallyHidden';
7import { Omit } from '../types';
8import { ToastClose as _ToastClose } from './styled';
9
10export type LocalToastCloseProps = {
11 isAbsolute?: boolean;
12 onClickClose?: ButtonProps['onClick'];
13};
14export type ToastCloseProps = Omit<ButtonProps, 'children'> & LocalToastCloseProps;
15
16export const ToastClose: React.FunctionComponent<LocalToastCloseProps> = ({ onClickClose, ...props }) => (
17 <_ToastClose kind="link" onClick={onClickClose} {...props}>
18 <VisuallyHidden>Close</VisuallyHidden>
19 <Icon a11yHidden icon="times" />
20 </_ToastClose>
21);
22
23export const toastClosePropTypes = {
24 isAbsolute: PropTypes.bool,
25 onClickClose: PropTypes.func
26};
27ToastClose.propTypes = toastClosePropTypes;
28
29export const toastCloseDefaultProps = {
30 isAbsolute: false,
31 onClickClose: undefined
32};
33ToastClose.defaultProps = toastCloseDefaultProps;
34
35const C: React.FunctionComponent<ToastCloseProps> = ToastClose;
36export default C;