thaw/src/menu/mod.rs

22 lines
493 B
Rust
Raw Normal View History

2023-10-05 00:58:53 +08:00
mod menu_group;
2023-05-18 17:14:54 +08:00
mod menu_item;
2023-09-21 21:57:34 +08:00
mod theme;
2023-05-18 17:14:54 +08:00
use leptos::*;
2023-10-05 00:58:53 +08:00
pub use menu_group::MenuGroup;
2023-05-18 17:14:54 +08:00
pub use menu_item::*;
2023-09-21 21:57:34 +08:00
pub use theme::MenuTheme;
2023-05-18 17:14:54 +08:00
#[component]
pub fn Menu(#[prop(optional, into)] value: RwSignal<String>, children: Children) -> impl IntoView {
2023-11-09 16:46:14 +08:00
provide_context(MenuInjection(value));
2023-11-05 16:03:58 +08:00
view! { <div class="thaw-menu">{children()}</div> }
2023-05-18 17:14:54 +08:00
}
#[derive(Clone)]
2023-11-09 16:46:14 +08:00
pub(crate) struct MenuInjection(pub RwSignal<String>);
2023-05-18 17:14:54 +08:00
2023-11-09 16:46:14 +08:00
pub(crate) fn use_menu() -> MenuInjection {
expect_context()
2023-05-18 17:14:54 +08:00
}