{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "input", "title": "Input", "description": "A form input field with consistent styling and focus states.", "files": [ { "path": "packages/ui/src/input.tsx", "content": "\"use client\";\n\nimport type React from \"react\";\nimport { cn } from \"./utils\";\n\nexport interface InputProps\n extends Omit, \"size\"> {\n /**\n * Optional additional className for the input\n */\n className?: string;\n /**\n * The native HTML `size` attribute for the `` element.\n * Sets the visible width of the input in average character widths.\n * Use this instead of `size` when you need the native HTML behavior.\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#size\n */\n htmlSize?: number;\n /**\n * Size variant of the input.\n * Controls the visual height of the input (`\"default\"` = 40px, `\"sm\"` = 32px).\n * @default \"default\"\n */\n size?: \"sm\" | \"default\";\n}\n\nexport const Input = ({\n className,\n type = \"text\",\n size = \"default\",\n htmlSize,\n ref,\n ...props\n}: InputProps & React.RefAttributes) => {\n return (\n \n );\n};\n\nInput.displayName = \"Input\";\n", "type": "registry:ui" } ], "type": "registry:ui" }