module.exports = {
  "metadata": { "section": "List" },
  "definitions": {
    "OrderedListNode": {
      "metadata": {
        "tsRicosNode": true,
        "examples": ["orderedList"],
        "description": "Numbered list."
      },
      "properties": {
        "type": {
          "enum": ["ORDERED_LIST"],
          "metadata": {
            "description": "Node type. \n Must be `ORDERED_LIST`."
          }
        },
        "nodes": {
          "elements": {
            "ref": "ListItemNode",
            "metadata": {
              "validation": {
                "minSize": 1
              }
            }
          },
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "List items.",
            "validation": {
              "minSize": 1
            }
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "orderedListData": {
          "ref": "OrderedListData",
          "metadata": {
            "description": "Ordered list details."
          }
        }
      }
    },
    "OrderedListData": {
      "optionalProperties": {
        "indentation": {
          "type": "int32",
          "metadata": {
            "deprecated": true,
            "description": "List margin from the left side. \n The indentation is measured relative to the font size *em* units by a ratio of 1.5. For example, if the indentation is `2`, then the margin is equal to **3em**. Therefore the margin is 3 times the size of the font."
          }
        },
        "offset": {
          "type": "int32",
          "metadata": {
            "description": "Additional indentation of a list node. When offset is `0`, the list node appears at its default nesting level. Higher values cause increased indentation."
          }
        },
        "start": {
          "type": "int32",
          "metadata": {
            "description": "Number at the top of the numbered list. <br> Default: `1`"
          }
        }
      }
    },
    "BulletedListNode": {
      "metadata": {
        "tsRicosNode": true,
        "examples": ["bulletedList"],
        "description": "Bulleted list."
      },
      "properties": {
        "type": {
          "enum": ["BULLETED_LIST"],
          "metadata": {
            "description": "Node type. \n Must be `BULLETED_LIST`."
          }
        },
        "nodes": {
          "elements": {
            "ref": "ListItemNode",
            "metadata": {
              "validation": {
                "minSize": 1
              }
            }
          },
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "List items.",
            "validation": {
              "minSize": 1
            }
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "bulletedListData": {
          "ref": "BulletedListData",
          "metadata": {
            "description": "Bulleted list details."
          }
        }
      }
    },
    "BulletedListData": {
      "optionalProperties": {
        "indentation": {
          "type": "int32",
          "metadata": {
            "deprecated": true
          }
        },
        "offset": {
          "type": "int32",
          "metadata": {
            "description": "Additional indentation of a list node. When offset is `0`, the list node appears at its default nesting level. Higher values cause increased indentation."
          }
        }
      }
    },
    "CheckboxListNode": {
      "metadata": {
        "tsRicosNode": true,
        "examples": ["checkboxList"],
        "description": "Checkbox list."
      },
      "properties": {
        "type": {
          "enum": ["CHECKBOX_LIST"],
          "metadata": {
            "description": "Node type. \n Must be `CHECKBOX_LIST`."
          }
        },
        "nodes": {
          "elements": {
            "ref": "ListItemNode",
            "metadata": {
              "validation": {
                "minSize": 1
              }
            }
          },
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "List items.",
            "validation": {
              "minSize": 1
            }
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "checkboxListData": {
          "ref": "CheckboxListData",
          "metadata": {
            "description": "Checkbox list details."
          }
        }
      }
    },
    "CheckboxListData": {
      "optionalProperties": {
        "indentation": {
          "type": "int32",
          "metadata": {
            "deprecated": true
          }
        },
        "offset": {
          "type": "int32",
          "metadata": {
            "description": "Additional indentation of a list node. When offset is `0`, the list node appears at its default nesting level. Higher values cause increased indentation."
          }
        }
      }
    },
    "ListItemNode": {
      "metadata": {
        "tsRicosNode": true
      },
      "properties": {
        "type": {
          "enum": ["LIST_ITEM"],
          "metadata": {
            "description": "Node type. \n Value: `LIST_ITEM`"
          }
        },
        "nodes": {
          "elements": {
            "ref": "ListItemChildNode"
          },
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "Child nodes that the list item contains.",
            "pattern": {
              "description": "Must start with a paragraph or heading, followed by any number of paragraphs or nested lists.",
              "value": "(PARAGRAPH|HEADING|IMAGE|VIDEO|GIF|GALLERY) (PARAGRAPH|BULLETED_LIST|CHECKBOX_LIST|ORDERED_LIST|HEADING|IMAGE|VIDEO|GIF|GALLERY)*"
            }
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "listItemData": {
          "ref": "ListItemNodeData",
          "metadata": {
            "description": "List item details."
          }
        }
      }
    },
    "ListItemNodeData": {
      "optionalProperties": {
        "checked": {
          "type": "boolean",
          "metadata": {
            "description": "Checkbox list item state. <br> Default: `false`"
          }
        }
      }
    },
    "ListItemChildNode": {
      "metadata": {
        "refUnion": ["ParagraphNode", "HeadingNode", "OrderedListNode", "BulletedListNode", "CheckboxListNode", "ImageNode", "VideoNode", "GifNode", "GalleryNode"]
      }
    }
  }
}