import React from "react"; import { Button } from "@/components/ui/button"; import { Send, Loader2 } from "lucide-react"; import { AutosizeTextarea } from "@/components/ui/autosize-textarea"; import { InputProps } from "../types"; import { ModelSelector } from "./ModelSelector"; import { AttachmentDropdown } from "./AttachmentDropdown"; import { DocumentBadgesScrollArea } from "./DocumentBadgesScrollArea"; import { ReasoningEffortSelector } from "./ReasoningEffortSelector"; import { PROVIDERS } from "@/lib/config/types"; import { ChatCompletionReasoningEffort } from "openai/resources/chat/completions"; export const Input = React.memo(({ input, selectedModel, attachments, onInputChange, onModelChange, onSendMessage, enabledChatModels, setPreviewDocument, isUrlInputOpen, setIsUrlInputOpen, urlInput, setUrlInput, handleAttachmentFileUpload, handleAttachmentUrlUpload, handleAttachmentRemove, selectedModelName, isGenerating, stopGenerating, selectedModelProvider, isModelReasoning, reasoningEffort, onReasoningEffortChange, }: InputProps) => { return (