@flexis/ui
Version:
Styleless React Components
46 lines • 1.48 kB
TypeScript
import { HTMLAttributes, ReactNode, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
import { Placement, Align, AlignVariant } from '../common/types';
interface ISelfProps {
id?: string;
tabIndex?: number;
placement: Placement;
align?: Align;
content: ReactNode;
children: ReactNode;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, HTMLAttributes<HTMLDivElement>>;
interface IState {
active: boolean;
tooltipWithOffset: boolean;
}
export default class Tooltip extends PureComponent<IProps, IState> {
static propTypes: {
id: PropTypes.Requireable<string>;
tabIndex: PropTypes.Requireable<number>;
placement: PropTypes.Validator<Placement>;
align: PropTypes.Requireable<LineAlignSetting>;
content: PropTypes.Validator<PropTypes.ReactNodeLike>;
children: PropTypes.Validator<PropTypes.ReactNodeLike>;
};
static defaultProps: {
tabIndex: number;
align: AlignVariant;
};
state: {
active: boolean;
tooltipWithOffset: boolean;
};
private elementRef;
private tooltipRef;
render(): JSX.Element;
componentDidUpdate(_: any, { active: prevActive }: IState): void;
private onElementRef;
private onTooltipRef;
private onShow;
private onHide;
private setTooltipPosition;
}
export {};
//# sourceMappingURL=Tooltip.d.ts.map