zarm
Version:
基于 React 的移动端UI库
39 lines (38 loc) • 2.22 kB
TypeScript
import React from 'react';
import type { HTMLProps } from '../utils/utilityTypes';
import type { BaseButtonProps, ButtonShape, ButtonSize, ButtonTheme } from './interface';
export type { ButtonTheme, ButtonSize, ButtonShape };
export interface ButtonCssVars {
'--height'?: React.CSSProperties['height'];
'--background'?: React.CSSProperties['background'];
'--border-radius'?: React.CSSProperties['borderRadius'];
'--border-color'?: React.CSSProperties['borderColor'];
'--border-width'?: React.CSSProperties['borderWidth'];
'--padding-horizontal'?: React.CSSProperties['paddingLeft'];
'--text-color'?: React.CSSProperties['color'];
'--font-size'?: React.CSSProperties['fontSize'];
'--icon-size'?: React.CSSProperties['fontSize'];
'--loading-color'?: React.CSSProperties['color'];
'--active-background'?: React.CSSProperties['background'];
'--active-border-color'?: React.CSSProperties['borderColor'];
'--active-text-color'?: React.CSSProperties['color'];
'--active-loading-color'?: React.CSSProperties['color'];
'--shadow'?: React.CSSProperties['boxShadow'];
}
export declare type AnchorButtonProps = {
mimeType?: string;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
} & BaseButtonProps & HTMLProps<ButtonCssVars> & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'type' | 'onClick'>;
export declare type NativeButtonProps = {
htmlType?: 'button' | 'submit' | 'reset';
onClick?: React.MouseEventHandler<HTMLButtonElement>;
} & BaseButtonProps & HTMLProps<ButtonCssVars> & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type' | 'onClick'>;
export declare type ButtonProps = Partial<AnchorButtonProps & NativeButtonProps>;
declare const Button: React.ForwardRefExoticComponent<Partial<{
mimeType?: string;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
} & BaseButtonProps & HTMLProps<ButtonCssVars> & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "type" | "onClick"> & {
htmlType?: 'button' | 'submit' | 'reset';
onClick?: React.MouseEventHandler<HTMLButtonElement>;
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick">> & React.RefAttributes<unknown>>;
export default Button;