underline static method

MinInputStyle underline(
  1. MinThemeData theme
)

Solo un borde inferior. Sin fondo ni bordes laterales/superior.

El padding horizontal se elimina para que el texto arranque al filo. Al enfocar, el borde inferior se engruesa y aparece un degradado sutil como ring. Evoca los inputs de Material Design clásico.

Implementation

static MinInputStyle underline(MinThemeData theme) {
  final colors = theme.colors;

  Border bottom(Color color, {double width = 1}) => Border(
    bottom: BorderSide(color: color, width: width),
  );

  return MinInputStyle(
    idle: BoxDecoration(border: bottom(colors.border)),
    focused: BoxDecoration(border: bottom(colors.ring, width: 2)),
    error: BoxDecoration(border: bottom(colors.destructive, width: 2)),
    disabled: BoxDecoration(border: bottom(colors.input)),
    // Sin padding horizontal: el texto arranca al filo del borde.
    // Se conserva el padding vertical para mantener la altura táctil mínima.
    contentPadding: const EdgeInsets.symmetric(vertical: 8),
    disabledForegroundColor: colors.mutedForeground,
  );
}