diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-11 00:08:35 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-03-11 00:08:58 +0000 |
| commit | 31a8d46644606fe5778677d78c137decf5f5da45 (patch) | |
| tree | d51799a2790e3a95830ac35acbe3c1a89825ca75 /components/ui/Input.tsx | |
| parent | f14c6f43c386fde627d786cf695c63eb1feab09a (diff) | |
| download | karakeep-31a8d46644606fe5778677d78c137decf5f5da45.tar.zst | |
prep: Setup nativecn-ui
Diffstat (limited to 'components/ui/Input.tsx')
| -rw-r--r-- | components/ui/Input.tsx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/components/ui/Input.tsx b/components/ui/Input.tsx new file mode 100644 index 00000000..6843917a --- /dev/null +++ b/components/ui/Input.tsx @@ -0,0 +1,28 @@ +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 }; |
