UNPKG

refire-react

Version:

React components and helpers for Refire

46 lines (45 loc) 1.27 kB
/// <reference types="react" /> /// <reference types="react-redux" /> import * as React from "react"; import * as ReactRedux from "react-redux"; export interface Status { errors: { login: string; }; processing: { login: boolean; }; completed: { login: boolean; }; } export interface ExtraProps { email?: string; password?: string; submit?: (event: React.FormEvent<HTMLElement>) => void; updateEmail?: (event: React.FormEvent<HTMLInputElement>) => void; updatePassword?: (event: React.FormEvent<HTMLInputElement>) => void; validInput?: boolean; error?: string; processing?: boolean; completed?: boolean; } export interface LoginOptions { validator?: (state: LoginState) => boolean; } export interface LoginProps { readonly _status: Status; readonly dispatch?: ReactRedux.Dispatch<{}>; } export interface LoginState { readonly email?: string; readonly password?: string; } export default function (options?: LoginOptions): <P>(WrappedComponent: React.ComponentType<P>) => React.ComponentClass<Pick<LoginProps & P, ({ [P in keyof (LoginProps & P)]: P; } & { _status: never; dispatch: never; } & { [x: string]: never; })[keyof (LoginProps & P)]> & P>;