{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/case-strip-dumbbell.json",
 "description": "The data prop of <CaseStripDumbbell> (Chartory chart 108).",
 "type": "object",
 "title": "CaseStripDumbbellData",
 "properties": {
  "min": {
   "type": "number",
   "description": "The bottom of the value scale."
  },
  "max": {
   "type": "number",
   "description": "The top of the value scale."
  },
  "target": {
   "type": "number",
   "description": "The target value."
  },
  "ticks": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The axis ticks: [value, label] pairs."
  },
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "CaseStripDumbbellRow",
    "properties": {
     "label": {
      "type": "string",
      "description": "The name shown on the chart."
     },
     "a": {
      "type": "number",
      "description": "The value before."
     },
     "b": {
      "type": "number",
      "description": "The value after."
     },
     "fixed": {
      "type": "number",
      "description": "The fixed count."
     },
     "regressed": {
      "type": "number",
      "description": "The regressed count."
     },
     "still": {
      "type": "number",
      "description": "The count still failing."
     },
     "sel": {
      "type": "boolean",
      "description": "Marks the row as selected."
     }
    },
    "required": [
     "label",
     "a",
     "b",
     "fixed",
     "regressed",
     "still"
    ]
   },
   "description": "One entry per row."
  }
 },
 "required": [
  "min",
  "max",
  "target",
  "ticks",
  "rows"
 ]
}
