use leptos::prelude::*;
use super::menu_ui::{
Menu as MenuUi,
MenuItem as MenuItemUi
};
use canonrs_core::meta::{DisabledState, SelectionState};
#[component]
pub fn Menu(
children: Children,
#[prop(into, default = String::new())] aria_label: String,
#[prop(into, default = String::new())] class: String,
) -> impl IntoView {
view! { <MenuUi aria_label=aria_label class=class>{children()}</MenuUi> }
}
#[component]
pub fn MenuItem(
children: Children,
#[prop(into, default = String::new())] value: String,
#[prop(default = false)] selected: bool,
#[prop(default = false)] disabled: bool,
#[prop(into, default = String::new())] class: String,
) -> impl IntoView {
let selected_state = if selected { SelectionState::Selected } else { SelectionState::Unselected };
let disabled_state = if disabled { DisabledState::Disabled } else { DisabledState::Enabled };
let _ = value; view! { <MenuItemUi selected=selected_state disabled=disabled_state class=class>{children()}</MenuItemUi> }
}