controllergroupId onChanged_defaultContextMenuBuilder createState _controller_effectiveController_textFormField restoreState_registerController_createLocalController initStatedidUpdateWidgetdispose didChangereset_handleControllerChanged TextFormField_TextFormFieldState€³BoxHeightStyle BoxWidthStyleSmartDashesTypeSmartQuotesType FormField TextFieldForm GlobalKey currentStateTextEditingControllertext initialValueListViewCustomScrollViewdispose ThemeDatainputDecorationThemeInputDecoration applyDefaultsInputDecoratorStringnew EditableText FocusNode TextInputTypeTextCapitalizationnoneTextInputAction TextStyle StrutStyle TextDirection TextAlignstartTextAlignVerticalbool DeprecatedToolbarOptionsMaxLengthEnforcementintGestureTapCallbackTapRegionCallback VoidCallback ValueChangedListTextInputFormatterdoubleRadiusColor Brightness EdgeInsetsallTextSelectionControlsInputCounterWidgetBuilder ScrollPhysicsIterableAutovalidateModeScrollController MouseCursorEditableTextContextMenuBuilderSpellCheckConfigurationTextMagnifierConfigurationUndoHistoryControllerAppPrivateCommandCallbacktightDragStartBehaviorContentInsertionConfigurationMaterialStatesControllerCliphardEdgeobscuringCharacterlengthmaxLinesminLinesexpands obscureText maxLength noMaxLengthenabled decorationautovalidateModedisabledbuilderFormFieldStatefieldThemeofcontextvoid didChangecallUnmanagedRestorationScopebucketchildgroupId restorationId controller_effectiveController focusNodecopyWith errorText keyboardTypetextInputActionstyle strutStyle textAligntextAlignVertical textDirectiontextCapitalization autofocusstatesControllertoolbarOptionsreadOnly showCursor autocorrectsmartDashesTypesmartQuotesTypeenableSuggestionsmaxLengthEnforcement onChangedonTaponTapAlwaysCalled onTapOutsideonEditingComplete onSubmittedonFieldSubmittedinputFormattersignorePointers cursorWidth cursorHeight cursorRadius cursorColorcursorErrorColor scrollPadding scrollPhysicskeyboardAppearanceenableInteractiveSelectionselectionControls buildCounter autofillHintsscrollControllerenableIMEPersonalizedLearning mouseCursorcontextMenuBuilderspellCheckConfigurationmagnifierConfigurationundoControlleronAppPrivateCommandcursorOpacityAnimatesselectionHeightStyleselectionWidthStyledragStartBehaviorcontentInsertionConfiguration clipBehaviorscribbleEnabledcanRequestFocusObjectWidget BuildContextEditableTextStateAdaptiveTextSelectionToolbar editableTexteditableTextStateoverrideRestorableTextEditingControllervaluewidgetRestorationBucket restoreStatesetValueregisterForRestorationTextEditingValue fromValuerestorePending initState addListenerdidUpdateWidgetremoveListenerunregisterFromRestorationreset FormFieldFormFieldStateíí­ÜòFÜBáòB³sô#‚,‚QSmartDashesTypeSmartQuotesType‚package:flutter/services.dart €À€âBoxHeightStyle BoxWidthStyle€ª€º€½ui€½dart:ui€èpackage:flutter/gestures.dart�package:flutter/services.dart�:package:flutter/widgets.dart�d$adaptive_text_selection_toolbar.dart�”input_decorator.dart�´material_state.dart�Ótext_field.dart�î theme.dartšLÀA­�ž=€ˆ€§€©€å€ç��9�a�c�“�³�Ò�í‚‚‚T‚V‚†‚‹‚Ò‚ä‚éƒ*ƒzƒÏ„„„[„§„ò…4…ƒ…¤…©…õ†3†8†o†t†É‡‡1‡6‡ˆ‡¿‡å‡êˆ2ˆ7ˆLˆQˆ¢ˆ§‰a‰fŠMŠRŠ_ŠsŠ�ŠÀŠï‹ ‹‹9‹t‹£‹­‹ÑŒ+Œ5Œ<ŒEŒVŒ[ŒpŒ¾ŒÚŒß�7�H�M�b�¯�Ê�ÏŽ'Ž8Ž=ŽLŽQŽ’ŽÝŽò�B�s�"�S���”�Þ‘'‘s‘¡‘¨‘ù’&’9’I’k’�’œ’·’Ò““0“v“�“´“Ñ“ô” ”K”h”„”–””þ••*•A•g•†•¤•Ë•ò––G–_–s–Ž–£–¸–Ø–ý—#—I—v—Š— —Зä—ÿ˜˜9˜T˜m˜‹˜°˜ì™™B™p™“™¹™âš š%šUštšÊ››:›f›››½œœHœŒœÏ��(�J�l�¨�Øž ž<žLžšžÏžÚžêŸ(ŸnŸyŸÐ * 9 Ž É¡¡H¡”¡ô¢B¢t¢š¢À¢Î¢ü£ £@£b£�£È£î¤D¤p¤¢¤À¤è¥¥D¥r¥ª¥Ð¦¦4¦X¦€¦¸¦â§ §„§ü¨2¨n¨’¨¶¨Ø¨þ©+©I©©«©áªªBªƒª³ªÝ« «5«_«“«Á«ï¬'¬Ž¬Ä¬ð­­R­ ­Ê®®D®„®´®î¯,¯h¯¢¯Ø°&°R°„°¶°Ç°Ö°ã°î°ð±±±j±²±Þ±à²².²0²l²®²÷³ ³7³9³¢³Ù´´´´´"´d´g´i´¥´Ö´Øµ>µ@µ†µˆµ•µß¶¶3¶Q¶X¶¨¶Ï¶ù¶þ·· ·B·{·€·‚·¾·à¸¸.¸k¸‡¸¥¸¬¸±¸³¸À¸Ö¸î¹¹Ž¹œ¹å¹ì¹ñ¹óºº3ºZº˜ºß»(»*»z»¸»Á»Ã»ó¼'¼T¼ˆ¼«¼Ê¼Õ¼Þ¼å¼ê¼ì¼ù½ ½W½t½Š½�½‘½ž½Á½Þ½à¾¾?¾F¾K¾M¾Z¾l¾±¾ç¿#¿7¿w¿|¿~¿£¿ä¿ìÀ@9À@ŠÀ@ÖÀA#ÀABÀAqÀAžÀA¥ÀAªÀA­ €©€¾€½€À€â€ç��9�c�“�³�Ò�í‚‚,‚Q‚V²�(�(�{/// A [FormField] that contains a [TextField]. /// /// This is a convenience widget that wraps a [TextField] widget in a /// [FormField]. /// /// A [Form] ancestor is not required. The [Form] allows one to /// save, reset, or validate multiple fields at once. To use without a [Form], /// pass a `GlobalKey` (see [GlobalKey]) to the constructor and use /// [GlobalKey.currentState] to save or reset the form field. /// /// When a [controller] is specified, its [TextEditingController.text] /// defines the [initialValue]. If this [FormField] is part of a scrolling /// container that lazily constructs its children, like a [ListView] or a /// [CustomScrollView], then a [controller] should be specified. /// The controller's lifetime should be managed by a stateful widget ancestor /// of the scrolling container. /// /// If a [controller] is not specified, [initialValue] can be used to give /// the automatically generated controller an initial value. /// /// {@macro flutter.material.textfield.wantKeepAlive} /// /// Remember to call [TextEditingController.dispose] of the [TextEditingController] /// when it is no longer needed. This will ensure any resources used by the object /// are discarded. /// /// By default, `decoration` will apply the [ThemeData.inputDecorationTheme] for /// the current context to the [InputDecoration], see /// [InputDecoration.applyDefaults]. /// /// For a documentation about the various parameters, see [TextField]. /// /// {@tool snippet} /// /// Creates a [TextFormField] with an [InputDecoration] and validator function. /// /// ![If the user enters valid text, the TextField appears normally without any warnings to the user](https://flutter.github.io/assets-for-api-docs/assets/material/text_form_field.png) /// /// ![If the user enters invalid text, the error message returned from the validator function is displayed in dark red underneath the input](https://flutter.github.io/assets-for-api-docs/assets/material/text_form_field_error.png) /// /// ```dart /// TextFormField( /// decoration: const InputDecoration( /// icon: Icon(Icons.person), /// hintText: 'What do people call you?', /// labelText: 'Name *', /// ), /// onSaved: (String? value) { /// // This optional block of code can be used to run /// // code when the user saves the form. /// }, /// validator: (String? value) { /// return (value != null && value.contains('@')) ? 'Do not use the @ char.' : null; /// }, /// ) /// ``` /// {@end-tool} /// /// {@tool dartpad} /// This example shows how to move the focus to the next field when the user /// presses the SPACE key. /// /// ** See code in examples/api/lib/material/text_form_field/text_form_field.1.dart ** /// {@end-tool} /// /// {@tool dartpad} /// This example shows how to force an error text to the field after making /// an asynchronous call. /// /// ** See code in examples/api/lib/material/text_form_field/text_form_field.2.dart ** /// {@end-tool} /// /// See also: /// /// * /// * [TextField], which is the underlying text field without the [Form] /// integration. /// * [InputDecorator], which shows the labels and other visual elements that /// surround the actual text editing widget. /// * Learn how to use a [TextEditingController] in one of our [cookbook recipes](https://docs.flutter.dev/cookbook/forms/text-field-changes#2-use-a-texteditingcontroller).�U —’(’(’5�·/// Creates a [FormField] that contains a [TextField]. /// /// When a [controller] is specified, [initialValue] must be null (the /// default). If [controller] is null, then a [TextEditingController] /// will be constructed automatically and its `text` will be initialized /// to [initialValue] or the empty string. /// /// For documentation about the various parameters, see the [TextField] class /// and [TextField.new], the constructor.H’= ’D’C’M’S’R’o’u’t’…’Ž’�’ ’¬’«’»’Â’Á’Ö5’è’ç““"“!“4?“H“G“z “Œ“‹“¡“­“¬“¸“œēՓå“䓸%”””$$”8”7”O”U”T”l”r”q”ˆ€Ÿ•••.•5•4•E•M•L•k•q•p•Š•�•�•¨ •º•¹•Ï •á•à•ö•ü•û–*–1–0–K–Q–P–c –i–h–w–}–|–’–˜–—–§–­–¬–¼–Ñ–ЖÜ–â–á————'—6—5—M&—d—c—z —�—€—Ž—•—”—¤)—¿—¾—Ô —Û—Ú—è—ï— ˜ ˜"˜+˜*˜=˜F˜E˜X˜`˜_˜q˜y˜x˜�˜œ˜›˜´5˜À˜¿˜ð ˜÷˜ö™(™/™.™F'™b™a™t™„™ƒ™—™ª™©™½"™Ð™Ï™æ"™ù™øšššš))š/š.šYšgšfšxOš™š˜šÎ0šèšç›2›"›!›>%›V›U›j.›†›…›Ÿ›¦›¥›Á@›Ô›Óœ=œœœL=œ_œ^œ�<œ°œ¯œÓ*œîœí�!� � �,�2�1�N�T�S€Ä’\’ô’ú“ “ “\“n“o””””`”|”ˆ”‰”“•”œ”È•a•~•�––[–†–õ˜˜Ï˜Õ˜ß˜à˜ã˜è˜äšNš­›ê›ì›í›û›üœ/œ1œ2œ?œ@œrœƒœ„����C�e�s�y�¤���‡�z�Š���’� �¯�µ�Ô�Ð�¶�È�É�Ó�ß�åž�÷�ï�æ�òž�úžžžž8ž)ž!žž$ž5ž,ž7žCžIž—žÖž~žhžUžfž_žVžbžkž|žužlžxž�ž–ž‹ž‚žŽž£žážçŸ%ŸužüžóžôžÿŸ$ŸŸ ŸŸ ŸŸŸ Ÿ1Ÿ€Ÿ†Ÿ¤ŸÌŸ”Ÿ‡ŸˆŸ Ÿ—Ÿ£Ÿ¦Ÿ×ŸÝ & ŸðŸèŸÞŸëŸýŸó      #  % 1 6°ê N B c u [ P ^ e o p w Š … x ˆ ž — ¿ ¨   « µ · Â â Ò õ ä ø¡¡ ¡$¡¡&°ß°ò€é±Ñ±Ñ€µ/// Controls the text being edited. /// /// If null, this widget will create its own [TextEditingController] and /// initialize its [TextEditingController.text] with [initialValue].±âI²$²$1/// {@macro flutter.widgets.editableText.groupId}²2�³+³+€Ð/// {@template flutter.material.TextFormField.onChanged} /// Called when the user initiates a change to the TextField's /// value: when they have inserted or deleted text or reset the form. /// {@endtemplate}³;€Ö³I³I³d³r³q³z#³�³Œ´K´;´;´´´i�B´o´o´§,´È´È´Úb´ô´ôµBBµTµT µŠ�rµœµœµ©µ½µ¼µÇµÍµÌµŠµ‹·|···„�+·‰·‰·¡·´·³¸µ�:¸Ç¸Ç¸µ¸¶¹õ‚󺺺º&º%¹õ¹ö¼î€Ÿ½½¼î¼ï½“€¶½¥½¥½¯ ½¸½·½“½”¾O�+¾a¾a¾O¾P¿€‚(¿…¿…�ž=€ˆ€§€©€å€ç��9�a�c�“�³�Ò�í‚‚‚T‚V‚†‚‹‚Ò‚ä‚éƒ*ƒzƒÏ„„„[„§„ò…4…ƒ…¤…©…õ†3†8†o†t†É‡‡1‡6‡ˆ‡¿‡å‡êˆ2ˆ7ˆLˆQˆ¢ˆ§‰a‰fŠMŠRŠ_ŠsŠ�ŠÀŠï‹ ‹‹9‹t‹£‹­‹ÑŒ+Œ5Œ<ŒEŒVŒ[ŒpŒ¾ŒÚŒß�7�H�M�b�¯�Ê�ÏŽ'Ž8Ž=ŽLŽQŽ’ŽÝŽò�B�s�"�S���”�Þ‘'‘s‘¡‘¨‘ù’&’9’I’k’�’œ’·’Ò““0“v“�“´“Ñ“ô” ”K”h”„”–””þ••*•A•g•†•¤•Ë•ò––G–_–s–Ž–£–¸–Ø–ý—#—I—v—Š— —Зä—ÿ˜˜9˜T˜m˜‹˜°˜ì™™B™p™“™¹™âš š%šUštšÊ››:›f›››½œœHœŒœÏ��(�J�l�¨�Øž ž<žLžšžÏžÚžêŸ(ŸnŸyŸÐ * 9 Ž É¡¡H¡”¡ô¢B¢t¢š¢À¢Î¢ü£ £@£b£�£È£î¤D¤p¤¢¤À¤è¥¥D¥r¥ª¥Ð¦¦4¦X¦€¦¸¦â§ §„§ü¨2¨n¨’¨¶¨Ø¨þ©+©I©©«©áªªBªƒª³ªÝ« «5«_«“«Á«ï¬'¬Ž¬Ä¬ð­­R­ ­Ê®®D®„®´®î¯,¯h¯¢¯Ø°&°R°„°¶°Ç°Ö°ã°î°ð±±±j±²±Þ±à²².²0²l²®²÷³ ³7³9³¢³Ù´´´´´"´d´g´i´¥´Ö´Øµ>µ@µ†µˆµ•µß¶¶3¶Q¶X¶¨¶Ï¶ù¶þ·· ·B·{·€·‚·¾·à¸¸.¸k¸‡¸¥¸¬¸±¸³¸À¸Ö¸î¹¹Ž¹œ¹å¹ì¹ñ¹óºº3ºZº˜ºß»(»*»z»¸»Á»Ã»ó¼'¼T¼ˆ¼«¼Ê¼Õ¼Þ¼å¼ê¼ì¼ù½ ½W½t½Š½�½‘½ž½Á½Þ½à¾¾?¾F¾K¾M¾Z¾l¾±¾ç¿#¿7¿w¿|¿~¿£¿ä¿ìÀ@9À@ŠÀ@ÖÀA#ÀABÀAqÀAžÀA¥ÀAªÀA­ TextFormField_TextFormFieldState(flutter.material.TextFormField.onChanged|Called when the user initiates a change to the TextField's value: when they have inserted or deleted text or reset the form.Åu