{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "textarea", "title": "Textarea", "description": "A neumorphic textarea component.", "dependencies": ["class-variance-authority"], "registryDependencies": ["utils"], "files": [ { "path": "src/components/ui/textarea.tsx", "content": "import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst textareaVariants = cva(\n [\n \"w-full bg-surface text-foreground placeholder:text-foreground/50 border-none outline-none transition-shadow duration-200 resize-y\",\n \"disabled:opacity-50 disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n sm: \"min-h-[80px] px-3 py-2 text-sm rounded-lg shadow-neu-inset-sm\",\n md: \"min-h-[100px] px-4 py-3 text-base rounded-xl shadow-neu-inset\",\n lg: \"min-h-[120px] px-5 py-4 text-lg rounded-xl shadow-neu-inset-lg\",\n },\n error: {\n true: \"shadow-focus-destructive\",\n false: \"focus:shadow-focus-primary\",\n },\n },\n defaultVariants: {\n size: \"md\",\n error: false,\n },\n },\n);\n\nexport type TextareaProps = React.TextareaHTMLAttributes &\n VariantProps;\n\nconst Textarea = React.forwardRef(\n ({ className, size, error, disabled, ...props }, ref) => {\n return (\n \n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea, textareaVariants };\n", "type": "registry:ui" } ], "type": "registry:ui" }