import type { DescriptionsProps as AntdDescriptionsProps } from 'antd'; import type { DescriptionsItemProps as AntdDescriptionsItemProps } from 'antd/es/descriptions/Item'; import type React from 'react'; import type { CardPrivateProps } from '../card/interface'; import type { EllipsisTooltipProps } from '../ellipsis/interface'; export interface DescriptionsProps extends AntdDescriptionsProps { /** * 空数据占位符 * @default '--' */ empty?: React.ReactNode; /** * 显示空数据占位符 * @default false */ showEmpty?: boolean; wrapperClassName?: string; wrapperStyle?: React.CSSProperties; /** * label 部分宽,如果想保持最小宽且兼容溢出使用 labelStyle 设置 flex-basis */ labelWidth?: React.CSSProperties['width']; } export interface DescriptionsItemProps extends AntdDescriptionsItemProps { /** * 空数据占位符 */ empty?: React.ReactNode; /** * 显示空数据占位符 */ showEmpty?: boolean; /** * label 部分宽,如果想保持最小宽且兼容溢出使用 labelStyle 设置 flex-basis */ labelWidth?: React.CSSProperties['width']; } export interface DescriptionsEllipsisProps extends Omit { /** * 展示几行 * @default 2 */ rows?: number; /** * 气泡框位置,`Tooltip 文字提示` 同属性 * @default 'bottom' */ placement?: EllipsisTooltipProps['placement']; } export interface DescriptionsCardProps extends Omit, Omit { cardSize?: CardPrivateProps['size']; } export interface DescriptionsListProps extends DescriptionsProps { items: DescriptionsItemProps[]; /** * 是否使用卡片的样式 */ card?: boolean; /** * 卡片样式的其他配置属性 */ cardProps?: DescriptionsCardProps; }