import {act, fireEvent, render, screen} from '@testing-library/react'; import {cloneElement, useState} from 'react'; import {vi} from 'vitest'; import { FloatingDelayGroup, useDelayGroup, useDelayGroupContext, useFloating, useHover, useInteractions, } from '../../src'; vi.useFakeTimers(); interface Props { label: string; children: JSX.Element; } export const Tooltip = ({children, label}: Props) => { const {delay} = useDelayGroupContext(); const [open, setOpen] = useState(false); const {x, y, refs, strategy, context} = useFloating({ open, onOpenChange: setOpen, }); const {getReferenceProps} = useInteractions([ useHover(context, {delay}), useDelayGroup(context, {id: label}), ]); return ( <> {cloneElement( children, getReferenceProps({ ref: refs.setReference, ...children.props, }), )} {open && (
{label}
)} ); }; function App() { return (