'use client'; import { type ReactNode } from 'react'; import { createPortal } from 'react-dom'; import { type ITooltip, Tooltip as TooltipImpl } from 'react-tooltip'; import clsx from 'clsx'; import { usePreferencesStore } from '@/stores/preferences'; export type { PlacesType } from 'react-tooltip'; interface TooltipProps extends Omit { /** Text to display in the tooltip. */ text?: string; /** Classname for z-index */ layer?: string; } /** * Displays content in a tooltip container. */ export function Tooltip({ text, children, layer = 'z-tooltip', place = 'bottom', className, style, ...restProps }: TooltipProps) { const darkMode = usePreferencesStore(state => state.darkMode); if (typeof window === 'undefined') { return null; } return createPortal( {text ? text : null} {children as ReactNode} , document.body ); }