@platform/css
Version:
Helpers for working with inline CSS.
64 lines (63 loc) • 2.19 kB
TypeScript
/// <reference types="react" />
import * as t from './common/types';
import { transform } from './css/css';
export declare class CssValue {
}
export declare type Falsy = undefined | null | false;
export declare type CssProps = React.CSSProperties;
export declare type CssPropsMap = {
[selector: string]: CssProps;
};
export declare type CssClassName = (...styles: Array<CssProps | undefined>) => string;
export declare type CssMergeRules = (...rules: any[]) => CssProps;
export declare type CssFormat = (...styles: Array<t.CssProps | CssValue | Falsy>) => CssValue;
export declare type ICssStyle = {
transform: typeof transform;
format: CssFormat;
global: CssGlobal;
head: ICssHead;
image: CssFormatImage;
toEdges: CssToEdges<ICssEdges>;
toMargins: CssToEdges<ICssMarginEdges>;
toPadding: CssToEdges<ICssPaddingEdges>;
};
export declare type CssGlobal = (styles: CssPropsMap, options?: {
prefix?: string;
}) => void;
export declare type ICssHead = {
importStylesheet(url: string): ICssHead;
};
export declare type CssEdgesInput = string | number | undefined | null | Array<string | number | null>;
export declare type CssToEdges<T> = (input?: CssEdgesInput, options?: {
defaultValue?: CssEdgesInput;
}) => Partial<T>;
export declare type ICssEdges = {
top: string | number;
right: string | number;
bottom: string | number;
left: string | number;
};
export declare type ICssMarginEdges = {
marginTop: string | number;
marginRight: string | number;
marginBottom: string | number;
marginLeft: string | number;
};
export declare type ICssPaddingEdges = {
paddingTop: string | number;
paddingRight: string | number;
paddingBottom: string | number;
paddingLeft: string | number;
};
export declare type CssFormatImageOptions = {
width?: number;
height?: number;
};
export declare type CssFormatImage = (image1x: string | undefined, image2x: string | undefined, options?: CssFormatImageOptions) => ICssBackgroundImage;
export declare type ICssBackgroundImage = {
backgroundImage: string;
width?: number;
height?: number;
backgroundSize: string;
backgroundRepeat: string;
};