Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
view-container / dist / typings.d.ts
Size: Mime:
import { ComponentType, Component, Attributes, ComponentState } from 'react';
type ThemeArg = any;
export declare type FalseyValue = undefined | null | false;
export declare type Interpolation<P> = FlattenInterpolation<P> | ReadonlyArray<FlattenInterpolation<P> | ReadonlyArray<FlattenInterpolation<P>>>;
export declare type FlattenInterpolation<P> = InterpolationValue | InterpolationFunction<P>;
export declare type InterpolationValue = string | number | Styles | FalseyValue | DefaultStyledEh;
export declare type SimpleInterpolation = InterpolationValue | ReadonlyArray<InterpolationValue | ReadonlyArray<InterpolationValue>>;
export interface Styles {
    [ruleOrSelector: string]: string | number | Styles;
}
export interface InterpolationFunction<P> {
    (props: P): Interpolation<P>;
}
export interface ThemedCssFunction<T> {
    (strings: TemplateStringsArray, ...interpolations: SimpleInterpolation[]): InterpolationValue[];
    <P>(strings: TemplateStringsArray, ...interpolations: Interpolation<ThemedStyledProps<P, T>>[]): FlattenInterpolation<ThemedStyledProps<P, T>>[];
}
type Diff<T extends string, U extends string> = ({
    [P in T]: P;
} & {
    [P in U]: never;
} & {
    [x: string]: never;
})[T];
type Omit<T, K extends keyof T> = Pick<T, Diff<keyof T, K>>;
type WithOptionalTheme<P extends {
    theme?: T;
}, T> = Omit<P, 'theme'> & {
    theme?: T;
};
type Attrs<P, A extends Partial<P>, T> = {
    [K in keyof A]: ((props: ThemedStyledProps<P, T>) => A[K]) | A[K];
};
export interface ThemedStyledFunction<P, T, O = P> {
    (strings: TemplateStringsArray, ...interpolations: Interpolation<ThemedStyledProps<P, T>>[]): BaseStylEh<P, T, O>;
    <U>(strings: TemplateStringsArray, ...interpolations: Interpolation<ThemedStyledProps<P & U, T>>[]): BaseStylEh<P & U, T, O & U>;
    attrs<U, A extends Partial<P & U> = {}>(attrs: Attrs<P & U, A, T>): ThemedStyledFunction<P & A & U, T, O & U>;
}
export interface ThemeProps<T> {
    theme?: T;
}
export declare type ThemedStyledProps<P, T> = P & ThemeProps<T>;
export declare type StyledProps<P> = ThemedStyledProps<P, any>;
export declare type StyledFunction<P> = ThemedStyledFunction<P, any>;
export declare type ThemedOuterStyledProps<P, T> = P & {
    theme?: T;
    innerRef?: (instance: any) => void;
};
export declare type OuterStyledProps<P> = ThemedOuterStyledProps<P, any>;
export declare type StylesOrClassName = string | string[] | TemplateStringsArray;
export interface DefaultProps extends Attributes {
}
export interface DefaultState extends ComponentState {
}
export interface BaseStylEh<Props, State = any, O = Props> extends Component<Props, State> {
    new (props: Props, context?: any): Component<Props, State>;
    (styles?: StylesOrClassName): BaseStylEh<Props, State>;
    (strings: TemplateStringsArray, ...interpolations: Interpolation<ThemedStyledProps<Props, State>>[]): BaseStylEh<Props, State>;
    <P>(strings: TemplateStringsArray, ...interpolations: Interpolation<ThemedStyledProps<P | Props, State>>[]): BaseStylEh<P>;
    <P, TTag extends keyof JSX.IntrinsicElements>(tag: TTag): ThemedStyledFunction<P, BaseStylEh<Props, State>, P & JSX.IntrinsicElements[TTag]>;
    <P, M>(component: BaseStylEh<P, Props, M>): ThemedStyledFunction<P, BaseStylEh<Props, State>, M>;
    <P extends {
        [prop: string]: any;
        theme?: BaseStylEh<Props, State>;
    }>(component: ComponentType<P>): ThemedStyledFunction<P, BaseStylEh<Props, State>, WithOptionalTheme<P, BaseStylEh<Props, State>>>;
    attrs(props: Props): StyledEh<Props, State>;
    className(className?: string): StyledEh<Props, State>;
    qa(dataQa?: string): StyledEh<Props, State>;
    extend: StyledEh<Props, State>;
    withComponent: (component: StyledEh<Props, State>) => StyledEh<Props, State>;
    withTheme<StyledClass extends {
        theme?: ThemeArg;
    }>(component: StyledClass): BaseStylEh<Props, State>;
    css(css: TemplateStringsArray, ...interpolations: SimpleInterpolation[]): InterpolationValue;
    keyframes(strings: TemplateStringsArray, ...interpolations: SimpleInterpolation[]): string;
    injectGlobal(strings: TemplateStringsArray, ...interpolations: SimpleInterpolation[]): void;
    p: StyledEh<Props, State>;
    ul: StyledEh<Props, State>;
    ol: StyledEh<Props, State>;
    li: StyledEh<Props, State>;
    aside: StyledEh<Props, State>;
    figure: StyledEh<Props, State>;
    figcaption: StyledEh<Props, State>;
    img: StyledEh<Props, State>;
    picture: StyledEh<Props, State>;
    main: StyledEh<Props, State>;
    article: StyledEh<Props, State>;
    section: StyledEh<Props, State>;
    nav: StyledEh<Props, State>;
    footer: StyledEh<Props, State>;
    form: StyledEh<Props, State>;
    textarea: StyledEh<Props, State>;
    input: StyledEh<Props, State>;
    label: StyledEh<Props, State>;
    legend: StyledEh<Props, State>;
    fieldset: StyledEh<Props, State>;
    button: StyledEh<Props, State>;
    select: StyledEh<Props, State>;
    span: StyledEh<Props, State>;
    div: StyledEh<Props, State>;
    header: StyledEh<Props, State>;
    h1: StyledEh<Props, State>;
    h2: StyledEh<Props, State>;
    h3: StyledEh<Props, State>;
    h4: StyledEh<Props, State>;
    h5: StyledEh<Props, State>;
    h6: StyledEh<Props, State>;
    p(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    ul(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    ol(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    li(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    aside(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    figure(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    figcaption(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    img(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    picture(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    main(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    article(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    section(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    nav(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    footer(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    form(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    textarea(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    input(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    label(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    legend(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    fieldset(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    button(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    select(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    span(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    div(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    header(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    h1(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    h2(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    h3(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    h4(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    h5(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
    h6(cssOrClass: StylesOrClassName): StyledEh<Props, State>;
}
export declare type StyledEh<P, S = any> = BaseStylEh<P, S>;
export declare type DefaultStyledEh<P = any, S = any> = BaseStylEh<P, S>;
export declare type Styleh<P, S = any> = BaseStylEh<P, S>;
export declare type WithComponent<Props = any, State = any> = (component: StyledEh<Props, State> | ComponentType<Props>) => StyledEh<Props, State>;
export declare type TagName = '' | 'textarea' | 'ul' | 'ol' | 'li' | 'aside' | 'figure' | 'figcaption' | 'img' | 'picture' | 'main' | 'application' | 'article' | 'section' | 'address' | 'abbr' | 'acronym' | 'summary' | 'nav' | 'menu' | 'footer' | 'header' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'form' | 'input' | 'label' | 'legend' | 'fieldset' | 'list' | 'button' | 'select' | 'progress' | 'meter' | 'link' | 'script' | 'meta' | 'title' | 'style' | 'time' | 'video' | 'media' | 'audio' | 'span' | 'div' | 'p' | 'small';
export declare type styled = StyledEh<any>;
export default StyledEh;
declare global {
    var styled: StyledEh<any>;
}