'use client' import classNames from 'classnames' import type { FC } from 'react' import React, { useState } from 'react' import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '@/app/components/base/portal-to-follow-elem' interface TooltipProps { selector: string content?: string htmlContent?: React.ReactNode className?: string // This should use !impornant to override the default styles eg: '!bg-white' position?: 'top' | 'right' | 'bottom' | 'left' clickable?: boolean children: React.ReactNode } const arrow = ( ) const Tooltip: FC = ({ selector, content, position = 'top', children, htmlContent, className, clickable, }) => { const [open, setOpen] = useState(false) const triggerMethod = clickable ? 'click' : 'hover' return ( triggerMethod === 'click' && setOpen(v => !v)} onMouseEnter={() => triggerMethod === 'hover' && setOpen(true)} onMouseLeave={() => triggerMethod === 'hover' && setOpen(false)} > {children}
{htmlContent ?? content} {arrow}
) } export default Tooltip