{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "input",
  "title": "Input",
  "description": "A input component.",
  "dependencies": [
    "class-variance-authority"
  ],
  "files": [
    {
      "path": "registry/default/input/input.tsx",
      "content": "import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { Input as BaseInput } from \"@base-ui/react/input\";\r\n\r\nimport { cn } from \"@/lib/utils\";\r\n\r\nconst inputVariants = cva(\r\n  [\r\n    \"placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground\",\r\n    \"border bg-clip-padding\",\r\n    \"flex w-full min-w-0 rounded-lg\",\r\n    \"text-base transition-colors duration-200 md:text-sm\",\r\n    \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-60\",\r\n    \"file:text-foreground file:inline-flex file:h-7 file:rounded-md file:border-0 file:bg-transparent file:text-sm file:font-medium\",\r\n    \"focus-visible:outline-ring/50 outline-0 outline-offset-0 outline-transparent transition-[outline-width,outline-offset,outline-color] duration-100 ease-out outline-solid focus-visible:outline-2 focus-visible:outline-offset-2\",\r\n    \"aria-invalid:outline-destructive/50 aria-invalid:outline-2 aria-invalid:outline-offset-2 aria-invalid:outline-solid font-normal\",\r\n  ],\r\n  {\r\n    variants: {\r\n      variant: {\r\n        // Opaque bg — use on the page or any non-elevated substrate.\r\n        default: \"bg-input\",\r\n        // Translucent overlay — use inside Cards, Dialogs, or any elevated\r\n        // surface where the opaque default would collapse into its parent.\r\n        elevated: \"bg-input-elevated\",\r\n      },\r\n      size: {\r\n        default: \"h-10 px-3 py-2 sm:h-9\",\r\n        sm: \"h-9 px-2.5 py-1.5 sm:h-8\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      variant: \"default\",\r\n      size: \"default\",\r\n    },\r\n  },\r\n);\r\n\r\ntype InputProps = Omit<React.ComponentProps<typeof BaseInput>, \"size\"> &\r\n  VariantProps<typeof inputVariants>;\r\n\r\nfunction Input({ className, size, variant, ...props }: InputProps) {\r\n  return (\r\n    <BaseInput\r\n      data-slot=\"input\"\r\n      className={cn(inputVariants({ size, variant }), className)}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n\r\nexport { Input, inputVariants, type InputProps };\r\n",
      "type": "registry:ui",
      "target": "components/ui/cubby-ui/input.tsx"
    }
  ],
  "type": "registry:ui"
}