UNPKG

@platform/css

Version:

Helpers for working with inline CSS.

64 lines (63 loc) 2.19 kB
/// <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; };