UNPKG

999 BTypeScriptView Raw
1import * as React from 'react';
2import * as PropTypes from 'prop-types';
3import { ButtonProps } from '../Button/Button';
4
5import { PopoverClose as _PopoverClose } from './styled';
6import PopoverHide from './PopoverHide';
7import Icon from '../Icon';
8import VisuallyHidden from '../VisuallyHidden';
9import { Omit } from '../types';
10
11export type LocalPopoverCloseProps = {
12 hide(): void;
13};
14export type PopoverCloseProps = Omit<ButtonProps, 'children'> & LocalPopoverCloseProps;
15
16export const PopoverClose: React.FunctionComponent<LocalPopoverCloseProps> = props => (
17 <_PopoverClose use={PopoverHide} size="small" kind="link" {...props}>
18 <VisuallyHidden>Close</VisuallyHidden>
19 <Icon a11yHidden icon="times" />
20 </_PopoverClose>
21);
22
23export const popoverClosePropTypes = {
24 hide: PropTypes.func.isRequired
25};
26PopoverClose.propTypes = popoverClosePropTypes;
27
28PopoverClose.defaultProps = {};
29
30// @ts-ignore
31const C: React.FunctionComponent<PopoverCloseProps> = PopoverClose;
32export default C;