all files / src/components/ TooltipWrapper.jsx

83.33% Statements 10/12
100% Branches 0/0
0% Functions 0/1
90% Lines 9/10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                          
import React from 'react';
import PropTypes from 'prop-types';
import { Tooltip, OverlayTrigger } from 'react-bootstrap';
import { slugify } from '../modules/utils';
 
const propTypes = {
  label: PropTypes.string.isRequired,
  tooltip: PropTypes.node.isRequired,
  children: PropTypes.node.isRequired,
  placement: PropTypes.string,
};
 
const defaultProps = {
  placement: 'top',
};
 
export default function TooltipWrapper({ label, tooltip, children, placement }) {
  return (
    <OverlayTrigger
      placement={placement}
      overlay={<Tooltip id={`${slugify(label)}-tooltip`}>{tooltip}</Tooltip>}
    >
      {children}
    </OverlayTrigger>
  );
}
 
TooltipWrapper.propTypes = propTypes;
TooltipWrapper.defaultProps = defaultProps;