2026-07-16 20:04:40 +05:30

40 lines
1.0 KiB
TypeScript

import React from 'react';
import { View, Text, TextInput } from 'react-native';
import { useTheme } from '@theme';
import { getStyles } from './formInput.styles';
import { FormInputProps } from './formInput.props';
export const FormInput: React.FC<FormInputProps> = ({
label,
value,
onChangeText,
placeholder,
required = false,
multiline = false,
keyboardType = 'default',
...rest
}) => {
const { theme: colors } = useTheme();
const styles = getStyles(colors);
return (
<View style={styles.container}>
<Text style={styles.label}>
{label}
{required && <Text style={styles.required}>*</Text>}
</Text>
<TextInput
style={[styles.input, multiline && styles.multilineInput]}
value={value}
onChangeText={onChangeText}
placeholder={placeholder}
placeholderTextColor={colors.textMuted}
multiline={multiline}
numberOfLines={multiline ? 4 : 1}
keyboardType={keyboardType}
{...rest}
/>
</View>
);
};