on_text_input_widget 0.2.0
on_text_input_widget: ^0.2.0 copied to clipboard
A text field that makes so many things like online, and offline searching easier.
0.2.0 #
Breaking — renames #
| Before | After | Widget |
|---|---|---|
textEditingController |
controller |
both |
errorCheck |
onError |
OnTextInputWidget |
onChangeDebounce |
debounceDuration |
OnTextInputWidget |
maxLine / minLine |
maxLines / minLines |
OnTextInputWidgetUserField |
enable |
enabled |
OnTextInputWidgetUserField |
The UserField names now match OnTextInputWidget and Flutter's own
TextField, which they previously contradicted.
Breaking — error handling #
- Fixed:
FormState.validate()now fails when the validator fails. It previously returnedtrueunconditionally and could not gate a submit. - Fixed: a failed validation no longer clears the user's input. The message is shown via the built-in error text instead of being written into the hint, so it stays visible while the user corrects the field.
- Fixed:
errorBuildernow renders withoutshowDetailError. Supplying a builder alone previously suppressed the default display without rendering the builder, so the error appeared nowhere. - When
showDetailErrororerrorBuilderis used, the built-in error text is retained at zero size to carry the message to assistive technology, and the visible copy is excluded from semantics so it is not announced twice.
Accessibility #
- The password visibility toggle is now a labelled semantic button
("Show password" / "Hide password") with a tooltip, and its tap target meets
the 48dp minimum. It was previously an unlabelled 24x24
GestureDetector.
Other #
- Raised
flutter_lintsto^5.0.0; resolved all resulting analyzer issues acrosslib/,test/andexample/(super parameters, library name, unused import and local, type annotations, line length) - Added regression tests for the
errorBuilderand input-clearing fixes, assertions thatFormState.validate()now reflects validity, layout tests covering the password toggle and the error display in narrow parents, and a semantics test for the toggle's label (15 tests to 20)
Documentation and constraints #
- Breaking: Raised minimum Flutter to 3.27.0 and Dart SDK to 3.6.0.
The previously declared pair (Flutter >=3.3.0 with Dart >=3.0.0) was
unsatisfiable — Flutter 3.3 ships Dart 2.18, and Dart 3.0 first shipped in
Flutter 3.10. The real floor comes from
flutter_svg, whose resolved 2.2.0 requires Dart ^3.6.0 / Flutter >=3.27.0. - Docs: Documented the behaviour of
errorBuilder, which renders nothing unlessshowDetailErroris alsotrue - Docs: Documented that
validatordoes not gateFormState.validate(), which always reports success - Docs: Documented that the default error mode clears the field, that
onChangedProcessingdrops intermediate values and swallows exceptions, and that the loading-icon flags are inert without it - Docs: Documented controller disposal ownership, and that
initialValuemay be combined with a controller - Docs: Corrected
errorCheck, which fires on validation failure and on error-clearing only, never on success - Docs: Added
doc/using-on-text-input-widget.md(usage guide) anddoc/audit-2026-09-16.md(known bugs and accessibility gaps) - Docs: Added
CLAUDE.md; corrected the analyze and example-test commands inAGENTS.md
0.1.0 #
- Breaking: Renamed
onChangeDebouncertoonChangeDebounce - Breaking: Narrowed
contentPaddingtype fromEdgeInsetsGeometrytoEdgeInsets - Breaking: Bumped minimum Flutter to 3.3.0 and Dart SDK to 3.0.0
- Fixed: Controller memory leak — internally created controllers now disposed
- Fixed: Missing
didUpdateWidget— stalehintText,borderRadius,textEditingControllerafter rebuild - Fixed:
postFrameCallbacknow hasmountedguard - Fixed: Debounce pipeline now recovers from
onChangedProcessingexceptions - Fixed: Validator no longer returns empty string as Form error
- Fixed:
_CustomAnimatedSizenow uses the passedcurveparameter - Fixed: Replaced deprecated
theme.buttonTheme.heightusage - Fixed:
errorCheckno longer clears text on successful validation - Fixed:
Set<void>literal replaced with normal void callback - Fixed:
focusNodeshadowing — state field renamed tofocusOffset - Fixed:
_defaultBorderRadiuschanged tofinal - Added: 15 widget tests for both
OnTextInputWidgetandOnTextInputWidgetUserField - Added:
AGENTS.mdfor contributor instructions - Docs: Rewrote README with full API reference
0.0.8 #
- Border Color added
0.0.7 #
- Refactored - Size
0.0.6 #
- Refactored - Size
0.0.5 #
- Refactored - showDetailError added to the OnTextInputWidgetUserField
0.0.4 #
- OnTextInputWidgetUserField added. It is a sub-widget implemented with OnProcessButtonWidget
0.0.3 #
- Some size error fixed
0.0.2 #
- Some size error fixed
0.0.1 #
- on_text_input_widget with many functionalities
