import { ReactElement, MouseEventHandler, ReactNode } from 'react'; import { PopperProps } from '../Popper'; export interface TooltipProps extends Omit { /** * show arrow or not * @default true */ arrow?: boolean; /** * child function that can receive events and ref */ children(opt: { onMouseEnter: MouseEventHandler; onMouseLeave: MouseEventHandler; ref: React.RefCallback; }): ReactElement; /** * Whether to disable portal. If true, it will be a normal component. * @default true */ disablePortal?: boolean; /** * delay time to hide when mouse leave. unit: s. * @default 0.1 */ mouseLeaveDelay?: number; /** * Override tooltip distance to anchor on main axis. Unit: px. * @default value of spacing token `gap-base` */ offsetMainAxis?: number; /** * title of tooltip */ title?: ReactNode; } /** * 滑鼠懸停時顯示的提示框元件。 * * 採用 render prop 模式,`children` 為接收 `ref`、`onMouseEnter`、`onMouseLeave` 的函式。 * 內部使用 `Popper` 進行定位,並整合 `flip`、`shift` 等 floating-ui middleware 自動調整位置以避免溢出視窗。 * 支援自訂偏移量、顯示箭頭及滑鼠離開延遲時間。 * * @example * ```tsx * import Tooltip from '@mezzanine-ui/react/Tooltip'; * * // 基本用法 * * {({ ref, onMouseEnter, onMouseLeave }) => ( * * )} * * * // 自訂位置與關閉箭頭 * * {({ ref, onMouseEnter, onMouseLeave }) => ( * * 文字 * * )} * * * // 增加滑鼠離開延遲 * * {({ ref, onMouseEnter, onMouseLeave }) => ( * * )} * * ``` * * @see {@link Popper} 浮動定位元件 */ declare const Tooltip: import("react").ForwardRefExoticComponent>; export default Tooltip;