"use client"; import * as TooltipPrimitive from "@radix-ui/react-tooltip"; import type * as React from "react"; import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; function useCanHover() { const [canHover, setCanHover] = useState(false); useEffect(() => { // Hover-capable pointers are a better cross-platform signal than viewport width. const mql = window.matchMedia("(hover: hover) and (pointer: fine)"); const update = () => setCanHover(mql.matches); update(); mql.addEventListener("change", update); return () => mql.removeEventListener("change", update); }, []); return canHover; } function TooltipProvider({ delayDuration = 0, disableHoverableContent = true, ...props }: React.ComponentProps) { return ( ); } function Tooltip({ open, onOpenChange, ...props }: React.ComponentProps) { const canHover = useCanHover(); return ( ); } function TooltipTrigger({ ...props }: React.ComponentProps) { return ; } function TooltipContent({ className, sideOffset = 4, children, ...props }: React.ComponentProps) { return ( {children} ); } export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };