react-native-paper
Version:
Material design for React Native
108 lines • 3.52 kB
TypeScript
/// <reference types="react" />
import type { TextInput as NativeTextInput, Animated, TextStyle, LayoutChangeEvent, ColorValue, StyleProp, ViewProps } from 'react-native';
import type { $Omit, InternalTheme, ThemeProp } from './../../types';
import type { Props as TextInputProps } from './TextInput';
export declare type TextInputLabelProp = string | React.ReactElement;
export declare type RenderProps = {
ref: (a?: NativeTextInput | null) => void;
onChangeText?: (a: string) => void;
placeholder?: string;
placeholderTextColor?: ColorValue;
editable?: boolean;
selectionColor?: string;
cursorColor?: string;
onFocus?: (args: any) => void;
onBlur?: (args: any) => void;
underlineColorAndroid?: string;
style: any;
multiline?: boolean;
numberOfLines?: number;
value?: string;
adjustsFontSizeToFit?: boolean;
testID?: string;
};
declare type TextInputTypesWithoutMode = $Omit<TextInputProps, 'mode'>;
export declare type State = {
labeled: Animated.Value;
error: Animated.Value;
focused: boolean;
placeholder?: string;
value?: string;
labelLayout: {
measured: boolean;
width: number;
height: number;
};
leftLayout: {
height: number | null;
width: number | null;
};
rightLayout: {
height: number | null;
width: number | null;
};
contentStyle?: StyleProp<ViewProps>;
};
export declare type ChildTextInputProps = {
parentState: State;
innerRef: (ref?: NativeTextInput | null) => void;
onFocus?: (args: any) => void;
onBlur?: (args: any) => void;
forceFocus: () => void;
onChangeText?: (value: string) => void;
onLayoutAnimatedText: (args: any) => void;
onLeftAffixLayoutChange: (event: LayoutChangeEvent) => void;
onRightAffixLayoutChange: (event: LayoutChangeEvent) => void;
} & $Omit<TextInputTypesWithoutMode, 'theme'> & {
theme: InternalTheme;
};
export declare type LabelProps = {
mode?: 'flat' | 'outlined';
placeholderStyle: any;
placeholderOpacity: number | Animated.Value | Animated.AnimatedInterpolation<number>;
baseLabelTranslateX: number;
baseLabelTranslateY: number;
wiggleOffsetX: number;
labelScale: number;
fontSize: number;
lineHeight?: number | undefined;
fontWeight: TextStyle['fontWeight'];
font: any;
topPosition: number;
paddingLeft?: number;
paddingRight?: number;
labelTranslationXOffset?: number;
placeholderColor: string | null;
backgroundColor?: ColorValue;
label?: TextInputLabelProp | null;
hasActiveOutline?: boolean | null;
activeColor: string;
errorColor?: string;
labelError?: boolean | null;
onLayoutAnimatedText: (args: any) => void;
roundness: number;
maxFontSizeMultiplier?: number | undefined | null;
testID?: string;
contentStyle?: StyleProp<ViewProps>;
theme?: ThemeProp;
};
export declare type InputLabelProps = {
labeled: Animated.Value;
error: Animated.Value;
focused: boolean;
wiggle: boolean;
opacity: number;
labelLayoutMeasured: boolean;
labelLayoutWidth: number;
labelBackground?: any;
maxFontSizeMultiplier?: number | undefined | null;
} & LabelProps;
export declare type LabelBackgroundProps = {
labelStyle: any;
labeled: Animated.Value;
labelLayoutWidth: number;
maxFontSizeMultiplier?: number | undefined | null;
theme?: ThemeProp;
} & LabelProps;
export {};
//# sourceMappingURL=types.d.ts.map