UNPKG

@talend/react-components

Version:
66 lines 1.79 kB
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