Make tooltips persistent when hovered

This commit is contained in:
Dominik Prokop
2019-01-08 17:01:50 +01:00
parent e03461cea2
commit 22c9ce7de8
2 changed files with 10 additions and 3 deletions

View File

@@ -16,7 +16,7 @@ const transitionStyles = {
exiting: { opacity: 0 },
};
interface Props {
interface Props extends React.DOMAttributes<HTMLDivElement> {
renderContent: (content: any) => any;
show: boolean;
placement?: PopperJS.Placement;
@@ -27,7 +27,7 @@ interface Props {
class Popper extends PureComponent<Props> {
render() {
const { renderContent, show, placement } = this.props;
const { renderContent, show, placement, onMouseEnter, onMouseLeave } = this.props;
const { content } = this.props;
return (
@@ -39,6 +39,8 @@ class Popper extends PureComponent<Props> {
{({ ref, style, placement, arrowProps }) => {
return (
<div
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
ref={ref}
style={{
...style,

View File

@@ -12,7 +12,12 @@ const Tooltip = ({ children, renderContent, ...controllerProps }: UsingPopperPro
{(showPopper, hidePopper, popperProps) => {
return (
<>
<Popper {...popperProps} referenceElement={tooltipTriggerRef.current} />
<Popper
{...popperProps}
onMouseEnter={showPopper}
onMouseLeave={hidePopper}
referenceElement={tooltipTriggerRef.current}
/>
{React.cloneElement(children, {
ref: tooltipTriggerRef,
onMouseEnter: showPopper,