import { forwardRef, HTMLProps, ReactNode, useMemo } from 'react'; import clsx from 'clsx'; import { WdTooltip, WdTooltipHandlers, TooltipProps } from '@/hooks/Mapper/components/ui-kit'; import classes from './WdTooltipWrapper.module.scss'; import { sizeClass, TooltipSize } from '@/hooks/Mapper/components/ui-kit/WdTooltipWrapper/utils.ts'; export type WdTooltipWrapperProps = { content?: (() => ReactNode) | ReactNode; size?: TooltipSize; interactive?: boolean; tooltipClassName?: string; } & Omit, 'content' | 'size'> & Omit; export const WdTooltipWrapper = forwardRef( ( { className, children, content, offset, position, targetSelector, interactive, size, tooltipClassName, ...props }, forwardedRef, ) => { const suffix = useMemo(() => Math.random().toString(36).slice(2, 7), []); const autoClass = `wdTooltipAutoTrigger-${suffix}`; const finalTargetSelector = targetSelector || `.${autoClass}`; return ( {targetSelector ? <>{children}> : {children}} ); }, ); WdTooltipWrapper.displayName = 'WdTooltipWrapper';