/** * @author Ivan Torres */ import { StyleObject } from 'styletron-react'; import HyperspaceLightTheme from './hyperspace/light/theme'; export declare type ThemeClassNames = { [className: string]: { [rule: string]: string | number | StyleObject | undefined; }; }; export declare type Direction = 'ltr' | 'rtl'; // 'COMPACT' | 'COMFORTABLE' export declare type Density = string; type searchCommonProps = { paddingX?: string; searchIconMarginX?: string; height?: string; fontSize?: string; iconSize?: number; borderRadius?: string; lineHeight?: string; }; type buttonGroupCommonProps = { height?: string; marginTop?: string; marginBottom?: string; containerBorderRadius?: string; }; type inputCommonProps = { borderRadius?: string; paddingX?: string; paddingY?: string; fontSize?: string; lineHeight?: string; }; type buttonStyleParams = { color?: string; hoverColor?: string; activeColor?: string; disabledColor?: string; backgroundColor?: string; hoverBackgroundColor?: string; activeBackgroundColor?: string; disabledBackgroundColor?: string; borderColor?: string; hoverBorderColor?: string; activeBorderColor?: string; disabledBorderColor?: string; background?: string; hoverBackground?: string; activeBackground?: string; disabledBackground?: string; disabledOpacity?: string; }; type buttonSizeParams = { minWidth?: string; paddingY?: string; paddingX?: string; borderRadius?: string; fontStyles?: { fontSize?: string; lineHeight?: string; fontWeight?: number; }; }; type iconButtonSizeParams = { buttonSize?: number; iconSize?: number; squareBorderRadius?: number }; type color = { color?: string; hoverColor?: string; activeColor?: string; disabledColor?: string }; type backgroundColor = { backgroundColor?: string; hoverBackgroundColor?: string; activeBackgroundColor?: string; disabledBackgroundColor?: string; }; type borderColor = { borderColor?: string; hoverBorderColor?: string; activeBorderColor?: string; disabledBorderColor?: string; }; export declare type Theme = Omit & { density?: Density; } & { button?: null | { borderRadius?: string; variantSecondary?: { color?: string; hoverBackgroundColor?: string; activeBackgroundColor?: string; }; sizeXxxs?: buttonSizeParams; sizeXxs?: buttonSizeParams; sizeXs?: buttonSizeParams; sizeSm?: Omit; sizeMd?: Omit; sizeLg?: Omit; sizeXl?: Omit; primary?: buttonStyleParams; secondary?: buttonStyleParams; tertiary?: buttonStyleParams; minimal?: buttonStyleParams; }; search?: { sizeXxs?: searchCommonProps; sizeXs?: searchCommonProps; sizeSm?: searchCommonProps; sizeMd?: searchCommonProps; sizeLg?: searchCommonProps; }; buttonGroup?: { sizeXxs?: buttonGroupCommonProps; sizeSm?: buttonGroupCommonProps; sizeMd?: buttonGroupCommonProps; sizeLg?: buttonGroupCommonProps; }; input?: null | { fontWeight?: number; borderRadius?: string; disabledBorderColor?: string; sizeXxxs?: inputCommonProps; sizeXs?: inputCommonProps; sizeSm?: inputCommonProps; sizeMd?: inputCommonProps; sizeLg?: inputCommonProps; }; formControl?: { labelFontStyles?: { fontSize?: string; lineHeight?: string; fontWeight?: number; }; }; list?: null | { selectedEnhancerBackground: string; hoverBackgroundColor: string; }; link?: null | { fontSize?: string; lineHeight?: string; }; tag?: null | { actionButtonBorderRadius?: string; avatarMarginLeft?: string; }; iconButton?: null | { minWidth?: string; sizeXxxxs?: iconButtonSizeParams; sizeXxxs?: iconButtonSizeParams; sizeXxs?: iconButtonSizeParams; sizeXs?: iconButtonSizeParams; sizeSm?: Omit; sizeMd?: Omit; sizeLg?: Omit; sizeXl?: Omit; shapeRound?: color & backgroundColor; shapeRoundBordered?: backgroundColor & borderColor & Omit; shapeSquare?: color & backgroundColor & { borderRadius?: string }; shapeSquareBordered?: Omit & backgroundColor & borderColor; }; tab?: null | { variantDefault?: { fontStyles?: { fontSize?: string; lineHeight?: string; fontWeight?: number; }; positionTopStyles?: { marginLeft?: string; marginRight?: string; }; positionLeftStyles?: { marginTop?: string; marginBottom?: string; }; positionRightStyles?: { marginTop?: string; marginBottom?: string; }; }; }; }; export declare type ThemeModule = { classes: ThemeClassNames; theme: Theme; };