Tooltip
Base UI tooltip in the house chrome.
src/components/ui/tooltip.tsx
"use client";
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
import { cn } from "@/lib/utils";
function TooltipProvider(props: TooltipPrimitive.Provider.Props) {
return <TooltipPrimitive.Provider delay={300} {...props} />;
}
function Tooltip(props: TooltipPrimitive.Root.Props) {
return <TooltipPrimitive.Root {...props} />;
}
function TooltipTrigger(props: TooltipPrimitive.Trigger.Props) {
return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props} />;
}
function TooltipContent({
className,
sideOffset = 6,
...props
}: TooltipPrimitive.Popup.Props & {
sideOffset?: TooltipPrimitive.Positioner.Props["sideOffset"];
}) {
return (
<TooltipPrimitive.Portal>
<TooltipPrimitive.Positioner sideOffset={sideOffset}>
<TooltipPrimitive.Popup
className={cn(
"fade-in-0 zoom-in-95 z-50 animate-in rounded-md border border-border/60 bg-popover px-2 py-1 font-mono text-[10px] text-popover-foreground shadow-md duration-150 motion-reduce:animate-none",
className
)}
data-slot="tooltip-content"
{...props}
/>
</TooltipPrimitive.Positioner>
</TooltipPrimitive.Portal>
);
}
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
- Interaction
- tooltip
DependenciesBundle weight · light
- ui-primitives
- @base-ui/react