use serde::{Deserialize, Serialize};
use super::{ColorStr, TextStyleConfig, borders::WidgetBorderType};
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
#[cfg_attr(feature = "generate_schema", derive(schemars::JsonSchema))]
#[cfg_attr(test, serde(deny_unknown_fields), derive(PartialEq, Eq))]
pub(crate) struct WidgetStyle {
#[serde(alias = "border_colour")]
pub(crate) border_color: Option<ColorStr>,
#[serde(alias = "selected_border_colour")]
pub(crate) selected_border_color: Option<ColorStr>,
pub(crate) widget_title: Option<TextStyleConfig>,
pub(crate) text: Option<TextStyleConfig>,
pub(crate) selected_text: Option<TextStyleConfig>,
pub(crate) disabled_text: Option<TextStyleConfig>,
pub(crate) thread_text: Option<TextStyleConfig>,
pub(crate) widget_border_type: Option<WidgetBorderType>,
}