import { ReactNode } from "react"; import { ThemeColor } from "../../types"; import clsx from "clsx"; import { Tooltip } from "../tooltip/Tooltip"; import { TooltipContent } from "../tooltip/TooltipContent"; import { TooltipTrigger } from "../tooltip/TooltipTrigger"; interface Props { children: ReactNode; className?: string; tooltip?: string; url?: string; color?: ThemeColor; onClick?: () => void; onRemove?: () => void; } export function Badge({ children, className, onRemove, onClick, tooltip, url, color = "yellow", }: Props) { const clickable = onClick !== undefined || url !== undefined; const badge = ( {onClick ? ( ) : ( {children} )} {onRemove && ( )} ); const wrappedBadge = url ? {badge} : badge; if (!tooltip) { return wrappedBadge; } return ( {tooltip} {wrappedBadge} ); }