UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

178 lines (177 loc) 15.3 kB
/** * @file TooltipWrapper * @description * @author fex */ /// <reference types="hoist-non-react-statics" /> import React from 'react'; import { ClassNamesFn } from '../theme'; export declare type Trigger = 'hover' | 'click' | 'focus'; export interface TooltipObject { /** * 文字提示标题 */ title?: string; /** * 文字提示内容 */ content?: string; /** * 浮层出现位置 */ placement?: 'top' | 'right' | 'bottom' | 'left'; /** * 主题样式 */ tooltipTheme?: 'light' | 'dark'; /** * 浮层位置相对偏移量 */ offset?: [number, number]; /** * 内容区自定义样式 */ style?: React.CSSProperties; /** * 是否可以移入浮层中, 默认true */ enterable?: boolean; /** * 是否展示浮层指向箭头 */ showArrow?: boolean; /** * 是否禁用提示 */ disabled?: boolean; /** * 浮层延迟显示时间, 单位 ms */ mouseEnterDelay?: number; /** * 浮层延迟隐藏时间, 单位 ms */ mouseLeaveDelay?: number; /** * 浮层内容可通过JSX渲染 */ children?: () => JSX.Element | JSX.Element; /** * 挂载容器元素 */ container?: React.ReactNode; /** * 浮层触发方式 */ trigger?: Trigger | Array<Trigger>; /** * 是否点击非内容区域关闭提示,默认为true */ rootClose?: boolean; /** * 文字提示浮层CSS类名 */ tooltipClassName?: string; } export interface TooltipWrapperProps { tooltip?: string | TooltipObject; classPrefix: string; classnames: ClassNamesFn; placement: 'top' | 'right' | 'bottom' | 'left'; container?: React.ReactNode; trigger: Trigger | Array<Trigger>; rootClose: boolean; overlay?: any; delay: number; theme?: string; tooltipClassName?: string; style?: React.CSSProperties; /** * 显示&隐藏时触发 */ onVisibleChange?: (visible: boolean) => void; } interface TooltipWrapperState { show?: boolean; } export declare class TooltipWrapper extends React.Component<TooltipWrapperProps, TooltipWrapperState> { static defaultProps: Pick<TooltipWrapperProps, 'placement' | 'trigger' | 'rootClose' | 'delay'>; target: HTMLElement; timer: ReturnType<typeof setTimeout>; moutned: boolean; constructor(props: TooltipWrapperProps); componentWillUnmount(): void; getTarget(): Element | Text | null; show(): void; hide(): void; getChildProps(): any; tooltipMouseEnter: (e: MouseEvent) => void; tooltipMouseLeave: (e: MouseEvent) => void; handleShow(): void; handleHide(): void; handleFocus(e: any): void; handleBlur(e: any): void; handleMouseOver(e: any): void; handleMouseOut(e: any): void; handleMouseOverOut(handler: Function, e: React.MouseEvent<HTMLElement>, relatedNative: string): void; handleClick(e: any): void; render(): {} | null | undefined; } declare const _default: { new (props: (Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>): { render(): JSX.Element; context: any; setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; }; new (props: Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps, context: any): { render(): JSX.Element; context: any; setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName" | "onVisibleChange"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: React.Context<string>; ComposedComponent: React.ComponentType<typeof TooltipWrapper>; } & import("hoist-non-react-statics").NonReactStatics<typeof TooltipWrapper, {}> & { ComposedComponent: typeof TooltipWrapper; }; export default _default;