{
  "$schema": "https://ui.adrianub.dev/schema/registry-item.json",
  "author": "Adrián UB (https://ui.adrianub.dev)",
  "name": "input",
  "type": "registry:ui",
  "files": [
    {
      "path": "ui/input.ts",
      "content": "import { computed, Directive, input } from '@angular/core'\n\nimport { cn } from '~/lib/utils'\n\nexport type InputType\n  = | 'date'\n    | 'datetime-local'\n    | 'email'\n    | 'month'\n    | 'number'\n    | 'password'\n    | 'tel'\n    | 'file'\n    | 'search'\n    | 'text'\n\n@Directive({\n  selector: '[ubInput]',\n  standalone: true,\n  host: {\n    '[class]': 'computedClass()',\n    '[type]': 'type()',\n  },\n})\nexport class UbInputDirective<Type extends InputType> {\n  readonly type = input.required<Type>()\n  readonly class = input<string>()\n\n  protected computedClass = computed(() =>\n    cn(\n      'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n      this.class(),\n    ),\n  )\n}\n",
      "type": "registry:ui"
    }
  ]
}