1 | import * as React from 'react';
|
2 | import * as PropTypes from 'prop-types';
|
3 | import { ButtonProps } from '../Button/Button';
|
4 |
|
5 | import { PopoverClose as _PopoverClose } from './styled';
|
6 | import PopoverHide from './PopoverHide';
|
7 | import Icon from '../Icon';
|
8 | import VisuallyHidden from '../VisuallyHidden';
|
9 | import { Omit } from '../types';
|
10 |
|
11 | export type LocalPopoverCloseProps = {
|
12 | hide(): void;
|
13 | };
|
14 | export type PopoverCloseProps = Omit<ButtonProps, 'children'> & LocalPopoverCloseProps;
|
15 |
|
16 | export 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 |
|
23 | export const popoverClosePropTypes = {
|
24 | hide: PropTypes.func.isRequired
|
25 | };
|
26 | PopoverClose.propTypes = popoverClosePropTypes;
|
27 |
|
28 | PopoverClose.defaultProps = {};
|
29 |
|
30 |
|
31 | const C: React.FunctionComponent<PopoverCloseProps> = PopoverClose;
|
32 | export default C;
|