hyaenidae/toolkit/src/tab.rs

34 lines
653 B
Rust

#[derive(Clone, Debug, Default)]
pub struct Tab {
href: String,
selected: bool,
}
impl Tab {
pub fn new(href: &str) -> Self {
Tab {
href: href.to_owned(),
selected: false,
}
}
pub fn selected(mut self, selected: bool) -> Self {
self.selected = selected;
self
}
pub(crate) fn href(&self) -> &str {
&self.href
}
pub(crate) fn class_string(&self) -> String {
let mut classes = vec!["toolkit-tab".to_owned()];
if self.selected {
classes.push("toolkit-tab__selected".to_owned());
}
classes.join(" ")
}
}