use dioxus::prelude::*;
#[derive(Props, Clone, PartialEq)]
pub struct OptionGroupProps {
pub label: String,
#[props(default)]
pub children: Element,
#[props(default = false)]
pub disabled: bool,
#[props(default)]
pub class: Option<String>,
}
#[component]
pub fn OptionGroup(props: OptionGroupProps) -> Element {
let mut class_names = vec!["el-select-group".to_string()];
if props.disabled {
class_names.push("is-disabled".to_string());
}
if let Some(ref custom_class) = props.class {
class_names.push(custom_class.clone());
}
let class_string = class_names.join(" ");
rsx! {
div {
class: "el-select-group__wrap",
div {
class: "el-select-group__title",
"{props.label}"
}
div {
class: "{class_string}",
{props.children}
}
}
}
}