buildButtonContent method
Widget
buildButtonContent(
- TWidgetTheme baseTheme, {
- IconData? icon,
- String? text,
- bool isLoading = false,
- String loadingText = 'Loading...',
- Widget? child,
- Set<
WidgetState> states = const {},
Implementation
Widget buildButtonContent(
TWidgetTheme baseTheme, {
IconData? icon,
String? text,
bool isLoading = false,
String loadingText = 'Loading...',
Widget? child,
Set<WidgetState> states = const {},
}) {
final resolvedFgColor = baseTheme.foregroundState.resolve(states);
return Row(
mainAxisSize: size.minW.isInfinite ? MainAxisSize.max : MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (isLoading)
SizedBox(
width: size.icon,
height: size.icon,
child: CircularProgressIndicator(strokeWidth: 2, valueColor: AlwaysStoppedAnimation(resolvedFgColor)))
else if (icon != null)
Icon(icon, size: size.icon),
if (text?.isNotEmpty ?? false) ...[
if (icon != null || isLoading) SizedBox(width: size.spacing),
Text(isLoading ? loadingText : text!),
],
if (child != null) child,
],
);
}