submenu static method
submenu.
Implementation
static Widget submenu(
M3EMenuSubmenu item, {
required bool autofocus,
required M3EMenuTheme menuTheme,
required M3EMenuOpenSubmenuCallback? onOpenSubmenu,
}) {
return Builder(
builder: (BuildContext itemContext) {
return M3EMenuItem(
label: item.label,
leading: item.leading,
badge: item.badge,
trailing: Icon(
M3EIcons.arrow_right_rounded,
size: menuTheme.iconSize,
),
enabled: item.enabled,
shape: item.shape,
autofocus: autofocus,
onTap: item.enabled && onOpenSubmenu != null
? () {
final box = itemContext.findRenderObject() as RenderBox?;
if (box == null) {
return;
}
final rect = box.localToGlobal(Offset.zero) & box.size;
onOpenSubmenu(rect, item.children);
}
: null,
);
},
);
}