module.exports = {
  "metadata": { "section": "Layout" },
  "definitions": {
    "LayoutCellNode": {
      "metadata": {
        "tsRicosNode": true,
        "description": "Used to wrap content inside layout container. When rendered, it shows content inside layout column"
      },
      "properties": {
        "type": {
          "enum": ["LAYOUT_CELL"],
          "metadata": {
            "description": "Node type. \n Must be `LAYOUT_CELL`."
          }
        },
        "nodes": {
          "elements": {
            "ref": "LayoutCellChildNode"
          },
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "Child nodes that the cell item contains."
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "layoutCellData": {
          "ref": "LayoutCellData",
          "metadata": {
            "description": "Layout Cell details."
          }
        }
      }
    },
    "LayoutCellData": {
      "optionalProperties": {
        "colSpan": {
          "type": "int32",
          "metadata": {
            "description": "Defines how many columns cell spans inside 12 column grid. If not provided it will divide remaining space equally.",
            "validation": {
              "min": 1,
              "max": 12
            }
          }
        }
      }
    },
    "LayoutCellChildNode": {
      "metadata": {
        "refUnion": ["BlockquoteNode", "CodeBlockNode", "HeadingNode", "OrderedListNode", "BulletedListNode", "CheckboxListNode", "ParagraphNode", "AppEmbedNode", "AudioNode", "ButtonNode", "CollapsibleListNode", "DividerNode", "EmbedNode", "FileNode", "GalleryNode", "GifNode", "HtmlNode", "ImageNode", "LinkPreviewNode", "PollNode", "TocNode", "VideoNode", "ExternalNode", "ShapeNode"]
      }
    }
  }
}