1
This commit is contained in:
+60
@@ -0,0 +1,60 @@
|
||||
import React from 'react';
|
||||
import type { SemanticClassNamesType, SemanticStylesType } from '../_util/hooks';
|
||||
import type { SizeType } from '../config-provider/SizeContext';
|
||||
import Group from './ButtonGroup';
|
||||
import type { ButtonColorType, ButtonHTMLType, ButtonShape, ButtonType, ButtonVariantType } from './buttonHelpers';
|
||||
export type LegacyButtonType = ButtonType | 'danger';
|
||||
export type ButtonSemanticName = keyof ButtonSemanticClassNames & keyof ButtonSemanticStyles;
|
||||
export type ButtonSemanticClassNames = {
|
||||
root?: string;
|
||||
icon?: string;
|
||||
content?: string;
|
||||
};
|
||||
export type ButtonSemanticStyles = {
|
||||
root?: React.CSSProperties;
|
||||
icon?: React.CSSProperties;
|
||||
content?: React.CSSProperties;
|
||||
};
|
||||
export type ButtonClassNamesType = SemanticClassNamesType<BaseButtonProps, ButtonSemanticClassNames>;
|
||||
export type ButtonStylesType = SemanticStylesType<BaseButtonProps, ButtonSemanticStyles>;
|
||||
export interface BaseButtonProps {
|
||||
type?: ButtonType;
|
||||
color?: ButtonColorType;
|
||||
variant?: ButtonVariantType;
|
||||
icon?: React.ReactNode;
|
||||
/** @deprecated please use `iconPlacement` instead */
|
||||
iconPosition?: 'start' | 'end';
|
||||
iconPlacement?: 'start' | 'end';
|
||||
shape?: ButtonShape;
|
||||
size?: SizeType;
|
||||
disabled?: boolean;
|
||||
loading?: boolean | {
|
||||
delay?: number;
|
||||
icon?: React.ReactNode;
|
||||
};
|
||||
prefixCls?: string;
|
||||
className?: string;
|
||||
rootClassName?: string;
|
||||
ghost?: boolean;
|
||||
danger?: boolean;
|
||||
block?: boolean;
|
||||
children?: React.ReactNode;
|
||||
[key: `data-${string}`]: string;
|
||||
classNames?: ButtonClassNamesType;
|
||||
styles?: ButtonStylesType;
|
||||
/** @private Only for internal usage. Do not use in your production */
|
||||
_skipSemantic?: boolean;
|
||||
}
|
||||
type MergedHTMLAttributes = Omit<React.HTMLAttributes<HTMLElement> & React.ButtonHTMLAttributes<HTMLElement> & React.AnchorHTMLAttributes<HTMLElement>, 'type' | 'color'>;
|
||||
export interface ButtonProps extends BaseButtonProps, MergedHTMLAttributes {
|
||||
href?: string;
|
||||
htmlType?: ButtonHTMLType;
|
||||
autoInsertSpace?: boolean;
|
||||
}
|
||||
declare const InternalCompoundedButton: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
||||
type CompoundedComponent = typeof InternalCompoundedButton & {
|
||||
/** @deprecated Please use `Space.Compact` */
|
||||
Group: typeof Group;
|
||||
};
|
||||
declare const Button: CompoundedComponent;
|
||||
export default Button;
|
||||
Reference in New Issue
Block a user