Skip to main content

Tooltip

Tooltip.tsx
import React, { useState } from 'react';
import styles from './Tooltip.module.css';

interface TooltipProps {
text: string;
children: React.ReactNode;
}

const Tooltip = ({ text, children }: TooltipProps) => {
const [showTooltip, setShowTooltip] = useState(false);

const handleMouseEnter = () => {
setShowTooltip(true);
};

const handleMouseLeave = () => {
setShowTooltip(false);
};

return (
<div className={styles.tooltipContainer}>
<div
className={styles.tooltipTrigger}
onMouseEnter={handleMouseEnter}
onMouseLeave={handleMouseLeave}
>
{children}
</div>
{showTooltip && <div className={styles.tooltip}>{text}</div>}
</div>
);
};

export default Tooltip;


Tooltip.module.css
.tooltipContainer {
position: relative;
}

.tooltipTrigger {
display: inline-block;
}

.tooltip {
position: absolute;
top: calc(100% + 5px);
left: 50%;
transform: translateX(-50%);
padding: 5px;
background-color: #333;
color: #fff;
border-radius: 3px;
white-space: nowrap;
}