react-native-login-screen
Version:
Fully Customizable & Ready to use Login Screen for React Native
51 lines (50 loc) • 1.93 kB
TypeScript
import * as React from "react";
import { ImageStyle, StyleProp, TextStyle, ViewStyle } from "react-native";
import { IInteractiveTextInputProps } from "react-native-text-input-interactive";
export interface ILoginScreenProps {
signupText?: string;
disableDivider?: boolean;
logoImageSource: any;
disableSocialButtons?: boolean;
emailPlaceholder?: string;
passwordPlaceholder?: string;
disableSignup?: boolean;
disablePasswordInput?: boolean;
loginButtonText?: string;
disableEmailValidation?: boolean;
enablePasswordValidation?: boolean;
disableEmailTooltip?: boolean;
disablePasswordTooltip?: boolean;
style?: StyleProp<ViewStyle>;
dividerStyle?: StyleProp<ViewStyle>;
logoImageStyle?: StyleProp<ImageStyle>;
textInputContainerStyle?: StyleProp<ViewStyle>;
loginButtonStyle?: StyleProp<ViewStyle>;
loginTextStyle?: StyleProp<TextStyle>;
signupStyle?: StyleProp<ViewStyle>;
signupTextStyle?: StyleProp<TextStyle>;
emailTextInputProps?: IInteractiveTextInputProps;
passwordTextInputProps?: IInteractiveTextInputProps;
children?: any;
TouchableComponent?: any;
passwordContentTooltip?: React.ReactNode;
emailContentTooltip?: React.ReactNode;
customSocialLoginButtons?: React.ReactNode;
customLoginButton?: React.ReactNode;
customSignupButton?: React.ReactNode;
customTextInputs?: React.ReactNode;
textInputChildren?: React.ReactNode;
customLogo?: React.ReactNode;
customDivider?: React.ReactNode;
onLoginPress: () => void;
onSignupPress: () => void;
onEmailChange: (email: string) => void;
onPasswordChange: (password: string) => void;
onFacebookPress?: () => void;
onTwitterPress?: () => void;
onApplePress?: () => void;
onDiscordPress?: () => void;
onEyePress?: () => void;
}
declare const LoginScreen: React.FC<ILoginScreenProps>;
export default LoginScreen;