use yew::{
classes, function_component, html, AttrValue, Callback, Children, Classes, Event, Html,
Properties,
};
use zu_util::prop::ToAttr;
#[derive(Debug, Clone, PartialEq, Properties)]
pub struct Props {
#[prop_or_default]
pub children: Children,
#[prop_or_default]
pub classes: Classes,
#[prop_or(AttrValue::from("div"))]
pub component: AttrValue,
#[prop_or_default]
pub on_change: Option<Callback<(Event, i32), ()>>,
#[prop_or(false)]
pub show_labels: bool,
#[prop_or_default]
pub style: AttrValue,
}
#[function_component(BottomNavigation)]
pub fn bottom_navigation(props: &Props) -> Html {
let root_cls = classes!("ZuBottomNavigation", props.classes.clone());
html! {
<@{props.component.to_string()}
class={root_cls}
style={props.style.to_attr()}>
{for props.children.iter()}
</@>
}
}