grepsr-ui-elements
Version:
91 lines (90 loc) • 2.59 kB
TypeScript
import PropTypes from "prop-types";
import { ElementType, MouseEventHandler, ReactElement, ReactNode } from "react";
interface ButtonProps {
/**
* Button contents
*/
children?: ReactNode | ReactElement | undefined;
component?: ElementType<any> | undefined;
/**
* Button color
*/
color: "inherit" | "primary" | "success" | "error" | "info" | "warning" | string;
/**
* Button size
*/
size: "small" | "medium" | "large";
/**
* Button variant
*/
variant: "contained" | "outlined" | "text";
/**
* Button disabled
*/
disabled?: boolean;
/**
* Button fullWidth
*/
fullWidth?: boolean;
/**
* Button start icon
*
*/
startIcon?: ReactNode;
/**
* Button end icon
*
*/
endIcon?: ReactNode;
isIconButton?: boolean | undefined;
arialabelIconbtn?: string;
iconButton?: ReactNode | ReactElement;
iconButtonColor?: string;
/**
* Button click handler
*/
onClick?: MouseEventHandler<HTMLButtonElement> | MouseEventHandler<any> | (() => void) | undefined;
ariaControls?: string;
/**
* Button rest props
*/
restProps?: any;
sx?: any | undefined;
}
export { ButtonProps };
declare const GrepsrButton: {
(props: ButtonProps): JSX.Element;
defaultProps: {
size: string;
variant: string;
color: string;
fullWidth: boolean;
isIconButton: boolean;
iconButton: JSX.Element;
arialabelIconbtn: string;
ariaControls: string;
disabled: boolean;
startIcon: boolean;
endIcon: boolean;
onClick: string;
sx: {};
};
propTypes: {
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
disabled: PropTypes.Requireable<boolean>;
startIcon: PropTypes.Requireable<boolean>;
endIcon: PropTypes.Requireable<boolean>;
fullWidth: PropTypes.Requireable<boolean>;
color: PropTypes.Validator<string>;
size: PropTypes.Validator<string>;
variant: PropTypes.Validator<string>;
isIconButton: PropTypes.Requireable<boolean>;
iconButton: PropTypes.Requireable<PropTypes.ReactNodeLike>;
iconButtonColor: PropTypes.Requireable<string>;
arialabelIconbtn: PropTypes.Requireable<string>;
ariaControls: PropTypes.Requireable<string>;
component: PropTypes.Requireable<PropTypes.ReactComponentLike>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
};
};
export default GrepsrButton;