@alifd/next
Version:
A configurable component library for web built on React.
66 lines (65 loc) • 2.26 kB
TypeScript
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import type { AlignType, TooltipProps, TooltipV1Props, TooltipV2Props, TooltipState } from './types';
/** Balloon.Tooltip */
export default class Tooltip extends Component<TooltipProps, TooltipState> {
static displayName: string;
static propTypes: {
prefix: PropTypes.Requireable<string>;
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
children: PropTypes.Requireable<any>;
align: PropTypes.Requireable<string>;
trigger: PropTypes.Requireable<any>;
triggerType: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
popupStyle: PropTypes.Requireable<object>;
popupClassName: PropTypes.Requireable<string>;
popupProps: PropTypes.Requireable<object>;
pure: PropTypes.Requireable<boolean>;
popupContainer: PropTypes.Requireable<any>;
followTrigger: PropTypes.Requireable<boolean>;
id: PropTypes.Requireable<string>;
delay: PropTypes.Requireable<number>;
mouseEnterDelay: PropTypes.Requireable<number>;
mouseLeaveDelay: PropTypes.Requireable<number>;
v2: PropTypes.Requireable<boolean>;
arrowPointToCenter: PropTypes.Requireable<boolean>;
};
static defaultProps: {
triggerType: string;
prefix: string;
align: string;
delay: number;
trigger: React.JSX.Element;
arrowPointToCenter: boolean;
};
readonly props: TooltipV1Props & TooltipV2Props;
constructor(props: TooltipProps);
static getDerivedStateFromProps(nextProps: TooltipProps, prevState: TooltipState): {
align: AlignType | undefined;
innerAlign: boolean;
} | null;
beforePosition: (result: {
config: {
placement: AlignType;
};
style: {
left: number;
top: number;
};
}, obj: {
target: {
width: number;
height: number;
};
}) => {
config: {
placement: AlignType;
};
style: {
left: number;
top: number;
};
};
render(): React.JSX.Element;
}