use super::{HighlightScope, TooltipTrigger};
#[derive(Clone, Debug, PartialEq)]
pub struct OrbitalChartsTheme {
pub fade_opacity: f64,
pub legend_gap: f64,
pub tooltip_delay_ms: u64,
pub default_highlight_scope: HighlightScope,
pub default_tooltip_trigger: TooltipTrigger,
}
impl Default for OrbitalChartsTheme {
fn default() -> Self {
Self {
fade_opacity: 0.35,
legend_gap: 12.0,
tooltip_delay_ms: 0,
default_highlight_scope: HighlightScope {
highlight: super::HighlightMode::Item,
fade: super::FadeMode::Global,
},
default_tooltip_trigger: TooltipTrigger::Item,
}
}
}
impl OrbitalChartsTheme {
pub fn css_vars(&self) -> String {
format!(
"--orbital-chart-fade-opacity: {}; --orbital-chart-legend-gap: {}px; --orbital-chart-tooltip-delay: {}ms;",
self.fade_opacity, self.legend_gap, self.tooltip_delay_ms
)
}
}