import React from 'react';
import './Button.css';
/**
* Kole UI 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';
*/