aboutsummaryrefslogtreecommitdiffstats
path: root/packages/mobile/components/ui/Input.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-11 01:37:22 +0000
committerMohamedBassem <me@mbassem.com>2024-03-11 01:37:22 +0000
commit2b720405ae3a19ac78fbf3e7231394364ba83c99 (patch)
tree9fb5ab84f827aa81239acb3e58198f99505575db /packages/mobile/components/ui/Input.tsx
parent00dd4d0b549fdfe1c5224fc94141926925aab13d (diff)
downloadkarakeep-2b720405ae3a19ac78fbf3e7231394364ba83c99.tar.zst
mobile: Prepare to merge into main repo
Diffstat (limited to 'packages/mobile/components/ui/Input.tsx')
-rw-r--r--packages/mobile/components/ui/Input.tsx28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/mobile/components/ui/Input.tsx b/packages/mobile/components/ui/Input.tsx
new file mode 100644
index 00000000..6fc90b8f
--- /dev/null
+++ b/packages/mobile/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 };