Skip to main content

menu_item

Function menu_item 

Source
pub fn menu_item() -> MenuItemBuilder
Expand description

Material Design 3 menu item for use inside menu_provider.

§Usage

Build contextual or overflow menu actions inside menu_provider().menu_content(...).

§Parameters

  • menu — action owner received from the enclosing menu content slot.
  • label — primary text shown for the menu action
  • supporting_text — optional supporting text below the label
  • trailing_text — optional trailing text such as a shortcut hint
  • leading_icon — optional icon shown on the leading side
  • trailing_icon — optional trailing icon before the submenu disclosure arrow
  • submenu_content — optional submenu opened by activation or mouse dwell; branch activation opens this submenu instead of calling on_click.
  • submenu_placement — optional submenu placement override
  • selected — caller-owned visual and checked state; activation never changes it automatically.
  • selection_mode — optional radio or checkbox semantics for a leaf or a submenu branch; omit it for an ordinary action.
  • position — item position within its group, controlling corner shapes
  • shape — optional fixed item shape override
  • container_color — optional item background override
  • color_style — optional standard or vibrant color override
  • enabled — whether the item can be activated
  • close_on_click — whether selecting a leaf closes the menu chain; submenu expansion does not close the chain.
  • height — optional item height override
  • label_color — optional label text color override
  • supporting_color — optional supporting or trailing text color override
  • disabled_color — optional disabled content color override
  • on_click — optional leaf activation callback; submenu_content takes precedence when both are provided.

§Examples

use tessera_components::{
    menus::{menu_item, menu_provider},
    text::text,
};

menu_provider()
    .is_open(true)
    .menu_content(|menu| {
        menu_item().menu(menu).label("Open");
    })
    .main_content(|| {
        text("Main content");
    });