UNPKG

823 BJavaScriptView Raw
1import React from 'react';
2import { PropTypes } from 'prop-types';
3import { Button } from 'reactstrap';
4import Icon from '@availity/icon';
5
6const btnStyles = { fontSize: '1.4em', padding: '.2em .4em' };
7
8const FeedbackButton = ({
9 onClick,
10 icon,
11 active,
12 children,
13 iconSize,
14 ...rest
15}) => (
16 <Button
17 style={btnStyles}
18 color={active === icon ? 'primary' : 'light'}
19 onClick={() => onClick(icon)}
20 {...rest}
21 >
22 <Icon data-testid="feedback-icon" name={icon} size={iconSize} />
23 <span className="sr-only">{children}</span>
24 </Button>
25);
26
27FeedbackButton.propTypes = {
28 onClick: PropTypes.func,
29 icon: PropTypes.string,
30 active: PropTypes.string,
31 children: PropTypes.node,
32 iconSize: PropTypes.string,
33};
34
35FeedbackButton.defaultProps = {
36 iconSize: '',
37};
38
39export default FeedbackButton;