import { ReactNode, HTMLAttributes } from 'react';
export interface LabelProps {
/** 文本 */
text?: string;
/** 自定义提示文案 */
tooltips?: ReactNode;
/** 自定义图标 如果有tooltips,又没有传icon,则用默认图标 */
icon?: ReactNode;
/** 是否需要冒号或者自定义 */
colon?: boolean;
/** 是否加粗 */
strong?: boolean;
/** 置灰文本 */
secondary?: boolean;
/** 禁用文本 */
disabled?: boolean;
}
export interface ToolTipsConfig {
text: string;
icon?: ReactNode;
}
export interface CopyConfig {
/** 拷贝文本 */
text?: string;
/** 自定义图标, 如果没有传icon,则用默认图标 */
icon?: ReactNode;
/** 拷贝成功回调函数 */
onCopy?: (text?: string) => void;
/** 埋点 */
logValue?: string;
}
export interface linkConfig extends HTMLAttributes {
icon?: ReactNode;
tooltips?: ReactNode;
logValue?: string;
}
export interface TextProps extends HTMLAttributes {
/** 自定义颜色 */
color?: string;
/** 添加删除样式 */
del?: boolean;
/** 禁用文本 */
disabled?: boolean;
/** 置灰文本 */
secondary?: boolean;
/** 是否加粗 */
strong?: boolean;
/** 是否为负数 */
negative?: boolean;
/** 可点击 */
link?: linkConfig;
/** 标签 */
label?: LabelProps | string;
/** 当数据不存在默认文本 */
defaultText?: string | number;
/** 自定义提示文案 */
tooltips?: ToolTipsConfig | string;
/** 拷贝 */
copyable?: boolean | CopyConfig;
/** 文本最大宽度,超过后省略号展示 */
maxWidth?: number | string;
}