@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
36 lines (35 loc) • 1.3 kB
text/typescript
import { AnchorHTMLAttributes, ButtonHTMLAttributes, CSSProperties, ReactNode, Ref } from "react";
//#region src/base-ui/Button/type.d.ts
type ButtonType = 'default' | 'primary' | 'dashed' | 'link' | 'text';
type ButtonShape = 'default' | 'circle' | 'round';
type ButtonSize = 'small' | 'middle' | 'large';
type ButtonIconPosition = 'start' | 'end';
interface BaseButtonOwnProps {
block?: boolean;
children?: ReactNode;
classNames?: {
icon?: string;
};
danger?: boolean;
disabled?: boolean;
ghost?: boolean;
href?: string;
htmlType?: ButtonHTMLAttributes<HTMLButtonElement>['type'];
icon?: ReactNode;
iconPosition?: ButtonIconPosition;
loading?: boolean;
ref?: Ref<HTMLButtonElement | HTMLAnchorElement>;
shape?: ButtonShape;
size?: ButtonSize;
styles?: {
icon?: CSSProperties;
};
target?: string;
type?: ButtonType;
}
type NativeButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonOwnProps | 'type'>;
type NativeAnchorProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseButtonOwnProps | 'type'>;
type ButtonProps = BaseButtonOwnProps & NativeButtonProps & Partial<NativeAnchorProps>;
//#endregion
export { ButtonIconPosition, ButtonProps, ButtonShape, ButtonSize, ButtonType };
//# sourceMappingURL=type.d.mts.map