choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
64 lines (63 loc) • 2.55 kB
TypeScript
import { Component, CSSProperties, ReactElement, ReactNode } from 'react';
import { AdjustOverflow, PlacementsConfig } from './placements';
import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext';
export { AdjustOverflow, PlacementsConfig };
export declare type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
export declare type TooltipTheme = 'light' | 'dark';
export declare type TooltipTrigger = 'hover' | 'focus' | 'click' | 'contextMenu';
export interface AbstractTooltipProps {
prefixCls?: string;
overlayClassName?: string;
style?: CSSProperties;
overlayStyle?: CSSProperties;
placement?: TooltipPlacement;
builtinPlacements?: Record<string, any>;
defaultVisible?: boolean;
visible?: boolean;
onVisibleBeforeChange?: (visible: boolean) => boolean;
onVisibleChange?: (visible: boolean) => void;
mouseEnterDelay?: number;
mouseLeaveDelay?: number;
transitionName?: string;
trigger?: TooltipTrigger;
openClassName?: string;
arrowPointAtCenter?: boolean;
autoAdjustOverflow?: boolean | AdjustOverflow;
getTooltipContainer?: (triggerNode: Element) => HTMLElement;
getPopupContainer?: (triggerNode: Element) => HTMLElement;
children?: ReactNode;
}
export declare type RenderFunction = () => ReactNode;
export interface TooltipProps extends AbstractTooltipProps {
title?: ReactNode | RenderFunction;
overlay?: ReactNode | RenderFunction;
theme?: TooltipTheme;
}
export default class Tooltip extends Component<TooltipProps, any> {
static displayName: string;
static get contextType(): typeof ConfigContext;
static defaultProps: {
placement: string;
transitionName: string;
mouseEnterDelay: number;
mouseLeaveDelay: number;
arrowPointAtCenter: boolean;
autoAdjustOverflow: boolean;
};
private tooltip;
context: ConfigContextValue;
state: {
visible: boolean;
};
constructor(props: TooltipProps);
componentWillReceiveProps(nextProps: TooltipProps): void;
onVisibleChange: (visible: boolean) => void;
getPopupDomNode(): any;
getPlacements(): any;
isHoverTrigger(): boolean;
getDisabledCompatibleChildren(element: ReactElement<any>): JSX.Element;
isNoTitle(): boolean;
onPopupAlign: (domNode: HTMLElement, align: any) => void;
saveTooltip: (node: any) => void;
render(): JSX.Element;
}