{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "field",
  "title": "Field",
  "description": "Composable field structure for labels, controls, descriptions, and errors.",
  "files": [
    {
      "path": "registry/rivetui/components/field/field.tsx",
      "content": "import type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Field({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div data-slot=\"field\" className={cn(\"group/field grid w-full gap-2\", className)} {...props} />\n  );\n}\n\nfunction FieldLabel({ className, children, htmlFor, ...props }: React.ComponentProps<\"label\">) {\n  return (\n    <label\n      htmlFor={htmlFor}\n      data-slot=\"field-label\"\n      className={cn(\n        \"w-fit font-mono text-[0.6875rem] font-medium uppercase leading-none tracking-[0.14em] text-foreground group-has-[:disabled]/field:opacity-50\",\n        className,\n      )}\n      {...props}\n    >\n      {children}\n    </label>\n  );\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n  return (\n    <p\n      data-slot=\"field-description\"\n      className={cn(\"text-sm leading-relaxed text-muted-foreground\", className)}\n      {...props}\n    />\n  );\n}\n\nfunction FieldError({ className, role = \"alert\", ...props }: React.ComponentProps<\"p\">) {\n  return (\n    <p\n      role={role}\n      data-slot=\"field-error\"\n      className={cn(\"text-sm leading-relaxed text-destructive\", className)}\n      {...props}\n    />\n  );\n}\n\nexport { Field, FieldDescription, FieldError, FieldLabel };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}