{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "controls",
  "entry": "@fayegram-ai/faye-ui/controls/field-layout",
  "source": "packages/controls/src/field-layout.tsx",
  "clientBoundary": true,
  "declarations": [
    {
      "name": "FieldControlAttributes",
      "kind": "InterfaceDeclaration",
      "signature": "export interface FieldControlAttributes {\n    id: string;\n    'aria-describedby'?: string;\n    'aria-invalid'?: boolean;\n}",
      "members": [
        {
          "name": "id",
          "optional": false,
          "type": "string"
        },
        {
          "name": "'aria-describedby'",
          "optional": true,
          "type": "string"
        },
        {
          "name": "'aria-invalid'",
          "optional": true,
          "type": "boolean"
        }
      ],
      "line": 12
    },
    {
      "name": "FieldLayoutProps",
      "kind": "InterfaceDeclaration",
      "signature": "export interface FieldLayoutProps extends Omit<ComponentProps<typeof Root>, 'children'> {\n    label: ReactNode;\n    controlId?: string;\n    description?: ReactNode;\n    error?: ReactNode;\n    required?: boolean;\n    invalid?: boolean;\n    describedBy?: string;\n    children: ReactNode | ((attributes: FieldControlAttributes) => ReactNode);\n}",
      "members": [
        {
          "name": "label",
          "optional": false,
          "type": "ReactNode"
        },
        {
          "name": "controlId",
          "optional": true,
          "type": "string"
        },
        {
          "name": "description",
          "optional": true,
          "type": "ReactNode"
        },
        {
          "name": "error",
          "optional": true,
          "type": "ReactNode"
        },
        {
          "name": "required",
          "optional": true,
          "type": "boolean"
        },
        {
          "name": "invalid",
          "optional": true,
          "type": "boolean"
        },
        {
          "name": "describedBy",
          "optional": true,
          "type": "string"
        },
        {
          "name": "children",
          "optional": false,
          "type": "ReactNode | ((attributes: FieldControlAttributes) => ReactNode)"
        }
      ],
      "line": 17
    },
    {
      "name": "FieldLayout",
      "kind": "FunctionDeclaration",
      "signature": "export function FieldLayout({ label, controlId, description, error, required, invalid, describedBy, children, ...props }: FieldLayoutProps)",
      "line": 28
    },
    {
      "name": "ControlLabelAttributes",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ControlLabelAttributes {\n    id: string;\n    'aria-labelledby': string;\n    'aria-describedby'?: string;\n    disabled?: boolean;\n}",
      "members": [
        {
          "name": "id",
          "optional": false,
          "type": "string"
        },
        {
          "name": "'aria-labelledby'",
          "optional": false,
          "type": "string"
        },
        {
          "name": "'aria-describedby'",
          "optional": true,
          "type": "string"
        },
        {
          "name": "disabled",
          "optional": true,
          "type": "boolean"
        }
      ],
      "line": 46
    },
    {
      "name": "ControlLabelProps",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ControlLabelProps extends Omit<LabelHTMLAttributes<HTMLLabelElement>, 'children' | 'htmlFor'> {\n    label: ReactNode;\n    description?: ReactNode;\n    controlId?: string;\n    describedBy?: string;\n    disabled?: boolean;\n    children: (attributes: ControlLabelAttributes) => ReactNode;\n}",
      "members": [
        {
          "name": "label",
          "optional": false,
          "type": "ReactNode"
        },
        {
          "name": "description",
          "optional": true,
          "type": "ReactNode"
        },
        {
          "name": "controlId",
          "optional": true,
          "type": "string"
        },
        {
          "name": "describedBy",
          "optional": true,
          "type": "string"
        },
        {
          "name": "disabled",
          "optional": true,
          "type": "boolean"
        },
        {
          "name": "children",
          "optional": false,
          "type": "(attributes: ControlLabelAttributes) => ReactNode"
        }
      ],
      "line": 52
    },
    {
      "name": "ControlLabel",
      "kind": "FunctionDeclaration",
      "signature": "export function ControlLabel({ label, description, controlId, describedBy, disabled, children, className, ...props }: ControlLabelProps)",
      "line": 61
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "FieldLayout",
      "kind": "value",
      "type": "({ label, controlId, description, error, required, invalid, describedBy, children, ...props }: FieldLayoutProps) => import(\"react\").JSX.Element",
      "description": "Native field anatomy for any labelable control; children receive stable ARIA relationships."
    },
    {
      "name": "ControlLabel",
      "kind": "value",
      "type": "({ label, description, controlId, describedBy, disabled, children, className, ...props }: ControlLabelProps) => import(\"react\").JSX.Element",
      "description": "A native label for a checkbox, radio or switch, aligned with the first line of its copy."
    },
    {
      "name": "FieldControlAttributes",
      "kind": "type",
      "type": "FieldControlAttributes",
      "description": ""
    },
    {
      "name": "FieldLayoutProps",
      "kind": "type",
      "type": "FieldLayoutProps",
      "description": ""
    },
    {
      "name": "ControlLabelAttributes",
      "kind": "type",
      "type": "ControlLabelAttributes",
      "description": ""
    },
    {
      "name": "ControlLabelProps",
      "kind": "type",
      "type": "ControlLabelProps",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/controls/field-layout.d.ts"
}
