import { cx } from '@fuel-ui/css'; import * as RTooltip from '@radix-ui/react-tooltip'; import type { ReactNode } from 'react'; import { createComponent } from '../../utils'; import * as styles from './styles'; export type TooltipProps = RTooltip.TooltipProps & { content: ReactNode; side?: RTooltip.PopperContentProps['side']; align?: RTooltip.PopperContentProps['align']; className?: string; arrowClassName?: string; sideOffset?: RTooltip.TooltipContentProps['sideOffset']; alignOffset?: RTooltip.TooltipContentProps['alignOffset']; }; export const Tooltip = createComponent( ({ children, content, side = 'top', align, className, arrowClassName, sideOffset = 5, alignOffset, ...props }) => !content ? ( <>{children} ) : ( {children} {content} ), ); const CLASSES = { Content: cx('fuel_TooltipContent', styles.content()), Arrow: cx('fuel_TooltipArrow', styles.arrow()), };