import * as React from 'react' import { cn } from '@/lib/utils' /** * 中国风卡片组件 * 提供多种传统中国设计风格变体 */ type ChineseCardVariant = 'default' | 'scroll' | 'plaque' | 'portrait' | 'bamboo' interface ChineseCardProps extends React.ComponentProps<'div'> { variant?: ChineseCardVariant /** 是否显示角饰 */ cornerOrnament?: boolean /** 是否显示顶部装饰条 */ headerDecoration?: boolean } function ChineseCard({ className, variant = 'default', cornerOrnament = false, headerDecoration = false, children, ...props }: ChineseCardProps) { return (
{/* 顶部装饰条 */} {headerDecoration && (
)} {/* 角饰元素 */} {cornerOrnament && ( <> )} {children}
) } function ChineseCardHeader({ className, ...props }: React.ComponentProps<'div'>) { return (
) } function ChineseCardTitle({ className, ...props }: React.ComponentProps<'h3'>) { return (

) } function ChineseCardDescription({ className, ...props }: React.ComponentProps<'p'>) { return (

) } function ChineseCardContent({ className, ...props }: React.ComponentProps<'div'>) { return (

) } function ChineseCardFooter({ className, ...props }: React.ComponentProps<'div'>) { return (
) } /** * 中国风分隔线 */ function ChineseDivider({ className, variant = 'wave', ...props }: React.ComponentProps<'div'> & { variant?: 'wave' | 'cloud' | 'meander' | 'simple' }) { return (
) } /** * 统计数字组件 - 用于展示大数字 */ function ChineseStatNumber({ className, children, ...props }: React.ComponentProps<'span'>) { return ( {children} ) } /** * 统计标签组件 */ function ChineseStatLabel({ className, children, ...props }: React.ComponentProps<'span'>) { return ( {children} ) } export { ChineseCard, ChineseCardHeader, ChineseCardTitle, ChineseCardDescription, ChineseCardContent, ChineseCardFooter, ChineseDivider, ChineseStatNumber, ChineseStatLabel, type ChineseCardVariant, }