toggleable static method

Widget toggleable(
  1. M3EMenuToggleable item, {
  2. required bool autofocus,
  3. required bool closeOnSelect,
  4. required M3EMenuTheme menuTheme,
  5. required M3EMenuSelectCallback onSelect,
})

toggleable.

Implementation

static Widget toggleable(
  M3EMenuToggleable item, {
  required bool autofocus,
  required bool closeOnSelect,
  required M3EMenuTheme menuTheme,
  required M3EMenuSelectCallback onSelect,
}) {
  return M3EMenuItem(
    label: item.label,
    leading:
        item.leading ??
        Icon(
          item.checked
              ? M3EIcons.check_box_rounded
              : M3EIcons.check_box_outline_blank_rounded,
          size: menuTheme.iconSize,
        ),
    trailing: item.trailing,
    trailingText: item.trailingText,
    badge: item.badge,
    supportingText: item.supportingText,
    enabled: item.enabled,
    selected: item.checked,
    shape: item.shape,
    autofocus: autofocus,
    onTap: item.enabled
        ? () {
            final next = !item.checked;
            item.onChanged?.call(next);
            if (closeOnSelect) {
              onSelect(next);
            }
          }
        : null,
  );
}