{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/dependency-map.json",
 "description": "The data prop of <DependencyMap> (Chartory chart 115).",
 "type": "object",
 "title": "DependencyMapData",
 "properties": {
  "chain": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "DependencyMapChain",
    "properties": {
     "label": {
      "type": "string",
      "description": "The name shown on the chart."
     },
     "sub": {
      "type": "string",
      "description": "The second line under the label."
     },
     "tone": {
      "enum": [
       "ok",
       "warn",
       "bad"
      ],
      "description": "The tone of the mark (a colour token)."
     }
    },
    "required": [
     "label",
     "tone"
    ]
   },
   "description": "One entry per link of the chain."
  },
  "groups": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "DependencyMapGroup",
    "properties": {
     "label": {
      "type": "string",
      "description": "The name shown on the chart."
     },
     "nodes": {
      "type": "array",
      "items": {
       "type": "object",
       "title": "DependencyMapNode",
       "properties": {
        "label": {
         "type": "string",
         "description": "The name shown on the chart."
        },
        "sub": {
         "type": "string",
         "description": "The second line under the label."
        },
        "tone": {
         "enum": [
          "ok",
          "warn",
          "bad"
         ],
         "description": "The tone of the mark (a colour token)."
        },
        "w": {
         "type": "number",
         "description": "The link's weight: sets its line width."
        }
       },
       "required": [
        "label",
        "tone",
        "w"
       ]
      },
      "description": "One entry per node."
     }
    },
    "required": [
     "label",
     "nodes"
    ]
   },
   "description": "One entry per group."
  }
 },
 "required": [
  "chain",
  "groups"
 ]
}
