import type { ReactElement } from "react"; import { Tooltip, TooltipContent, TooltipTrigger, cn } from "@tutti-os/ui-system"; import type { AgentGUIAgentTarget, AgentGUIAgentTargetInfoRenderer, AgentGUIAgentTargetInfoSurface } from "../types"; interface AgentTargetInfoTooltipProps { align?: "center" | "end" | "start"; children: ReactElement; fallbackLabel: string; onOpenChange?: (open: boolean) => void; open?: boolean; renderer?: AgentGUIAgentTargetInfoRenderer | null; side?: "bottom" | "left" | "right" | "top"; sideOffset?: number; surface: AgentGUIAgentTargetInfoSurface; target: AgentGUIAgentTarget; } export function AgentTargetInfoTooltip({ align, children, fallbackLabel, onOpenChange, open, renderer, side, sideOffset, surface, target }: AgentTargetInfoTooltipProps): React.JSX.Element { return ( {children} {renderer ? ( ) : ( fallbackLabel )} ); } function AgentTargetInfoContent({ fallbackLabel, renderer, surface, target }: { fallbackLabel: string; renderer: AgentGUIAgentTargetInfoRenderer; surface: AgentGUIAgentTargetInfoSurface; target: AgentGUIAgentTarget; }): React.JSX.Element { const content = renderer({ surface, target }); return content ? ( <>{content} ) : ( {fallbackLabel} ); }