biji_ui/components/menu/
mod.rs

1use crate::components::menubar::{context::RootContext, menu::Menu as MenuComponent};
2use leptos::prelude::*;
3
4pub use crate::components::menubar::item::Item;
5pub use crate::components::menubar::item::SubMenuItem as SubMenu;
6pub use crate::components::menubar::item::SubMenuItemContent as SubMenuContent;
7pub use crate::components::menubar::item::SubMenuItemTrigger as SubMenuTrigger;
8pub use crate::components::menubar::menu::MenuContent as Content;
9pub use crate::components::menubar::menu::MenuTrigger as Trigger;
10
11#[component]
12pub fn Menu(
13    #[prop(default = false)] disabled: bool,
14    #[prop(into, optional)] class: String,
15    #[prop(default = false)] allow_loop: bool,
16    children: Children,
17) -> impl IntoView {
18    let ctx = RootContext {
19        allow_item_loop: allow_loop,
20        ..RootContext::default()
21    };
22
23    provide_context(ctx);
24
25    view! {
26        <MenuComponent disabled={disabled} class={class}>
27            {children()}
28        </MenuComponent>
29    }
30}