Skip to main content

menu_group

Function menu_group 

Source
pub fn menu_group() -> MenuGroupBuilder
Expand description

Surface a group of related vertical-menu actions.

§Usage

Separate related actions inside a grouped context menu.

§Parameters

  • menu — action owner received from the enclosing menu content slot.
  • position — outside corners; middle and last groups include a 2dp gap above. Default corners contract when an activated group loses hover and keyboard focus.
  • color_style — color emphasis; inherits the enclosing menu by default.
  • modifier — optional layout and semantics modifiers.
  • shape — optional fixed shape override.
  • container_color — optional group background override.
  • accessibility_label — optional name describing the group of actions.
  • children — menu items or other group content.

§Examples

use tessera_components::{
    menus::{MenuController, menu_group, menu_item, menu_provider},
    theme::material_theme,
};
use tessera_ui::{remember, tessera};

#[tessera]
fn component() {
    let menu = remember(MenuController::new);
    menu.with_mut(MenuController::open);
    assert!(menu.with(MenuController::is_open));
    material_theme().child(move || {
        menu_provider()
            .controller(menu)
            .grouped(true)
            .menu_content(move |scope| {
                menu_group().menu(scope).children(move || {
                    menu_item().menu(scope).label("Save").on_click(move || {
                        menu.with_mut(MenuController::close);
                    });
                });
            });
    });
}