import { cva, type VariantProps } from "class-variance-authority"; import { Tooltip as TooltipPrimitive } from "radix-ui"; import * as React from "react"; import { cn } from "@/utils/ui"; const TooltipProvider = TooltipPrimitive.Provider; const Tooltip = TooltipPrimitive.Root; const TooltipTrigger = TooltipPrimitive.Trigger; const tooltipVariants = cva( "z-50 overflow-visible rounded-sm text-sm shadow-md", { variants: { variant: { default: "bg-popover text-popover-foreground border px-3 py-1.5", destructive: "bg-destructive/10 text-destructive dark:bg-destructive/20 border-destructive [border-width:0.5px]", outline: "border-border", important: "bg-amber-100/90 text-amber-900 dark:bg-amber-900/20 dark:text-amber-300 border-amber-900 [border-width:0.5px]", promotions: "bg-red-100/90 text-redb-900 dark:bg-red-900/20 dark:text-red-300 border-red-900 [border-width:0.5px]", personal: "bg-green-100/90 text-green-900 dark:bg-green-900/20 dark:text-green-300 border-green-900 [border-width:0.5px]", updates: "bg-purple-100/90 text-purple-900 dark:bg-purple-900/20 dark:text-purple-300 border-purple-900 [border-width:0.5px]", forums: "bg-blue-100/90 text-blue-900 dark:bg-blue-900/20 dark:text-blue-300 border-blue-900 [border-width:0.5px]", sidebar: "bg-white dark:bg-[#413F3E] p-2.5 flex flex-col gap-2", }, }, defaultVariants: { variant: "default", }, }, ); interface TooltipContentProps extends React.ComponentPropsWithoutRef, VariantProps {} const TooltipContent = React.forwardRef< React.ElementRef, TooltipContentProps >(({ className, sideOffset = 4, variant, ...props }, ref) => ( {variant === "sidebar" && ( )} {props.children} )); TooltipContent.displayName = TooltipPrimitive.Content.displayName; export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };