goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
96 lines • 2.75 kB
TypeScript
import { default as React } from 'react';
export interface ButtonTheme {
container: {
background: string;
border: string;
borderRadius: string;
boxShadow: string;
backdropFilter: string;
fontFamily: string;
fontSize: string;
fontWeight: string | number;
letterSpacing: string;
color: string;
textShadow?: string;
textTransform?: string;
padding: string;
minHeight: string;
gap: string;
backgroundImage?: string;
};
containerHover: {
transform: string;
boxShadow: string;
backgroundColor: string;
borderColor?: string;
color: string;
textShadow?: string;
};
containerActive: {
transform: string;
boxShadow: string;
};
containerDisabled: {
opacity: number;
backgroundColor: string;
color: string;
borderColor?: string;
textShadow?: string;
};
transition: string;
}
export interface ButtonStyles {
theme?: 'light' | 'dark' | 'sacred';
contentAlign?: 'left' | 'center' | 'right';
iconLocation?: 'left' | 'right' | 'above';
backgroundColor?: string;
borderColor?: string;
borderRadius?: string;
borderWidth?: string;
boxShadow?: string;
backdropFilter?: string;
backgroundImage?: string;
fontFamily?: string;
fontSize?: string;
fontWeight?: string | number;
letterSpacing?: string;
color?: string;
textShadow?: string;
textTransform?: string;
padding?: string;
minHeight?: string;
gap?: string;
hoverBackgroundColor?: string;
hoverBorderColor?: string;
hoverBoxShadow?: string;
hoverTransform?: string;
hoverColor?: string;
hoverTextShadow?: string;
activeTransform?: string;
activeBoxShadow?: string;
disabledOpacity?: number;
disabledBackgroundColor?: string;
disabledColor?: string;
disabledBorderColor?: string;
disabledTextShadow?: string;
margin?: string;
marginTop?: string;
marginBottom?: string;
marginLeft?: string;
marginRight?: string;
transitionDuration?: string;
transitionEasing?: string;
disabled?: boolean;
outline?: boolean;
width?: string;
maxWidth?: string;
minWidth?: string;
height?: string;
maxHeight?: string;
}
export declare const buttonThemes: Record<'light' | 'dark' | 'sacred', ButtonTheme>;
export declare const getButtonTheme: (styles?: ButtonStyles) => ButtonTheme;
export declare const getButtonStyles: (styles?: ButtonStyles, isHovered?: boolean, isActive?: boolean, isDisabled?: boolean) => {
container: React.CSSProperties;
};
//# sourceMappingURL=button.d.ts.map