import { OverridableComponentProps } from "../overridable";
import * as React from "react";
export interface MaterialButtonPropsInterface extends OverridableComponentProps {
/**
* The URL to link to when the button is clicked.
* If defined, an `` element will be used as the root node.
* @default undefined
*/
href?: string;
/**
* - uppercase: convert label to upper case
* - capitalize: convert first letter of each word on label to upper case
* - lowercase: convert label to lower case
* - none: no text decoration
* @default 'uppercase'
*/
textTransform?: "uppercase" | "capitalize" | "lowercase" | "none";
/**
* The type of style that will be rendered.
* - contained: with background color
* - outlined: border and transparent backgorund, on hover background color takes the color
* - text: no borders and no background color, on hover
* @default 'contained'
*/
variant?: "text" | "outlined" | "contained";
/**
* The text label for the button
*/
label?: string;
/**
* If `true`, the component is disabled.
* @default false
*/
disabled?: boolean;
resetStyles?: boolean;
/**
* If true, will not show a ripple effect everytime
* the user drops files or clicks the dropzone for selecting files
* @default false
*/
disableRipple?: boolean;
/**
* If true, dark mode colors are used in the component.
*/
darkMode?: boolean;
}
type DefButtonPropsMap = React.DetailedHTMLProps, HTMLButtonElement>;
type DefButtonProps = {
[F in keyof DefButtonPropsMap]: DefButtonPropsMap[F];
};
export type MaterialButtonProps = {
[F in keyof MaterialButtonPropsInterface]: MaterialButtonPropsInterface[F];
} & DefButtonProps;
export {};