reablocks
Version:
Component library for React
92 lines (91 loc) • 2.49 kB
TypeScript
export interface ButtonTheme {
/** CSS class applied to the root button element. */
base: string;
/** CSS class applied when the button is disabled. */
disabled: string;
/** CSS class applied when the button spans the full width of its container. */
fullWidth: string;
/** CSS class applied when the button is part of a button group. */
group: string;
/** CSS class applied to text buttons within a button group. */
groupText: string;
/** Class names for the button's start and end adornment slots. */
adornment: {
base: string;
start: string;
end: string;
sizes: {
small: string;
medium: string;
large: string;
[key: string]: string;
};
};
/** Class names for each visual button variant. */
variants: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
/** Class names for each button color, broken down by variant. */
colors: {
default: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
primary: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
secondary: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
success: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
warning: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
error: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
[key: string]: {
filled: string;
outline: string;
text: string;
[key: string]: string;
};
};
/** Class names for each button size. */
sizes: {
small: string;
medium: string;
large: string;
[key: string]: string;
};
/** Class names for icon-only buttons at each size. */
iconSizes: {
small: string;
medium: string;
large: string;
[key: string]: string;
};
}
export declare const buttonTheme: ButtonTheme;