import React, { useState } from 'react';
import { Popover, Typography, Button, makeStyles } from '@material-ui/core';
const useStyles = makeStyles((theme) => ({
popover: {
pointerEvents: 'none'
},
paper: {
padding: theme.spacing(1)
},
popoverTextBlock: {
padding: '10px'
}
}));
export enum IconSize {
Small = 'small',
Medium = 'default',
Large = 'large'
}
interface IProps {
icon: React.ElementType;
iconSize: IconSize;
popoverText: string[];
className?: string;
clickable?: boolean;
}
export function IconPopover(props: IProps) {
const {
icon: Icon,
iconSize,
popoverText,
className,
clickable = false,
...otherProps
} = props;
const classes = useStyles();
const [anchorEl, setAnchorEl] = useState(null);
const open = Boolean(anchorEl);
const handleClick = (event) => {
if (event.currentTarget === anchorEl) {
setAnchorEl(null);
} else {
setAnchorEl(event.currentTarget);
}
};
const handleClose = () => {
setAnchorEl(null);
};
const clickableId = open ? 'simple-popover' : undefined;
const handlePopoverOpen = (event) => {
setAnchorEl(event.currentTarget);
};
const handlePopoverClose = () => {
setAnchorEl(null);
};
const textWithLineBreaks = popoverText.map((text) => (
{text}
));
return (