fastlion-amis
Version:
一种MIS页面生成工具
134 lines (133 loc) • 3.42 kB
TypeScript
import React from 'react';
import { RendererProps } from '../factory';
import { BaseSchema, SchemaCollection } from '../Schema';
import type { Trigger } from '../components/TooltipWrapper';
export interface TooltipWrapperSchema extends BaseSchema {
/**
* 文字提示容器
*/
type: 'tooltip-wrapper';
/**
* 文字提示标题
*/
title?: string;
/**
* 文字提示内容,兼容 tooltip,但建议通过 content 来实现提示内容
*/
content?: string;
/**
* @deprecated 文字提示内容
*/
tooltip?: string;
/**
* 文字提示浮层出现位置,默认为top
*/
placement?: 'top' | 'right' | 'bottom' | 'left';
/**
* 浮层位置相对偏移量
*/
offset?: [number, number];
/**
* 是否展示浮层指向箭头
*/
showArrow?: boolean;
/**
* 是否禁用提示
*/
disabled?: boolean;
/**
* 浮层触发方式,默认为hover
*/
trigger?: Trigger | Array<Trigger>;
/**
* 浮层延迟显示时间, 单位 ms
*/
mouseEnterDelay?: number;
/**
* 浮层延迟隐藏时间, 单位 ms
*/
mouseLeaveDelay?: number;
/**
* 是否点击非内容区域关闭提示,默认为true
*/
rootClose?: boolean;
/**
* 内容区域
*/
body?: SchemaCollection;
/**
* 内容区包裹标签
*/
wrapperComponent: string;
/**
* 内容区是否内联显示,默认为false
*/
inline?: boolean;
/**
* 主题样式, 默认为light
*/
tooltipTheme?: 'light' | 'dark';
/**
* 内容区自定义样式
*/
style?: {
[propName: string]: any;
};
/**
* 是否可以移入浮层中, 默认true
*/
enterable?: boolean;
/**
* 自定义提示浮层样式
*/
tooltipStyle?: {
[propName: string]: any;
};
/**
* 内容区CSS类名
*/
className?: string;
/**
* 文字提示浮层CSS类名
*/
tooltipClassName?: string;
}
export interface TooltipWrapperProps extends RendererProps {
/**
* 文字提示标题
*/
title?: string;
/**
* 文字提示
*/
content?: string;
tooltip?: string;
/**
* 文字提示位置
*/
placement: 'top' | 'right' | 'bottom' | 'left';
inline?: boolean;
trigger: Trigger | Array<Trigger>;
rootClose?: boolean;
showArrow?: boolean;
offset?: [number, number];
disabled?: boolean;
mouseEnterDelay?: number;
mouseLeaveDelay?: number;
container?: React.ReactNode;
style?: React.CSSProperties;
tooltipStyle?: React.CSSProperties;
wrapperComponent?: string;
tooltipTheme?: 'light' | 'dark';
}
interface TooltipWrapperState {
}
export default class TooltipWrapper extends React.Component<TooltipWrapperProps, TooltipWrapperState> {
static defaultProps: Pick<TooltipWrapperProps, 'placement' | 'trigger' | 'rootClose' | 'mouseEnterDelay' | 'mouseLeaveDelay' | 'inline' | 'wrap' | 'tooltipTheme'>;
constructor(props: TooltipWrapperProps);
renderBody(): JSX.Element;
render(): JSX.Element;
}
export declare class TooltipWrapperRenderer extends TooltipWrapper {
}
export {};