{
  "type": "form",
  "description": "Form container that submits child values together.",
  "hasChildren": true,
  "propsSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
      "param": {
        "description": "Optional canvas parameter name to broadcast consolidated form data to. If omitted, each child field is broadcast individually on submit.",
        "type": "string"
      },
      "submitLabel": {
        "default": "Submit",
        "type": "string"
      },
      "submitPosition": {
        "default": "bottom",
        "description": "Position of the submit button",
        "type": "string",
        "enum": [
          "bottom",
          "top"
        ]
      },
      "card": {
        "default": true,
        "description": "If true, wraps the form in a card-like container.",
        "type": "boolean"
      },
      "centered": {
        "default": false,
        "description": "If true, centers the form container within the node.",
        "type": "boolean"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "style": {
        "description": "Inline CSS styles as a plain CSS string (e.g., \"padding: 16px; background-color: #f0f0f0\")",
        "type": "string"
      }
    },
    "description": "A form container that collects child input values and submits on button click. If form 'param' is provided, all child values are broadcast as one object to that parameter. If omitted, each child field parameter is broadcast individually. Children should use 'param' prop to register with the form. It supports input components such as text-input, text-area, number-input, datetime-input, camera-input, color-input, dropdown, slider, and text."
  }
}
