FormSection

rendered, live
the wire — click a line to scrub
the contract — FormSection in catalog.json
{
  "type": "object",
  "properties": {
    "component": {
      "const": "FormSection"
    },
    "title": {
      "$ref": "https://a2ui.org/specification/v1_0/common_types.json#/$defs/DynamicString",
      "description": "Section heading, e.g. 'Contact details'. Required."
    },
    "description": {
      "$ref": "https://a2ui.org/specification/v1_0/common_types.json#/$defs/DynamicString",
      "description": "One or two sentences under the heading."
    },
    "children": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "ComponentIds of the fields in this section, in order."
    }
  },
  "required": [
    "title",
    "children"
  ]
}
the prompt-pack — paste into your agent
### FormSection — a titled group of fields

The only component with children. Sections structure long forms; short forms don't need one.

| prop          | type   | required | notes                                  |
| ------------- | ------ | -------- | -------------------------------------- |
| `title`       | string | yes      | section heading                        |
| `description` | string | no       | one or two sentences under the heading |
| `children`    | id[]   | yes      | ComponentIds of the fields, in order   |

```
{"id":"contact","component":"FormSection","title":"Contact details","description":"How we reach you about this report.","children":["name","email"]}
```