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; }