{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "input",
  "title": "Input",
  "description": "A single-line text field for names, emails, numbers and search — always paired with a visible label.",
  "dependencies": [
    "@base-ui/react",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "https://www.prfct.dev/r/utils.json"
  ],
  "files": [
    {
      "path": "components/ui/input.tsx",
      "content": "import * as React from \"react\"\nimport { Input as InputPrimitive } from \"@base-ui/react/input\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\n\nconst inputVariants = cva(\n  [\n    \"w-full min-w-0 rounded-lg border border-input bg-field text-base text-foreground shadow-xs outline-none md:text-sm\",\n    \"transition-[border-color,box-shadow,background-color] duration-fast ease-standard\",\n    \"placeholder:text-muted-foreground\",\n    \"hover:not-disabled:border-gray-10\",\n    \"focus-field\",\n    \"aria-invalid:border-danger-9\",\n    \"disabled:cursor-not-allowed disabled:border-border disabled:bg-muted disabled:text-muted-foreground disabled:shadow-none\",\n    \"read-only:bg-surface read-only:shadow-none\",\n    \"file:mr-3 file:inline-flex file:h-full file:border-0 file:border-r file:border-border file:bg-transparent file:pr-3 file:text-sm file:font-medium file:text-foreground\",\n  ],\n  {\n    variants: {\n      size: {\n        sm: \"h-8 px-2.5 file:-ml-0.5\",\n        default: \"h-9 px-3\",\n        lg: \"h-10 px-3.5\",\n      },\n    },\n    defaultVariants: {\n      size: \"default\",\n    },\n  }\n)\n\ntype InputProps = Omit<React.ComponentProps<\"input\">, \"size\"> &\n  VariantProps<typeof inputVariants>\n\nfunction Input({ className, type, size = \"default\", ...props }: InputProps) {\n  return (\n    <InputPrimitive\n      type={type}\n      data-slot=\"input\"\n      data-size={size}\n      className={cn(inputVariants({ size }), className)}\n      {...props}\n    />\n  )\n}\n\nexport { Input, inputVariants, type InputProps }\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}