import 'package:flutter/material.dart'; class ToolbarIconButton extends StatelessWidget { final VoidCallback? onPressed; final Icon icon; final bool selected; final String? tooltip; const ToolbarIconButton({ super.key, this.onPressed, required this.icon, required this.selected, this.tooltip, }); @override Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); return SizedBox( width: 36, height: 36, child: IconButton( tooltip: tooltip, onPressed: onPressed, icon: icon, highlightColor: theme.colorScheme.secondaryContainer, color: selected ? theme.colorScheme.onSecondaryContainer : theme.colorScheme.outline, style: ButtonStyle( padding: WidgetStateProperty.all(EdgeInsets.zero), backgroundColor: WidgetStateProperty.resolveWith((states) { return selected ? theme.colorScheme.secondaryContainer : null; }), ), ), ); } }