import ClickAwayListener from '@mui/material/ClickAwayListener' import * as R from 'ramda' import React, { useState, memo } from 'react' import Popper from './Popper' import HelpIcon from '../styling/icons/action/help/zodiac.svg?react' const usePopperHandler = () => { const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null) const handleOpenHelpPopper = event => { setHelpPopperAnchorEl(helpPopperAnchorEl ? null : event.currentTarget) } const openHelpPopper = event => { setHelpPopperAnchorEl(event.currentTarget) } const handleCloseHelpPopper = () => { setHelpPopperAnchorEl(null) } const helpPopperOpen = Boolean(helpPopperAnchorEl) return { helpPopperAnchorEl, helpPopperOpen, handleOpenHelpPopper, openHelpPopper, handleCloseHelpPopper, } } const HelpTooltip = memo(({ children, width }) => { const handler = usePopperHandler(width) return (
{handler.helpPopperOpen && (
)}
{children}
) }) const HoverableTooltip = memo(({ parentElements, children, width }) => { const handler = usePopperHandler(width) return (
{!R.isNil(parentElements) && (
{parentElements}
)} {R.isNil(parentElements) && ( )}
{children}
) }) export { HoverableTooltip, HelpTooltip }