Skip to main content
A wrapper around Flutter’s TextField that applies Sundial styling and adds a threshold-based character counter. Source: styled_text_field.dart.

Variants

Character counter

The default Material counter is suppressed; Sundial’s own counter renders only once the text reaches showCounterAfterChars (default 200 of maxLength 250), as current/max in bodySmall / contrastMedium. Position it with counterAlignment:

API

Other built-in behavior: hint in contrastWeak, prefix icon tinted contrastSubtle, and scrollPadding of 300 px so the field scrolls clear of the keyboard.

Tokens consumed

surfaceElevated, surfaceBg, surfaceHigh, contrastWeak, contrastSubtle, contrastMedium; typography bodyLarge, bodySmall.

Real usage

profile_settings.dart
For voice input, TextFieldWithTranscription (in lib/widgets/common/) wraps this component with a transcription button — see the common widgets catalogue.