m3e_menu library

Material 3 Expressive (M3E) Menus.

Implements expressive popup menus, segmented groups, cascading submenus with the Magic Triangle safe navigation algorithm, spring physics motion powered by motor, and 1:1 drop-in compatibility with Flutter's MenuAnchor.

Classes

M3ECheckboxMenuButton
A Material 3 Expressive checkable menu item button.
M3ECheckedPopupMenuItem<T>
A checkable item in a Material 3 Expressive popup menu.
M3EMagicTriangle
Implements the "Magic Triangle" geometric hit-testing algorithm for cascading submenus.
M3EMenuAnchor
A Material 3 Expressive menu anchor widget.
M3EMenuController
A controller used to manage the state of an M3EMenuAnchor or submenu.
M3EMenuGroup
A visually distinct segmented group within an M3E Menu.
M3EMenuGroupLabel
A standardized header label for an M3EMenuGroup.
M3EMenuItemButton
A Material 3 Expressive menu item button.
M3EMenuItemStyle
Visual styling configuration for an M3EMenuItemButton or selectable menu item.
M3EMenuStyle
Visual styling configuration for an M3EMenuAnchor or popup menu container.
M3EMenuTokens
Design tokens for Material 3 Expressive Menus.
M3EMotion
Spring animation configuration for Material 3 Expressive components.
M3EPopupMenuButton<T>
A Material 3 Expressive popup menu button.
M3EPopupMenuButtonState<T>
The State for an M3EPopupMenuButton.
M3EPopupMenuDivider
A horizontal divider in a Material 3 Expressive popup menu.
M3EPopupMenuEntry<T>
A base class for entries in a Material 3 Expressive popup menu.
M3EPopupMenuItem<T>
A single selectable item in a Material 3 Expressive popup menu.
M3ERadioMenuButton<T>
A Material 3 Expressive radio menu item button.
M3ESubmenuButton
A Material 3 Expressive submenu button that opens a cascading menu.
Represents the active and inactive shapes for a segmented menu group.
Represents the unselected and selected shapes for a menu item.

Enums

M3EMenuAnimationStyle
The reveal animation used when a menu popup opens and closes.
M3EMenuColorSchemeVariant
The color scheme variant for a Material 3 Expressive menu.
M3EMenuPosition
Where a popup menu is placed relative to its anchor.

Typedefs

M3EMenuAnchorChildBuilder = Widget Function(BuildContext context, M3EMenuController controller, Widget? child)
Signature for the builder callback used by M3EMenuAnchor.
M3EPopupMenuCanceled = void Function()
Signature for the callback invoked when a popup menu is dismissed without a selection.
M3EPopupMenuItemBuilder<T> = List<M3EPopupMenuEntry<T>> Function(BuildContext context)
Signature for the builder callback used by M3EPopupMenuButton.itemBuilder.
M3EPopupMenuItemSelected<T> = void Function(T value)
Signature for the callback invoked when a popup menu value is selected.