import { cloneElement, ComponentProps, forwardRef, ReactElement, ReactNode, Ref, } from 'react'; import { Tooltip as ReakitTooltip, TooltipReference, useTooltipState, } from 'reakit/Tooltip'; interface TooltipProps extends ComponentProps { children: ReactNode; text: string; } function TooltipComponent( { children, text, ...props }: TooltipProps, ref: Ref ) { const tooltip = useTooltipState(); return ( <> {(referenceProps) => cloneElement(children as ReactElement, referenceProps)} {text} ); } export const Tooltip = forwardRef(TooltipComponent);