import { CSSProperties, ReactNode } from 'react'; import { TriggerProps } from '../trigger'; /** * @title Tooltip */ export interface TooltipProps { style?: CSSProperties; className?: string | string[]; /** * 触发方式 * @defaultValue hover */ trigger?: TriggerProps['trigger']; escToClose?: TriggerProps['escToClose']; /** * 弹出的内容 */ title?: ReactNode | (() => ReactNode); content?: ReactNode | (() => ReactNode); /** * 兼容 */ tooltip?: ReactNode; /** * 弹出层背景色 */ bgColor?: string; /** * 弹出框挂载的节点 */ getPopupContainer?: (node: HTMLElement) => Element; /** * 弹出框的方位,有 12 个方位可供选择 * @defaultValue top */ position?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb'; /** * 兼容 */ placement?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb'; /** * 迷你尺寸 */ mini?: boolean; prefixCls?: string; /** * 是否在隐藏的时候销毁 DOM 结构 * @defaultValue true */ unmountOnExit?: boolean; /** * 默认的弹出框状态 */ defaultPopupVisible?: boolean; /** * 弹出框是打开还是关闭状态 */ popupVisible?: boolean; /** * 显示或隐藏时触发的回调 */ onVisibleChange?: (visible: boolean) => void; /** * 鼠标移入弹出框的话,弹出框会保留而不销毁 * @defaultValue true */ popupHoverStay?: boolean; /** * 是否在失去焦点的时候关闭弹出框 * @defaultValue true */ blurToHide?: boolean; /** * 是否禁用弹出 */ disabled?: boolean; /** * 可以接受所有 `Trigger` 组件的参数 */ triggerProps?: Partial; /** * 会在打开状态给元素加上一个类,格式为 `${childrenPrefix}-open`。 */ childrenPrefix?: string; }