{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "input",
  "type": "registry:ui",
  "title": "Input",
  "description": "Type on a ruled line. Includes a notebook Textarea and Label.",
  "categories": [
    "core"
  ],
  "files": [
    {
      "path": "ui/input.tsx",
      "type": "registry:ui",
      "content": "import * as React from \"react\";\n\nconst type = { fontFamily: \"var(--font-type, 'Courier New', ui-monospace, monospace)\" };\n\n/** Typed on a single ruled line. */\nexport function Input({ className = \"\", style, ...props }: React.InputHTMLAttributes<HTMLInputElement>) {\n  return (\n    <input\n      className={`h-10 w-full min-w-0 border-0 border-b-[1.5px] border-(--rule) bg-transparent px-0.5 pb-1 pt-2 text-[15px] text-(--ink) caret-(--pen) outline-none transition-colors placeholder:text-(--ink-faint) focus:border-(--pen) aria-invalid:border-(--danger) disabled:cursor-not-allowed disabled:opacity-50 ${className}`}\n      style={{ ...type, ...style }}\n      {...props}\n    />\n  );\n}\n\n/** Ruled notebook paper with a margin line. Text sits on the lines. */\nexport function Textarea({ className = \"\", style, rows = 5, ...props }: React.TextareaHTMLAttributes<HTMLTextAreaElement>) {\n  return (\n    <textarea\n      rows={rows}\n      className={`paper-ruled block w-full resize-y rounded-[3px] border border-(--edge) bg-(--paper-raised) py-0 pl-12 pr-4 text-[15px] text-(--ink) caret-(--pen) outline-none transition-colors placeholder:text-(--ink-faint) focus:border-(--pen) aria-invalid:border-(--danger) disabled:cursor-not-allowed disabled:opacity-50 ${className}`}\n      style={{ ...type, lineHeight: \"28px\", paddingTop: 0, ...style }}\n      {...props}\n    />\n  );\n}\n\n/** Small typed caps above a field. */\nexport function Label({ className = \"\", style, ...props }: React.LabelHTMLAttributes<HTMLLabelElement>) {\n  return (\n    <label\n      className={`block text-[10.5px] font-bold uppercase tracking-[0.2em] text-(--ink-muted) ${className}`}\n      style={{ ...type, ...style }}\n      {...props}\n    />\n  );\n}\n"
    }
  ]
}