import React, { useCallback, forwardRef, useState } from 'react'; import Popover from '@material-ui/core/Popover'; import Box from '@material-ui/core/Box'; import { useStyles } from './styles'; import { PopoverProps } from './types'; export const PopupClick = forwardRef((props, ref) => { const { trigger, content, anchorOrigin, transformOrigin, mountNode } = props; const classes = useStyles(); const [open, setOpen] = useState(false); const [anchorEl, setAnchorEl] = useState(null); const handleClick = useCallback((event: React.MouseEvent) => { setAnchorEl(event.currentTarget); setOpen(true); }, []); const handleClose = useCallback(() => { setAnchorEl(null); setOpen(false); }, []); return ( <> {React.cloneElement(trigger, { onClick: handleClick })} {content} ); });