{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/radial-lollipop.json",
 "description": "The data prop of <RadialLollipop> (Chartory chart 094).",
 "type": "object",
 "title": "RadialLollipopData",
 "properties": {
  "min": {
   "type": "number",
   "description": "The bottom of the value scale."
  },
  "max": {
   "type": "number",
   "description": "The top of the value scale."
  },
  "rings": {
   "type": "array",
   "items": {
    "type": "number"
   },
   "description": "The ring values."
  },
  "labels": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "The labels, in order."
  },
  "vals": {
   "type": "array",
   "items": {
    "type": "number"
   },
   "description": "The values, in order."
  },
  "center": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "enum": [
       "Heading/S",
       "Body/M",
       "Body/S",
       "Body/L",
       "Body/Menu",
       "Body/Lead",
       "Display/L",
       "Display/M",
       "Display/Title",
       "Label/M",
       "Label/Caps",
       "Label/S",
       "Chartory/Body/LG",
       "Chartory/Body/MD",
       "Chartory/Body/SM",
       "Chartory/Body/XS",
       "Chartory/Label/MD",
       "Chartory/Label/SM",
       "Chartory/Numeric/MD",
       "Chartory/Numeric/SM",
       "Signal/Chart/Axis",
       "Signal/Chart/Value"
      ]
     },
     {
      "type": "string"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 3,
    "maxItems": 3
   },
   "description": "The lines in the centre: [text style, text, tone]."
  },
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "RadialLollipopRow",
    "properties": {
     "label": {
      "type": "string",
      "description": "The name shown on the chart."
     },
     "text": {
      "type": "string",
      "description": "The label as shown."
     },
     "pct": {
      "type": "string",
      "description": "The share as shown, e.g. \"42%\"."
     },
     "tok": {
      "type": "string",
      "description": "The colour token, e.g. \"data/primary\"."
     },
     "tone": {
      "type": "string",
      "description": "The tone of the mark (a colour token)."
     },
     "h": {
      "type": "number",
      "description": "The row height in the side list, in px."
     }
    },
    "required": [
     "label",
     "text"
    ]
   },
   "description": "One entry per row."
  }
 },
 "required": [
  "min",
  "max",
  "rings",
  "labels",
  "vals",
  "center",
  "rows"
 ]
}
