{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "input",
  "title": "Input",
  "description": "A native input element that automatically works with Field.",
  "dependencies": [
    "@base-ui/react",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/input.tsx",
      "content": "import { Input as BaseInput } from \"@base-ui/react/input\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/registry/lib/utils\";\n\n// Base box appearance — shared between standalone inputs and containers\nconst inputBaseVariants = cva(\n  [\n    \"rounded-md border border-input shadow-sm outline-0\",\n    \"transition-[color,box-shadow,border,ring,outline] appearance-none duration-150\",\n    \"focus-visible:outline focus-visible:outline-ring focus-visible:ring-4 focus-visible:ring-ring/10\",\n    // disabled\n    \"disabled:cursor-default disabled:opacity-50\",\n    \"data-disabled:cursor-default data-disabled:opacity-50\",\n    // invalid\n    \"aria-invalid:outline aria-invalid:outline-destructive/80 aria-invalid:ring-4 aria-invalid:ring-destructive/20\",\n    \"data-invalid:outline data-invalid:outline-destructive/80 data-invalid:ring-4 data-invalid:ring-destructive/20\",\n  ],\n  {\n    defaultVariants: {\n      inputSize: \"default\",\n      variant: \"default\",\n    },\n    variants: {\n      inputSize: {\n        default: \"min-h-9\",\n        lg: \"min-h-10\",\n        sm: \"min-h-8\",\n      },\n      variant: {\n        default: \"dark:bg-input/30\",\n        transparent: \"bg-transparent\",\n        ghost:\n          \"bg-transparent border-none shadow-none outline-none rounded-none focus-visible:ring-0\",\n      },\n    },\n  },\n);\n\nconst inputVariants = cva(\n  [\n    \"w-full min-w-0 bg-transparent cursor-text text-base md:text-sm appearance-none outline-0\",\n    \"placeholder:text-muted-foreground placeholder:text-sm\",\n    \"file:text-foreground file:inline-flex file:items-center file:h-full file:border-0 file:bg-transparent file:text-sm file:font-medium\",\n    // selection\n    \"selection:bg-primary selection:text-primary-foreground\",\n  ],\n  {\n    defaultVariants: {\n      inputSize: \"default\",\n    },\n    variants: {\n      inputSize: {\n        default: \"py-1.5 px-2.5\",\n        lg: \"py-2 px-3\",\n        sm: \"py-1 px-2\",\n      },\n    },\n  },\n);\n\nfunction Input({\n  variant,\n  inputSize,\n  className,\n  type,\n  ...props\n}: BaseInput.Props & VariantProps<typeof inputBaseVariants>) {\n  return (\n    <BaseInput\n      className={cn(\n        inputBaseVariants({ inputSize, variant }),\n        inputVariants({ inputSize }),\n        className,\n      )}\n      data-slot=\"input\"\n      type={type}\n      {...props}\n    />\n  );\n}\n\nexport { Input, inputBaseVariants, inputVariants };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}