Files
kubeshark/ui/src/components/UI/Tooltip.tsx
lirazyehezkel f74a52d4dc UI Infra - Support multiple entry types + refactoring (#211)
* no message

* change local api path

* generic entry list item + rename files and vars

* entry detailed generic

* fix api file

* clean warnings

* switch

* empty lines

* fix scroll to end feature

Co-authored-by: Roee Gadot <roee.gadot@up9.com>
2021-08-15 12:09:56 +03:00

49 lines
1.2 KiB
TypeScript

import {Tooltip as MUITooltip, Fade, TooltipProps as MUITooltipProps, makeStyles} from "@material-ui/core";
import React from "react";
export interface TooltipProps extends MUITooltipProps {
variant?: 'default' | 'wide' | 'fit';
isSimple?: boolean;
classes?: any;
}
export type TooltipPlacement = 'bottom-end' | 'bottom-start' | 'bottom' | 'left-end' | 'left-start' | 'left' | 'right-end' | 'right-start' | 'right' | 'top-end' | 'top-start' | 'top';
const styles = {
default: {
maxWidth: 300
},
wide: {
maxWidth: 700
},
fit: {
maxWidth: '100%'
}
};
const useStyles = makeStyles((theme) => styles);
const Tooltip: React.FC<TooltipProps> = (props) => {
const {isSimple, ..._props} = props;
const classes = useStyles(props.variant);
const variant = props.variant ?? 'default';
const backgroundClass = isSimple ? "" : "noBackground"
return (
<MUITooltip
classes={{tooltip: `${backgroundClass} ` + classes[variant]}}
interactive={true}
enterDelay={200}
TransitionComponent={Fade}
{..._props}
>
{props.children ?? <div/>}
</MUITooltip>
);
};
export default Tooltip;