import React from 'react'; import './Button.css'; /** * Aurora Admin Button(React) * 对齐 button.json 契约: * - type: primary | default | text | link | danger * - size: large | default | small * - disabled / loading / icon / children */ const sizeMap = { large: 'btn-lg', default: 'btn-md', small: 'btn-sm' }; export default function Button({ type = 'default', size = 'default', disabled = false, loading = false, icon = '', text = '', className = '', children, onClick, ...rest }) { const isDisabled = disabled || loading; const classes = [ 'btn', `btn-${type}`, sizeMap[size], isDisabled && !loading ? 'btn-disabled' : '', loading ? 'is-loading' : '', className ].filter(Boolean).join(' '); const handleClick = (e) => { if (isDisabled) return; onClick && onClick(e); }; return ( ); } /* 用法示例: import Button from './Button'; */