import React, { CSSProperties, ReactNode, useContext, useMemo } from 'react'; import { ConfigContext, SizeType } from '../ConfigProvider'; import classnames from 'classnames'; export interface IButtonProps { icon?: ReactNode; children?: ReactNode; size?: SizeType; block?: boolean; disabled?: boolean; style?: CSSProperties; classNames?: string; onClick?: ( e: React.MouseEvent ) => void; } export type IMainButtonProps = Omit; const Button: React.FC & { MainButton: typeof MainButton } = ( props ) => { const { children, icon } = props; const handleClick = ( e: React.MouseEvent ) => { const { onClick } = props; if (props.disabled) { return; } onClick?.(e); }; const iconNode = icon ? (
{icon}
) : null; return ( ); }; const MainButton: React.FC = (props) => { const handleClick = ( e: React.MouseEvent ) => { const { onClick } = props; if (props.disabled) { return; } onClick?.(e); }; return ( ); }; Button.MainButton = MainButton; export default Button;