UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

46 lines (45 loc) 1.64 kB
import React from 'react'; import type { SizeType } from '../config-provider/SizeContext'; import Group from './button-group'; import type { ButtonHTMLType, ButtonShape, ButtonType } from './buttonHelpers'; export type LegacyButtonType = ButtonType | 'danger'; export declare function convertLegacyProps(type?: LegacyButtonType): ButtonProps; export interface BaseButtonProps { type?: ButtonType; icon?: React.ReactNode; shape?: ButtonShape; size?: SizeType; disabled?: boolean; loading?: boolean | { delay?: number; }; prefixCls?: string; className?: string; rootClassName?: string; ghost?: boolean; danger?: boolean; block?: boolean; children?: React.ReactNode; [key: `data-${string}`]: string; classNames?: { icon: string; }; styles?: { icon: React.CSSProperties; }; } export type AnchorButtonProps = { href: string; target?: React.HTMLAttributeAnchorTarget; onClick?: React.MouseEventHandler<HTMLAnchorElement>; } & BaseButtonProps & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, 'type' | 'onClick'>; export type NativeButtonProps = { htmlType?: ButtonHTMLType; onClick?: React.MouseEventHandler<HTMLButtonElement>; } & BaseButtonProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type' | 'onClick'>; export type ButtonProps = Partial<AnchorButtonProps & NativeButtonProps>; type CompoundedComponent = React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLElement>> & { Group: typeof Group; }; declare const Button: CompoundedComponent; export default Button;