'use client' import type { FC } from 'react' import React, { useState } from 'react' import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '@/app/components/base/portal-to-follow-elem' export type TooltipProps = { position?: 'top' | 'right' | 'bottom' | 'left' triggerMethod?: 'hover' | 'click' popupContent: React.ReactNode children: React.ReactNode hideArrow?: boolean } const arrow = ( ) const Tooltip: FC = ({ position = 'top', triggerMethod = 'hover', popupContent, children, hideArrow, }) => { const [open, setOpen] = useState(false) return ( triggerMethod === 'click' && setOpen(v => !v)} onMouseEnter={() => triggerMethod === 'hover' && setOpen(true)} onMouseLeave={() => triggerMethod === 'hover' && setOpen(false)} > {children} {popupContent} {!hideArrow && arrow} ) } export default React.memo(Tooltip)