import React, { useEffect, useRef, useState } from "react"; type TooltipProps = { content: string; position: string; children: any; className?: string; }; const Tooltip: React.FC = (props) => { const myRef = useRef(); const myRef2 = useRef(); const [position, setPosition] = useState({}); const [show, setShow] = useState(false); useEffect(() => { const contentHeight = myRef2.current.clientHeight; const pos = { x: myRef.current.offsetLeft + myRef.current.clientWidth / 2, y: myRef.current.offsetTop, }; setPosition(pos); }, []); return ( <>
{props.content} {/* Lorem ipsum, dolor sit amet consectetur adipisicing elit.Illo consequuntur libero placeat porro facere itaque vitae, iusto quos fugiat consequatur. */} {React.cloneElement(props.children, { onMouseOver: () => setShow(true), onMouseOut: () => setShow(false), })}
); }; Tooltip.defaultProps = { position: "top", }; export default Tooltip;