2022-02-21 11:38:27 +00:00
|
|
|
import { Grow, Paper, Popper, Typography } from "@material-ui/core";
|
|
|
|
import React from "react";
|
|
|
|
import { useIntl } from "react-intl";
|
|
|
|
|
2023-04-20 07:52:44 +00:00
|
|
|
import { Pill } from "../Pill";
|
2022-02-21 11:38:27 +00:00
|
|
|
import messages from "./messages";
|
|
|
|
import useStyles from "./styles";
|
|
|
|
|
|
|
|
export interface PreviewPillProps {
|
|
|
|
className?: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export const PreviewPill: React.FC<PreviewPillProps> = ({ className }) => {
|
|
|
|
const intl = useIntl();
|
|
|
|
const [active, setActive] = React.useState(false);
|
|
|
|
const anchor = React.useRef<HTMLDivElement>(null);
|
|
|
|
const classes = useStyles();
|
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Pill
|
|
|
|
className={className}
|
|
|
|
active={active}
|
|
|
|
color="warning"
|
|
|
|
size="small"
|
|
|
|
label={intl.formatMessage(messages.label)}
|
|
|
|
ref={anchor}
|
|
|
|
onMouseEnter={() => setActive(true)}
|
|
|
|
onMouseLeave={() => setActive(false)}
|
|
|
|
/>
|
|
|
|
<Popper
|
|
|
|
className={classes.popper}
|
|
|
|
open={active}
|
|
|
|
anchorEl={anchor.current}
|
|
|
|
transition
|
|
|
|
placement="bottom-start"
|
|
|
|
>
|
|
|
|
{({ TransitionProps }) => (
|
|
|
|
<Grow {...TransitionProps}>
|
|
|
|
<Paper elevation={16} className={classes.tooltip}>
|
|
|
|
<Typography className={classes.tooltipText}>
|
|
|
|
{intl.formatMessage(messages.tooltip)}
|
|
|
|
</Typography>
|
|
|
|
</Paper>
|
|
|
|
</Grow>
|
|
|
|
)}
|
|
|
|
</Popper>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
PreviewPill.displayName = "PreviewPill";
|
|
|
|
export default PreviewPill;
|