@nekobird/styled-chemistry
Version:
A theming system for css-in-js.
31 lines (30 loc) • 1.46 kB
TypeScript
import { ICompoundGetFunction, ICompoundSuperGetFunction, IElementGetFunction, IElementSuperGetFunction, IMixtureGetFunction, IMixtureSuperGetFunction, ITheme } from '.';
export declare type ISetGetFunctionValue = string | number | null;
export declare type ISuperSetGetFunctionValue = [string, ISetGetFunctionValue];
export declare type ISetGetFunction = IElementGetFunction | ICompoundGetFunction | IMixtureGetFunction;
export declare type ISuperSetGetFunction = IElementSuperGetFunction | ICompoundSuperGetFunction | IMixtureSuperGetFunction;
export interface IPropToStyle {
propNames: string[];
}
export interface IPropToStyleSettingWithSuperSetGetFunction extends IPropToStyle {
get: ISuperSetGetFunction;
isSuperSet: true;
styleProperties?: string[];
}
export interface IPropToStyleSettingWithSetGetFunction extends IPropToStyle {
get: ISetGetFunction;
isSuperSet?: false;
styleProperties?: string[];
}
export interface IPropToStyleSettingDirect extends IPropToStyle {
styleProperties: string[];
}
export declare type IPropToStyleSetting = IPropToStyleSettingWithSuperSetGetFunction | IPropToStyleSettingWithSetGetFunction | IPropToStyleSettingDirect;
export declare type IPropsToStyleMapArray = IPropToStyleSetting[];
export interface IPropsToStyleMap {
(theme: ITheme): IPropsToStyleMapArray;
}
export interface IPropsToStyleMapConfig {
enableBreakpointMapping: boolean;
mediaRule: (a: string) => string;
}