import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
import type { ReactElement, ReactNode } from "react";
import { cn } from "../lib/utils";
function TooltipProvider({
delay = 0,
...props
}: TooltipPrimitive.Provider.Props) {
return (
);
}
function Tooltip({ ...props }: TooltipPrimitive.Root.Props) {
return ;
}
function TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {
return ;
}
function TooltipContent({
className,
side = "top",
sideOffset = 4,
align = "center",
alignOffset = 0,
children,
portalProps,
...props
}: TooltipPrimitive.Popup.Props &
Pick<
TooltipPrimitive.Positioner.Props,
"align" | "alignOffset" | "side" | "sideOffset"
> & {
portalProps?: TooltipPrimitive.Portal.Props;
}) {
return (
{children}
);
}
function withTooltip(
trigger: ReactElement,
content?: ReactNode,
portalContainer?: HTMLElement,
) {
if (!content) return trigger;
return (
{content}
);
}
export {
Tooltip,
TooltipTrigger,
TooltipContent,
TooltipProvider,
withTooltip,
};