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 reachesshowCounterAfterChars (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
TextFieldWithTranscription (in lib/widgets/common/) wraps this component with a transcription button — see the common widgets catalogue.