import { Tooltip, TooltipProps } from "@heroui/react"; import React, { ReactNode } from "react"; import { cn } from "#/utils/utils"; export interface StyledTooltipProps { children: ReactNode; content: string | ReactNode; tooltipClassName?: React.HTMLAttributes["className"]; placement?: TooltipProps["placement"]; showArrow?: boolean; closeDelay?: number; offset?: number; shouldFlip?: boolean; isOpen?: TooltipProps["isOpen"]; } function getTooltipTriggerChild(children: ReactNode) { if (React.Children.count(children) === 1 && React.isValidElement(children)) { return children; } return {children}; } export function StyledTooltip({ children, content, tooltipClassName, placement = "right", showArrow = false, closeDelay = 100, shouldFlip, offset = 7, isOpen, }: StyledTooltipProps) { const disableAnimation = import.meta.env.MODE === "test"; return ( {getTooltipTriggerChild(children)} ); }