import { useFloating, useHover, useInteractions, offset, flip, shift, } from "@floating-ui/react"; import { ReactNode, useState } from "react"; export const Tooltip = ({ children, tooltipContent, }: { children: ReactNode; tooltipContent: ReactNode; }) => { const [isOpen, setIsOpen] = useState(false); const { refs, floatingStyles, context } = useFloating({ open: isOpen, onOpenChange: setIsOpen, middleware: [offset(5), flip(), shift()], }); const hover = useHover(context); const { getReferenceProps, getFloatingProps } = useInteractions([hover]); return ( <>
{children}
{isOpen && (
{tooltipContent}
)} ); };