UNPKG

@xcritical/theme

Version:
233 lines (161 loc) 6.64 kB
import * as CSS_2 from 'csstype'; import { FlattenSimpleInterpolation } from 'styled-components'; import { MicroMemoize } from 'micro-memoize'; export declare type AllType = any; declare type ArrayOfStringsOrNumbers = (number | string)[]; export declare const BDAZZLED_BLUE = "#2F6690"; export declare const BLACK = " #000"; export declare const BLACK_CHAROCOAL = "#31394C"; export declare const BLACK_RAISIN = "#212734"; export declare const BLUE = "#0078FF"; export declare const BRIGHT_RED = "#dc3545"; export declare const BRONZE = "#C67C3B"; export declare const CHAROCOAL = "#31394C"; export declare const colors: { WHITE: string; BLUE: string; TEAL_BLUE: string; ORANGE: string; ROSE_MADDER: string; GREEN: string; JUNGLE_GREEN: string; PORTLAND_ORANGE: string; VERDIGRIS: string; GOLDENROD: string; PURPLE: string; BDAZZLED_BLUE: string; PINK: string; RED: string; BRONZE: string; TIFFANY: string; YELLOW: string; ORCHID: string; BLACK: string; BLACK_RAISIN: string; DEFAULT: string; BLACK_CHAROCOAL: string; CHAROCOAL: string; PAYNES_GRAY: string; GRAY: string; GRAY_BLUE: string; DARK_LIME: string; BRIGHT_RED: string; VIVID_YELLOW: string; STRONG_CYAN: string; GRAY_LIGHT: string; PRIMARY: string; SECONDARY: string; SUCCESS: string; DANGER: string; WARNING: string; INFO: string; DARK: string; LIGHT: string; }; export declare const compileAppearanceTheme: MicroMemoize.Memoized<(namespace: string, defaultTheme: ITheme, theme: IThemeNamespace, appearanceName: string, baseAppearanceName: string) => ITheme>; export declare const DANGER = "#dc3545"; export declare const DARK = "#3D465E"; export declare const DARK_LIME = "#28a745"; export declare const DEFAULT = "#212734"; export declare const getAppearancePath: (appearanceName?: string, propertyPath?: OneOrManyString | undefined) => string[]; export declare function getAppearanceTheme<T>(namespace: string, defaultTheme: ITheme | ITheme<T>): IApperanceStateFunc<T>; export declare const getFontObj: ({ size, weight, lineHeight, lineHeightRatio, }?: IFont) => React.CSSProperties; export declare const getFontStyle: ({ size, weight, lineHeight, lineHeightRatio, }: IFont) => FlattenSimpleInterpolation; export declare function getStatesTheme<T>(theme: T, stateName: string, baseState?: string): IFuncStateTheme<T>; export declare const getThemedState: (namespace: string, defaultTheme: ITheme) => MicroMemoize.Memoized<(theme: IThemeNamespace<any> | undefined, propertyPath: OneOrManyString | undefined) => ITheme>; export declare const GOLDENROD = "#D5A021"; export declare const GRAY = "#F0F0F0"; export declare const GRAY_BLUE = "#5a6268"; export declare const GRAY_LIGHT = "#f8f9fa"; export declare const GREEN = "#2DD070"; export declare interface IAppearance<T> { [namespace: string]: IThemeBase<T>; } export declare interface IApperanceStateFunc<T> { (theme: IThemeNamespace, appearanceName: string, propertyPath?: string | string[], baseAppearanceName?: string): ITheme | ITheme<T>; } export declare interface IBorder { width?: number; style?: string; color?: string; } export declare interface IBorderRadius { topLeft?: number; topRight?: number; bottomRight?: number; bottomLeft?: number; } export declare interface ICSSProperties extends CSS_2.Properties<string | number | any> { [key: string]: string | number | any | undefined; } export declare type ICSSWideKeyword = 'initial' | 'inherit' | 'unset'; export declare type IFilteredPath = string[]; export declare interface IFont { size?: number | string; weight?: ICSSWideKeyword | 'normal' | 'bold' | 'bolder' | 'lighter' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; lineHeight?: string; lineHeightRatio?: number; } declare interface IFuncStateTheme<T = ITheme> { (propertyPath?: string, defaultValue?: any): T; } export declare interface IHtmlActionStates<T> { hover?: T; active?: T; disabled?: T; selected?: T; focus?: T; invalid?: T; } export declare interface IIndentation { top?: number; right?: number; bottom?: number; left?: number; } export declare interface IIsRTL { isRTL?: boolean; } export declare const INFO = "#17a2b8"; export declare interface IReturnThemeFunction<T, TProp = [], TValue = any> { (theme: IThemeNamespace<ITheme<T>>, appearance: string, baseAppearance: string, ...props: TProp[]): TValue; } export declare type ITheme<T = ICSSProperties | any> = Pick<IThemeBase<T>, Exclude<keyof IThemeBase<T>, 'appearance'>> & { appearance?: IAppearance<T>; }; export declare type IThemeBase<T> = T & IHtmlActionStates<T>; export declare interface IThemeNamespace<T = ICSSProperties | any> { [namespace: string]: ITheme<T> | IThemeBase<T>; } export declare interface ITransition { property?: string; duration?: OneOrManyString; timingFunction?: string; delay?: OneOrManyString; } export declare const JUNGLE_GREEN = "#1B998B"; export declare const LIGHT = "#f8f9fa"; export declare const mergeBaseTheme: MicroMemoize.Memoized<(namespace: string, defaultTheme: ITheme, theme: IThemeNamespace) => ITheme>; export declare type OneOrManyString = string | string[]; export declare const ORANGE = "#FF8F00"; export declare const ORCHID = "#B959FF"; export declare const PAYNES_GRAY = "#3D465E"; export declare const PINK = "#FF004F"; export declare const PORTLAND_ORANGE = "#F46036"; export declare const PRIMARY = "#0078FF"; export declare const PURPLE = "#5A51DE"; export declare const RED = "#E3111A"; export declare const ROSE_MADDER = "#E71D36"; export declare const rtlSide: (isRTL: boolean, property: string) => string; export declare const rtlSwapper: (isRTL: boolean, left: number | string, right: number | string) => ArrayOfStringsOrNumbers; export declare const SECONDARY = "#5a6268"; export declare const STRONG_CYAN = "#17a2b8"; export declare const SUCCESS = "#28a745"; export declare const TEAL_BLUE = "#00CAFF"; export declare const TIFFANY = "#1ACEB3"; export declare const VERDIGRIS = "#5ABCB9"; export declare const VIVID_YELLOW = "#ffc107"; export declare const WARNING = "#ffc107"; export declare const WHITE = "#FFFFFF"; export declare const YELLOW = "#FFC800"; export { }