@cainiaofe/cn-ui-m
Version:
95 lines (94 loc) • 2.19 kB
TypeScript
/// <reference types="react" />
import type { CnStatusTagProps } from "../../cn-tag";
import type { CnIconProps } from "../../cn-icon";
import type { CardFootActionsProps } from './card-foot-actions-props';
export interface CnBaseCardProps {
/**
* 自定义类名(可选)
*/
className?: string;
/**
* 自定义内联样式
*/
style?: React.CSSProperties;
/**
* 卡片类型
*/
shape?: 'group' | 'primary' | 'normal' | 'simple';
/**
* 标题前icon(可选)
*/
icon?: string | CnIconProps;
/**
* 标题
*/
title?: React.ReactNode;
/**
* 标题tips(可选)
*/
titleTips?: string;
/**
* 标题后的Tag(可选)
*/
titleTag?: CnStatusTagProps[] | CnStatusTagProps;
/**
* 无标题下划线,默认为false
*/
noTitleBorder?: boolean;
/**
* 内容区域(必填)
*/
children: React.ReactNode;
/**
* 标签组
* @deprecated 建议使用 titleTag (since version 0.11.24)
*/
tags?: CnStatusTagProps[];
/**
* 描述(可选)
*/
desc?: string;
/**
* action区域内容
*/
action?: React.ReactNode;
/**
* 是否有展开/收起能力
* 默认false, 不展示
*/
foldable?: boolean;
/**
* 卡片展开/收起出发的回调
*/
onFoldChange?: (visible: boolean) => void;
/**
* 受控展开/收起状态
*/
fold?: boolean;
/**
* 初次状态是否收起,foldable 为true时生效
* 默认false, 展开
*/
initFold?: boolean;
/**
* 无边距模式(无边距且无阴影)
*/
noPadding?: boolean;
/**
* 底部按钮组
*/
footAction?: CardFootActionsProps;
/**
* 点击card事件
*/
onClick?: (e: React.MouseEvent<Element, MouseEvent>) => unknown;
/**
* 点击 card 捕获事件
*/
onClickCapture?: (e: React.MouseEvent<Element, MouseEvent>) => unknown;
/**
* 是否开启内容区 flex 布局,给子元素增加 gap 间距能力
* default: false
*/
contentGap?: boolean;
}