@5calls/react-components
Version:
React component library for 5 Calls webapp
53 lines (52 loc) • 1.96 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
import EventEmitter = require('wolfy87-eventemitter');
import { UserProfile, Auth0Config } from '../shared/model';
export interface CustomLoginUiProps {
readonly profile?: UserProfile;
readonly auth0Config: Auth0Config;
readonly showEmailModal: boolean;
readonly eventEmitter: EventEmitter;
login: (email?: string, password?: string) => Promise<string>;
twitterLogin: () => void;
facebookLogin: () => void;
logout: () => void;
refreshHandler: (email: string, subscribe: boolean) => void;
signup: (email?: string, password?: string) => Promise<string>;
}
export interface CustomLoginUiState {
email: string;
password: string;
errorMessage: string;
shouldDisplayLoginModal: boolean;
userMenuHidden: boolean;
currentEmail: string;
emailIsValid?: boolean;
emailOptIn: boolean;
}
export declare class CustomLoginUi extends React.Component<CustomLoginUiProps, CustomLoginUiState> {
constructor(props: CustomLoginUiProps);
componentDidMount(): void;
componentWillUnmount(): void;
toggleMenu: () => void;
toggleModal: () => void;
signup: () => void;
login: () => void;
validateEmailPassword: (email: string, password: string) => string;
twitterLogin: () => void;
facebookLogin: () => void;
setLoginState: (loginResults?: string | undefined) => void;
logout: () => void;
changeEmailOpt: (e: React.ChangeEvent<HTMLInputElement>) => void;
changeEmail: (e: React.ChangeEvent<HTMLInputElement>) => void;
formsubmit: (e: React.FormEvent<HTMLFormElement>) => void;
submitEmail: () => void;
showLoginModal: () => void;
showCampaignLogo: () => boolean;
headerPhotoURL: () => string;
loginModalMarkup: () => JSX.Element;
emailTextOrError: () => String;
emailModalMarkup: () => JSX.Element;
loginUIMarkup: () => JSX.Element;
render(): JSX.Element;
}