import { makeStyles, ClickAwayListener } from '@material-ui/core' import * as R from 'ramda' import React, { useState, memo } from 'react' import Popper from 'src/components/Popper' import { ReactComponent as HelpIcon } from 'src/styling/icons/action/help/zodiac.svg' const useStyles = makeStyles({ transparentButton: { border: 'none', backgroundColor: 'transparent', outline: 'none', cursor: 'pointer', marginTop: 4 }, popoverContent: ({ width }) => ({ width, padding: [[10, 15]] }) }) const usePopperHandler = width => { const classes = useStyles({ width }) const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null) const handleOpenHelpPopper = event => { setHelpPopperAnchorEl(helpPopperAnchorEl ? null : event.currentTarget) } const handleCloseHelpPopper = () => { setHelpPopperAnchorEl(null) } const helpPopperOpen = Boolean(helpPopperAnchorEl) return { classes, helpPopperAnchorEl, helpPopperOpen, handleOpenHelpPopper, handleCloseHelpPopper } } const Tooltip = memo(({ children, width, Icon = HelpIcon }) => { const handler = usePopperHandler(width) return (
{children}
) }) const HoverableTooltip = memo(({ parentElements, children, width }) => { const handler = usePopperHandler(width) return (
{!R.isNil(parentElements) && (
{parentElements}
)} {R.isNil(parentElements) && ( )}
{children}
) }) export { Tooltip, HoverableTooltip }