{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "input-tailwind",
  "type": "registry:item",
  "title": "Input (Tailwind)",
  "description": "An input component for user text entry.",
  "dependencies": [
    "class-variance-authority"
  ],
  "files": [
    {
      "path": "registry/brook/tailwind/ui/input.tsx",
      "content": "\"use client\";\n\nimport { Input } from \"@base-ui/react/input\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\n\nconst inputVariants = cva(\n  [\n    \"flex h-10 w-full rounded-[var(--radius)] border-none bg-[var(--popover)] px-3\",\n    \"text-foreground text-sm transition-all duration-150 ease-out\",\n    \"shadow-[0_0_0_1px_oklch(from_var(--border)_l_c_h_/_0.5)]\",\n    \"placeholder:text-muted-foreground placeholder:text-sm\",\n    \"focus:shadow-[0_0_0_1px_var(--ring),0_0_0_3px_oklch(from_var(--ring)_l_c_h_/_0.2)] focus:outline-none\",\n    \"focus-visible:shadow-[0_0_0_1px_var(--ring),0_0_0_3px_oklch(from_var(--ring)_l_c_h_/_0.2)] focus-visible:outline-none\",\n    \"data-[focused]:shadow-[0_0_0_1px_var(--ring),0_0_0_3px_oklch(from_var(--ring)_l_c_h_/_0.2)] data-[focused]:outline-none\",\n    \"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50\",\n    \"data-[invalid]:shadow-[0_0_0_1px_var(--destructive)]\",\n    \"data-[invalid]:data-[focused]:shadow-[0_0_0_1px_var(--destructive),0_0_0_3px_oklch(from_var(--destructive)_l_c_h_/_0.2)] data-[invalid]:focus:shadow-[0_0_0_1px_var(--destructive),0_0_0_3px_oklch(from_var(--destructive)_l_c_h_/_0.2)]\",\n  ],\n  {\n    variants: {\n      variant: {\n        default: \"\",\n        error: \"shadow-[0_0_0_1px_var(--destructive)]\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n);\n\ninterface InputProps extends Input.Props, VariantProps<typeof inputVariants> {}\n\nfunction InputRoot({ className, variant = \"default\", ...props }: InputProps) {\n  return (\n    <Input\n      className={(state: Input.State) =>\n        cn(inputVariants({ variant }), typeof className === \"function\" ? className(state) : className)\n      }\n      {...props}\n    />\n  );\n}\n\nexport { InputRoot as Input, type InputProps };\n",
      "type": "registry:file",
      "target": "~/components/ui/input/input.tsx"
    }
  ]
}