export default {
  "metadata": { "section": "Table of Contents" },
  "definitions": {
    "TocNode": {
      "metadata": {
        "tsRicosNode": true,
        "features": ["TOC"],
        "description": "Dynamic table of contents block that renders links to headings in the document."
      },
      "properties": {
        "type": {
          "enum": ["TOC"],
          "metadata": {
            "description": "Node type. \n Must be `TOC`."
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "tocData": {
          "ref": "TocData",
          "metadata": {
            "description": "Table of contents block settings."
          }
        },
        "nodes": {
          "metadata": { "internal": true, "tsRicosNodesChildren": true },
          "elements": { "ref": "Never" }
        }
      }
    },
    "TocData": {
      "optionalProperties": {
        "includedHeadings": {
          "elements": {
            "type": "int32",
            "metadata": {
              "validation": {
                "min": 1,
                "max": 6
              }
            }
          },
          "metadata": {
            "description": "Heading levels included in the table of contents. Default: `[1, 2, 3, 4, 5, 6]`."
          }
        },
        "listStyle": {
          "enum": ["BULLETED", "NUMBERED", "LETTERS", "ROMAN", "PLAIN", "ALPHABETICAL_INDEX", "ALPHABETICAL_INDEX_COMPACT"],
          "metadata": {
            "emitEnum": "TocData_ListStyle",
            "description": "List style. Default: `NUMBERED`."
          }
        },
        "fontSize": {
          "type": "float64",
          "metadata": {
            "description": "Optional override for the font size in pixels."
          }
        },
        "itemSpacing": {
          "type": "float64",
          "metadata": {
            "description": "Optional override for the vertical spacing between items in pixels."
          }
        },
        "color": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Optional override for the text color."
          }
        },
        "indentation": {
          "enum": ["NESTED", "FLAT"],
          "metadata": {
            "emitEnum": "TocData_Indentation",
            "description": "Indentation style. Default: `NESTED`."
          }
        }
      }
    }
  }
}