field typesui section

UI Section (Layout)

Groups fields in a grid or flex layout without adding a wizard step.

Overview

A ui_section is a layout-only container. Use it to place fields side-by-side (for example name and email in two columns) inside a step or at the root of the form. It does not collect submission data, show help text, or support required/reporting/integration settings.

Properties

PropertyTypeDefaultDescription
idstringUnique field identifier (UUID in the builder).
typestringui_sectionMust be "ui_section".
labelstring""Optional label (often empty; layout-only grouping).
layoutType"grid" | "flex""grid"Grid places children in columns; flex lays them out in a row.
gridColumnsnumber2Column count when layoutType is grid.
gapnumber16Gap between child fields in pixels.
alignItemsstring"start"Cross-axis alignment for flex/grid children.
justifyContentstring"start"Main-axis alignment for flex/grid children.
fieldsFormField[][]Child fields rendered inside this layout group.

JSON Schema

{
  "id": "ui_contact",
  "type": "ui_section",
  "label": "",
  "layoutType": "grid",
  "gridColumns": 2,
  "gap": 16,
  "fields": [
    { "id": "first_name", "type": "text", "label": "First Name", "required": true },
    { "id": "email", "type": "email", "label": "Email", "required": true }
  ]
}

Common Use Cases

  • Two-column contact blocks (name + email, city + zip)
  • Flex rows of short fields (quantity + unit + price)
  • Grouping inside a step_section without extra wizard pages
  • Visual alignment only—no extra submission keys