@trove-ui/react
Version:
A React component library for T Design UI
56 lines (55 loc) • 1.43 kB
TypeScript
import './index.scss';
import { ButtonHTMLAttributes, type FC, HTMLAttributes, ReactNode } from 'react';
export type ButtonIconPosition = 'left' | 'right';
export type ButtonSize = 'small' | 'large' | 'default';
export type ButtonVariant = 'text' | 'outlined' | 'filled' | 'solid' | 'dashed';
export type ButtonState = 'primary' | 'success' | 'warning' | 'danger' | 'info';
export interface ButtonProps extends HTMLAttributes<HTMLButtonElement> {
/**
* 设置按钮的大小
* @default default
*/
size?: ButtonSize;
/**
* 设置按钮的图标
* @default null
*/
icon?: ReactNode;
/**
* 设置按钮的状态
* @default primary
*/
state?: ButtonState;
/**
* 设置按钮的样式
* @default solid
*/
variant?: ButtonVariant;
/**
* 设置按钮的图标位置
* @default left
*/
iconPosition?: ButtonIconPosition;
/**
* 设置按钮的类型
* @default button
*/
type?: ButtonHTMLAttributes<HTMLButtonElement>['type'];
/**
* 设置按钮是否禁用
* @default false
*/
disabled?: ButtonHTMLAttributes<HTMLButtonElement>['disabled'];
/**
* 设置按钮的点击事件
* @default null
*/
onClick?: () => void;
}
/**
* @author 冯子健
* @date 2025/3/26
* @description 按钮组件
*/
declare const Button: FC<ButtonProps>;
export default Button;