import { CSSProperties, ReactNode } from 'react'; /** * @title Skeleton */ export interface SkeletonProps { style?: CSSProperties; className?: string; /** * 是否显示动画效果 */ animation?: boolean; /** * 是否显示子组件。为 `true` 时候显示占位符 * @defaultValue true */ loading?: boolean; /** * 是否显示图片占位 */ image?: SkeletonImageProps | boolean; /** * 是否显示文本占位 * @defaultValue true */ text?: SkeletonTextProps | boolean; children?: any; } export interface SkeletonImageProps { style?: CSSProperties; className?: string; icon?: ReactNode; /** 图片形状 */ shape?: 'circle' | 'square'; /** 图片尺寸 */ size?: 'small' | 'middle' | 'large'; /** 图片位置 */ position?: 'left' | 'right'; prefixCls?: string; } export interface SkeletonTextProps { style?: CSSProperties; className?: string; /** 文本行数 */ rows?: number; /** 文本行宽度 */ width?: number | string | (string | number)[]; height?: number | string | (string | number)[]; gap?: number | string | (string | number)[]; prefixCls?: string; }