build method
Widget
build(
- Widget builder(
- BuildContext context,
- T
- EdgeInsets padding = EdgeInsets.zero,
- TextStyle? textStyle,
- TextAlign textAlign = TextAlign.start,
Implementation
Widget build(
Widget Function(BuildContext context, T) builder, {
EdgeInsets padding = EdgeInsets.zero,
TextStyle? textStyle,
TextAlign textAlign = TextAlign.start,
}) {
return BlocBuilder<HubbleFormField<T, E>, ValueAndErrorMessage<T, E>>(
bloc: this,
builder: (context, state) {
final theme = hubbleThemeData(context);
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
builder(context, state.value),
Padding(
padding: padding,
child: AnimatedSize(
duration: const Duration(milliseconds: 200),
child: state.isVisible && state.error != null
? HubbleText(
state.visibleError.toString(),
style: theme.typography.s11
.copyWith(
color: theme.colors.system.error.medium,
fontWeight: FontWeight.w400,
)
.merge(textStyle),
textAlign: textAlign,
)
: const SizedBox.shrink(),
),
),
],
);
},
);
}