From dd53ccb9624e719d019a8fe29fcd66415c1b1528 Mon Sep 17 00:00:00 2001
From: Mohamed Bassem <me@mbassem.com>
Date: Wed, 20 Aug 2025 15:57:34 +0300
Subject: deps: Upgrade expo & nextjs to react 19 (#1565)

* Attempt to upgrade expo 53

* Attempt upgrade nextjs

* Fix a bunch of peer deps

* upgrade some docs deps

* fix typecheck

* update the shadcn calendar component

* more fixes

* more fixes

* revert ollama upgrade

* update react version to use carets

* remove react-select from landing

* fix the typescript error caused by customFetch

* upgrade the new grid user setting to nextjs 15

* mobile: enable react canary to support react 19.1

* upgrade react native menu

* fix navigation context error
---
 apps/mobile/components/ui/Input.tsx | 61 ++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 31 deletions(-)

(limited to 'apps/mobile/components/ui/Input.tsx')

diff --git a/apps/mobile/components/ui/Input.tsx b/apps/mobile/components/ui/Input.tsx
index dc84f54f..2bd5e190 100644
--- a/apps/mobile/components/ui/Input.tsx
+++ b/apps/mobile/components/ui/Input.tsx
@@ -1,47 +1,46 @@
+import type { TextInputProps } from "react-native";
 import { forwardRef } from "react";
 import { ActivityIndicator, Text, TextInput, View } from "react-native";
 import { cn } from "@/lib/utils";
 
 import { TailwindResolver } from "../TailwindResolver";
 
-export interface InputProps
-  extends React.ComponentPropsWithoutRef<typeof TextInput> {
+export interface InputProps extends TextInputProps {
   label?: string;
   labelClasses?: string;
   inputClasses?: string;
+  loading?: boolean;
 }
 
-const Input = forwardRef<
-  React.ElementRef<typeof TextInput>,
-  InputProps & { loading?: boolean }
->(
+export const Input = forwardRef<TextInput, InputProps>(
   (
     { className, label, labelClasses, inputClasses, loading, ...props },
     ref,
-  ) => (
-    <View className={cn("flex flex-col gap-1.5", className)}>
-      {label && <Text className={cn("text-base", labelClasses)}>{label}</Text>}
-      <TailwindResolver
-        className="text-gray-400"
-        comp={(styles) => (
-          <TextInput
-            placeholderTextColor={styles?.color?.toString()}
-            ref={ref}
-            className={cn(
-              "bg-background text-foreground",
-              inputClasses,
-              "rounded-lg border border-input px-4 py-2.5",
-            )}
-            {...props}
-          />
+  ) => {
+    return (
+      <View className={cn("flex flex-col gap-1.5", className)}>
+        {label && (
+          <Text className={cn("text-base", labelClasses)}>{label}</Text>
         )}
-      />
-      {loading && (
-        <ActivityIndicator className="absolute bottom-0 right-0 p-2" />
-      )}
-    </View>
-  ),
+        <TailwindResolver
+          className="text-gray-400"
+          comp={(styles) => (
+            <TextInput
+              ref={ref}
+              placeholderTextColor={styles?.color?.toString()}
+              className={cn(
+                "bg-background text-foreground",
+                inputClasses,
+                "rounded-lg border border-input px-4 py-2.5",
+              )}
+              {...props}
+            />
+          )}
+        />
+        {loading && (
+          <ActivityIndicator className="absolute bottom-0 right-0 p-2" />
+        )}
+      </View>
+    );
+  },
 );
-Input.displayName = "Input";
-
-export { Input };
-- 
cgit v1.2.3-70-g09d2

