/* Copyright 2026 Marimo. All rights reserved. */ import { Tooltip as TooltipPrimitive } from "radix-ui"; import * as React from "react"; import { StyleNamespace } from "@/theme/namespace"; import { cn } from "@/utils/cn"; import { withFullScreenAsRoot, withSmartCollisionBoundary } from "./fullscreen"; const TooltipProvider = ({ delayDuration = 400, ...props }: TooltipPrimitive.TooltipProviderProps) => ( ); const TooltipPortal = withFullScreenAsRoot(TooltipPrimitive.Portal); const TooltipRoot = TooltipPrimitive.Root; const InternalTooltipContent = withSmartCollisionBoundary( TooltipPrimitive.Content, ); const TooltipTrigger = TooltipPrimitive.Trigger; const TooltipContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, sideOffset = 4, ...props }, ref) => ( )); TooltipContent.displayName = TooltipPrimitive.Content.displayName; const Tooltip: React.FC< { content: React.ReactNode; usePortal?: boolean; children: React.ReactNode; asChild?: boolean; side?: TooltipPrimitive.TooltipContentProps["side"]; tabIndex?: number; align?: TooltipPrimitive.TooltipContentProps["align"]; } & React.ComponentPropsWithoutRef > = ({ content, children, usePortal = true, asChild = true, tabIndex, side, align, ...rootProps }) => { if (content == null || content === "") { return children; } return ( {children} {usePortal ? ( {content} ) : ( {content} )} ); }; export { Tooltip, TooltipRoot, TooltipTrigger, TooltipContent, TooltipPortal, TooltipProvider, };