iconButton static method

String iconButton()

Implementation

static String iconButton() => r'''
import 'package:flutter/material.dart';

import '../tokens/app_sizes.dart';
import 'app_surface.dart';

class AppIconButton extends StatelessWidget {
const AppIconButton({
  super.key,
  required this.icon,
  required this.onPressed,
  this.tooltip,
  this.semanticLabel,
});

final IconData icon;
final VoidCallback? onPressed;
final String? tooltip;
final String? semanticLabel;

@override
Widget build(BuildContext context) {
  final button = AppSurface(
    depth: AppSurfaceDepth.raised,
    padding: const EdgeInsets.all(12),
    onTap: onPressed,
    semanticLabel: semanticLabel ?? tooltip,
    child: Icon(icon, size: AppSizes.iconMd),
  );
  if (tooltip == null) return button;
  return Tooltip(message: tooltip!, child: button);
}
}
''';