{
  "type": "object",
  "properties": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "data": {
        "type": "array",
        "docs": {
          "displayType": "yaml"
        }
      },
      "style": {
        "type": "object",
        "description": "Css style object to apply to timeline.",
        "docs": {
          "displayType": "yaml"
        }
      },
      "pendingDotIcon": {
        "type": ["object", "string"],
        "description": "Set the dot of the last ghost node when pending is true.",
        "docs": {
          "displayType": "icon"
        }
      },
      "pending": {
        "type": "boolean",
        "default": false,
        "description": "Set the last ghost node's existence or its content."
      },
      "reverse": {
        "type": "boolean",
        "default": false,
        "description": "Reverse timeline nodes."
      },
      "iconField": {
        "type": "string",
        "description": "Use a custom icon field. Defaults to 'icon'."
      },
      "styleField": {
        "type": "string",
        "description": "Use a custom style field. Defaults to 'style'."
      },
      "colorField": {
        "type": "string",
        "description": "Use a custom color field. Defaults to 'color'."
      },
      "positionField": {
        "type": "string",
        "description": "Use a custom position field. Defaults to 'position'."
      },
      "labelField": {
        "type": "string",
        "description": "Use a custom label field. Defaults to 'label'."
      },
      "mode": {
        "type": "string",
        "enum": ["left", "right", "alternate"],
        "default": "left",
        "description": "By sending alternate the timeline will distribute the nodes to the left and right."
      }
    }
  }
}
