UNPKG

react-typestyle

Version:

A react integration of the TypeStyle ecosystem

47 lines (46 loc) 2.24 kB
/// <reference types="react" /> import * as React from 'react'; import { ClassNames, DynamicSheet, Plugin, SheetGenerator } from '../types'; import Cache from './cache'; import Registry from './registry'; export declare type InputSheet<P> = DynamicSheet<P> | SheetGenerator<P>; export interface InjectedProps { classNames: ClassNames; } export interface Options { plugins?: Plugin[]; renderer: Registry; shouldStylesUpdate<P>(props: P, nextProps: P): boolean; } export interface ComponentOptions<P> { styles?: InputSheet<P>; } export declare type StyledStatelessComponent<P = {}> = React.StatelessComponent<P & InjectedProps> & ComponentOptions<P>; declare const hoc: ({ plugins, renderer, shouldStylesUpdate }: Options) => <OriginalProps extends {}>(Component: (React.ComponentClass<OriginalProps & InjectedProps> & { styles?: DynamicSheet<Readonly<OriginalProps>> | SheetGenerator<Readonly<OriginalProps>> | undefined; }) | (React.StatelessComponent<OriginalProps & InjectedProps> & { styles?: DynamicSheet<Readonly<OriginalProps>> | SheetGenerator<Readonly<OriginalProps>> | undefined; }), componentOptions?: ComponentOptions<Readonly<OriginalProps>>) => { new (props: Readonly<OriginalProps>, context?: any): { classNames: ClassNames; registry: Cache<Readonly<OriginalProps>>; componentWillMount(): void; componentWillReceiveProps(nextProps: Readonly<OriginalProps>): void; componentWillUnmount(): void; render(): JSX.Element; updateStyles(props: Readonly<OriginalProps>): void; setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<OriginalProps>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: (() => void) | undefined): void; forceUpdate(callBack?: (() => void) | undefined): void; props: Readonly<{ children?: React.ReactNode; }> & Readonly<Readonly<OriginalProps>>; state: Readonly<{}>; context: any; refs: { [key: string]: React.ReactInstance; }; }; defaultProps: Partial<OriginalProps & InjectedProps> | undefined; propTypes: React.ValidationMap<OriginalProps & InjectedProps> | undefined; }; export default hoc;