selectable static method

Widget selectable(
  1. M3EMenuSelectable item, {
  2. required bool selected,
  3. required bool autofocus,
  4. required M3EMenuTheme menuTheme,
  5. required M3EMenuSelectCallback onSelect,
})

selectable.

Implementation

static Widget selectable(
  M3EMenuSelectable item, {
  required bool selected,
  required bool autofocus,
  required M3EMenuTheme menuTheme,
  required M3EMenuSelectCallback onSelect,
}) {
  return M3EMenuKeyRegistration(
    label: item.label,
    enabled: item.enabled,
    builder: (FocusNode node) {
      return M3EMenuItem(
        label: item.label,
        leading:
            item.leading ??
            (selected
                ? Icon(M3EIcons.check_rounded, size: menuTheme.iconSize * 0.9)
                : null),
        trailing: item.trailing,
        trailingText: item.trailingText,
        badge: item.badge,
        supportingText: item.supportingText,
        enabled: item.enabled,
        selected: selected,
        shape: item.shape,
        autofocus: autofocus,
        focusNode: node,
        onTap: item.enabled
            ? () {
                item.onPressed?.call();
                onSelect(item.value);
              }
            : null,
      );
    },
  );
}