forked from Mobilecn-UI/nativecn-ui
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Input.tsx
27 lines (24 loc) · 771 Bytes
/
Input.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { forwardRef } from 'react';
import { Text, TextInput, View } from 'react-native';
import { cn } from '../lib/utils';
export interface InputProps
extends React.ComponentPropsWithoutRef<typeof TextInput> {
label?: string;
labelClasses?: string;
inputClasses?: string;
}
const Input = forwardRef<React.ElementRef<typeof TextInput>, InputProps>(
({ className, label, labelClasses, inputClasses, ...props }, ref) => (
<View className={cn('flex flex-col gap-1.5', className)}>
{label && <Text className={cn('text-base', labelClasses)}>{label}</Text>}
<TextInput
className={cn(
inputClasses,
'border border-input py-2.5 px-4 rounded-lg'
)}
{...props}
/>
</View>
)
);
export { Input };