goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
158 lines • 4.39 kB
TypeScript
import { default as React } from 'react';
export interface DropdownTheme {
container: {
position: string;
width: string;
minWidth: string;
maxWidth: string;
height: string;
minHeight: string;
maxHeight: string;
fontFamily: string;
};
label: {
color: string;
fontSize: string;
fontWeight: string | number;
marginBottom: string;
fontFamily: string;
};
trigger: {
background: string;
border: string;
borderRadius: string;
borderColor: string;
borderFocusedColor: string;
borderErrorColor: string;
color: string;
fontSize: string;
fontFamily: string;
padding: string;
minHeight: string;
cursor: string;
transition: string;
height: string;
};
dropdown: {
background: string;
border: string;
borderRadius: string;
boxShadow: string;
marginTop: string;
maxHeight: string;
zIndex: number;
};
option: {
background: string;
color: string;
fontSize: string;
fontFamily: string;
padding: string;
cursor: string;
transition: string;
hoverBackground: string;
hoverColor: string;
};
icon: {
color: string;
size: string;
transition: string;
};
footerText: {
color: string;
fontSize: string;
fontFamily: string;
marginTop: string;
};
disabled: {
background: string;
color: string;
borderColor: string;
cursor: string;
iconColor: string;
};
scrollbar: {
width: string;
trackBackground: string;
thumbBackground: string;
thumbHoverBackground: string;
borderRadius: string;
};
sacred: {
glow: string;
textShadow: string;
};
}
export interface DropdownStyles {
theme?: 'light' | 'dark' | 'sacred';
width?: string;
minWidth?: string;
maxWidth?: string;
height?: string;
minHeight?: string;
maxHeight?: string;
backgroundColor?: string;
borderColor?: string;
borderFocusedColor?: string;
borderErrorColor?: string;
borderRadius?: string;
borderWidth?: string;
textColor?: string;
fontSize?: string;
fontFamily?: string;
padding?: string;
labelColor?: string;
labelFontSize?: string;
labelFontWeight?: string | number;
labelMarginBottom?: string;
dropdownBackground?: string;
dropdownBorderColor?: string;
dropdownBorderRadius?: string;
dropdownBoxShadow?: string;
dropdownMarginTop?: string;
dropdownMaxHeight?: string;
dropdownZIndex?: number;
optionBackground?: string;
optionColor?: string;
optionFontSize?: string;
optionPadding?: string;
optionHoverBackground?: string;
optionHoverColor?: string;
iconColor?: string;
iconSize?: string;
footerTextColor?: string;
footerTextFontSize?: string;
footerTextMarginTop?: string;
disabled?: boolean;
required?: boolean;
helperTextType?: 'error' | 'info';
margin?: string;
marginTop?: string;
marginBottom?: string;
marginLeft?: string;
marginRight?: string;
transitionDuration?: string;
transitionEasing?: string;
requiredIndicatorColor?: string;
requiredIndicatorText?: string;
}
export declare const dropdownThemes: Record<'light' | 'dark' | 'sacred', DropdownTheme>;
export declare const getDropdownTheme: (styles?: DropdownStyles) => DropdownTheme;
export declare const getDropdownStyles: (styles?: DropdownStyles, isOpen?: boolean, isFocused?: boolean) => {
container: React.CSSProperties;
label: React.CSSProperties;
trigger: React.CSSProperties;
input: React.CSSProperties;
arrowButton: React.CSSProperties;
dropdown: React.CSSProperties;
option: React.CSSProperties;
footerText: React.CSSProperties;
scrollbarStyles: string;
theme: DropdownTheme;
getOptionHoverStyle: () => React.CSSProperties;
};
export declare const getRequiredIndicatorStyle: (styles?: DropdownStyles) => React.CSSProperties;
export declare const getRequiredProps: (required?: boolean) => {
'aria-required'?: boolean;
};
//# sourceMappingURL=dropdown.d.ts.map