use web_sys::Element;
pub fn add_state(el: &Element, state: &str) {
let current = el.get_attribute("data-rs-state").unwrap_or_default();
if !current.split_whitespace().any(|s| s == state) {
let next = if current.is_empty() { state.to_string() } else { format!("{} {}", current, state) };
el.set_attribute("data-rs-state", &next).ok();
}
}
pub fn remove_state(el: &Element, state: &str) {
let current = el.get_attribute("data-rs-state").unwrap_or_default();
let next: Vec<&str> = current.split_whitespace().filter(|s| *s != state).collect();
el.set_attribute("data-rs-state", &next.join(" ")).ok();
}
pub fn is_initialized(el: &Element) -> bool {
el.get_attribute("data-rs-initialized").as_deref() == Some("true")
}
pub fn mark_initialized(el: &Element) {
let _ = el.set_attribute("data-rs-initialized", "true");
}