@talend/react-components
Version:
Set of react components.
66 lines • 1.79 kB
JavaScript
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { Button } from '@talend/react-bootstrap';
import Icon from '../../Icon';
import TooltipTrigger from '../../TooltipTrigger';
import getPropsFrom from '../../utils/getPropsFrom';
import OverlayTrigger from '../../OverlayTrigger';
import theme from './ActionIconToggle.module.scss';
import { jsx as _jsx } from "react/jsx-runtime";
function ActionIconToggle(props) {
const {
active,
tick,
className,
icon,
iconTransform,
id,
label,
tooltipPlacement,
buttonRef,
...rest
} = props;
const cn = classNames(className, 'tc-icon-toggle', theme['tc-icon-toggle'], {
[theme.active]: active,
active,
[theme.tick]: tick,
tick
});
return /*#__PURE__*/_jsx(TooltipTrigger, {
label: label,
tooltipPlacement: tooltipPlacement,
children: /*#__PURE__*/_jsx(Button, {
...getPropsFrom(Button, rest),
id: id,
className: cn,
"aria-label": label,
"aria-pressed": active,
bsStyle: "link",
ref: buttonRef,
children: /*#__PURE__*/_jsx(Icon, {
name: icon,
transform: iconTransform
})
})
});
}
ActionIconToggle.propTypes = {
active: PropTypes.bool,
tick: PropTypes.bool,
className: PropTypes.string,
icon: PropTypes.string.isRequired,
iconTransform: PropTypes.string,
id: PropTypes.string,
label: PropTypes.string.isRequired,
onClick: PropTypes.func,
tooltipPlacement: OverlayTrigger.propTypes.placement,
buttonRef: PropTypes.func
};
ActionIconToggle.defaultProps = {
active: false,
tick: false,
tooltipPlacement: 'top'
};
ActionIconToggle.displayName = 'ActionIconToggle';
export default ActionIconToggle;
//# sourceMappingURL=ActionIconToggle.component.js.map