"use client" import * as React from "react" import { cn } from "cn" import { Focusable, OverlayArrow, Tooltip as TooltipPrimitive, TooltipTrigger as TooltipTriggerPrimitive, } from "react-aria-components" function TooltipTrigger({ delay = 0, children, ...props }: React.ComponentProps) { const [trigger, tooltip] = React.Children.toArray(children) return ( {trigger as React.ComponentProps["children"]} {tooltip} ) } function Tooltip({ className, placement = "top", offset = 4, crossOffset = 0, children, ...props }: Omit< React.ComponentProps, "children" | "className" > & { className?: string children?: React.ReactNode }) { return ( {children} ({ ...defaultStyle, rotate: "0deg", translate: "0 0", transform: placement === "bottom" ? "translate(-50%, calc(50% + 2px)) rotate(45deg)" : placement === "top" ? "translate(-50%, calc(-50% - 2px)) rotate(45deg)" : placement === "left" ? "translate(calc(-50% - 2px), -50%) rotate(45deg)" : "translate(calc(50% + 2px), -50%) rotate(45deg)", })} /> ) } export { Tooltip, TooltipTrigger }