use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(tag = "kind", content = "value", rename_all = "snake_case")]
pub enum ZsBadgeContent {
Dot,
Number(u32),
Icon(crate::ZsIcon),
}
impl ZsBadgeContent {
pub const fn number(value: u32) -> Self {
Self::Number(value)
}
pub const fn icon(icon: crate::ZsIcon) -> Self {
Self::Icon(icon)
}
}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ZsBadgeTone {
Neutral,
#[default]
Accent,
Success,
Warning,
Danger,
}