mod chart;
mod parse;
use std::collections::HashMap;
pub use chart::{parse_chart_xml, ChartCategory, ChartData, ChartPoint, ChartSeries};
pub use parse::render_chart;
#[derive(Clone, Debug, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ChartDrawing {
pub xml: String,
#[serde(default)]
pub images: HashMap<String, String>,
}
#[derive(Clone, Debug, Default)]
pub struct RenderOptions<'a> {
pub width: Option<f64>,
pub height: Option<f64>,
pub theme_colors: Option<&'a HashMap<String, String>>,
pub font_family: Option<&'a str>,
pub theme_xml: Option<&'a str>,
pub theme_override_xml: Option<&'a str>,
pub style_xml: Option<&'a str>,
pub color_style_xml: Option<&'a str>,
pub images: Option<&'a HashMap<String, String>>,
pub drawings: Option<&'a HashMap<String, ChartDrawing>>,
pub legacy_defaults: bool,
pub spreadsheet_defaults: bool,
pub interactive: bool,
pub data: Option<&'a ChartData>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct RenderedChart {
pub svg: String,
pub data: ChartData,
}