{
  "$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\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Input as BaseInput } from \"@base-ui/react/input\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst inputVariants = cva(\n  [\n    \"placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground\",\n    \"border bg-clip-padding\",\n    \"flex w-full min-w-0 rounded-lg\",\n    \"text-base transition-colors duration-200 sm:not-pointer-coarse:text-sm\",\n    \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-60\",\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\",\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\",\n    \"aria-invalid:outline-destructive/50 aria-invalid:outline-2 aria-invalid:outline-offset-2 aria-invalid:outline-solid font-normal\",\n  ],\n  {\n    variants: {\n      variant: {\n        // Opaque bg — use on the page or any non-elevated substrate.\n        default: \"bg-input\",\n        // Translucent overlay — use inside Cards, Dialogs, or any elevated\n        // surface where the opaque default would collapse into its parent.\n        elevated: \"bg-input-elevated\",\n      },\n      size: {\n        default: \"h-10 px-3 py-2 sm:not-pointer-coarse:h-9\",\n        sm: \"h-9 px-2.5 py-1.5 sm:not-pointer-coarse:h-8\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  },\n);\n\ntype InputProps = Omit<React.ComponentProps<typeof BaseInput>, \"size\"> &\n  VariantProps<typeof inputVariants>;\n\nfunction Input({ className, size, variant, ...props }: InputProps) {\n  return (\n    <BaseInput\n      data-slot=\"input\"\n      className={cn(inputVariants({ size, variant }), className)}\n      {...props}\n    />\n  );\n}\n\nexport { Input, inputVariants, type InputProps };\n",
      "type": "registry:ui",
      "target": "components/ui/cubby-ui/input.tsx"
    }
  ],
  "type": "registry:ui"
}