submenu static method

Widget submenu(
  1. M3EMenuSubmenu item, {
  2. required bool autofocus,
  3. required M3EMenuTheme menuTheme,
  4. required M3EMenuOpenSubmenuCallback? onOpenSubmenu,
})

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,
      );
    },
  );
}