disabledenabledindexsigneddecimaltext multilinenumberphonedatetime emailAddressurlvisiblePasswordname streetAddressnone webSearchtwittervalues_names_nametoJsontoString==hashCode unspecifieddonegosearchsendnextpreviouscontinueActionjoinroute emergencyCallnewlinewords sentences charactersviewId inputTypereadOnly obscureText autocorrectautofillConfigurationsmartDashesTypesmartQuotesTypeenableSuggestionsenableInteractiveSelection actionLabel inputActiontextCapitalizationkeyboardAppearanceenableIMEPersonalizedLearningallowedMimeTypes hintLocalescopyWithenableDeltaModelStartUpdateEndoffset startLocationstate selection composingemptyisComposingRangeValidreplacedtoJSON_textRangeIsValidtap doubleTap longPress forcePresskeyboardtoolbardragstylusHandwritingscribbletextEditingValueuserUpdateTextEditingValue hideToolbar bringIntoView cutEnabled copyEnabled pasteEnabledselectAllEnabled lookUpEnabledsearchWebEnabled shareEnabledliveTextInputEnabled cutSelection pasteText selectAll copySelectioncurrentTextEditingValuecurrentAutofillScopeupdateEditingValue performAction insertContentperformPrivateCommandupdateFloatingCursorshowAutocorrectionPromptRectconnectionCloseddidChangeInputControl showToolbarinsertTextPlaceholderremoveTextPlaceholderperformSelectorelementIdentifieronScribbleFocusisInScribbleRectboundsposition directionupdateEditingValueWithDeltas _cachedSize_cachedTransform _cachedRect_cachedCaretRect_cachedSelectionRects_nextId_id debugResetId_clientattachedscribbleInProgressshowrequestAutofill updateConfigsetEditingStatesetEditableSizeAndTransformsetComposingRect setCaretRectsetSelectionRectssetStylecloseconnectionClosedReceived setChannel _instance_addInputControl_removeInputControlsetInputControlrestorePlatformInputControl_currentControl_inputControls_androidSupportedInputActions_iOSSupportedInputActionsensureInitializedattach_attach&_debugEnsureInputActionWorksOnPlatform_channel_currentConnection_currentConfiguration_scribbleClients_scribbleInProgressscribbleClients _loudlyHandleTextInputInvocation_handleTextInputInvocation _hidePending _scheduleHide _setClient _clearClient _updateConfig_setEditingState_show_hide_setEditableSizeAndTransform_setComposingTextRect _setCaretRect_setSelectionRects _setStyle_requestAutofill_updateEditingValuefinishAutofillContextregisterScribbleElementunregisterScribbleElementdetachhideinstance_configurationToJson onSystemHide _lastShown_customActionCallbacks_lastTargetRect _lastItems_hiddenBySystem isVisible _isDisposedhandleSystemHidehandleCustomContextMenuAction showWithItemsdebugFillPropertiesdisposetitle _jsonType_json onPressed callbackId"SmartDashesTypeSmartQuotesType TextInputTypeTextInputActionTextCapitalizationTextInputConfiguration_toTextAffinityFloatingCursorDragStateRawFloatingCursorPointTextEditingValueSelectionChangedCauseTextSelectionDelegateTextInputClientScribbleClient SelectionRectDeltaTextInputClientTextInputConnection_toTextInputAction_toTextCursorAction _toTextPoint TextInputTextInputControl_PlatformTextInputControlSystemContextMenuControllerIOSSystemContextMenuItemData IOSSystemContextMenuItemDataCopyIOSSystemContextMenuItemDataCut!IOSSystemContextMenuItemDataPaste%IOSSystemContextMenuItemDataSelectAll"IOSSystemContextMenuItemDataLookUp%IOSSystemContextMenuItemDataSearchWeb!IOSSystemContextMenuItemDataShare$IOSSystemContextMenuItemDataLiveText"IOSSystemContextMenuItemDataCustom8Platform FlutterView FontWeightLocaleOffsetRectSize TextAlign TextDirectionMatrix4 Clipboard Brightness TextPosition TextRangeAutofillConfiguration AutofillScope TextSelection TextFieldsmartDashesTypeCupertinoTextField EditableTextsmartQuotesType immutableintbool_numberWithOptionsListStringMapdynamicoverrideobjectRuntimeTypeObjectindexsigneddecimalhash FocusScopecontinueActionnewlineattachtextdonelightnonedisabledenabledViewviewId inputTypereadOnly obscureText autocorrectenableSuggestionsenableInteractiveSelection actionLabel inputActiontextCapitalizationkeyboardAppearanceenableIMEPersonalizedLearningallowedMimeTypesautofillConfigurationenableDeltaModel hintLocalesTextEditingDeltaupdateEditingValueWithDeltasupdateEditingValuetoJsontoStringmaplocale toLanguageTagtoList identical runtimeType listEqualshashAlljoin TextAffinity downstreamupstreambackgroundCursorColorUpdate collapsedoffsetempty baseOffset extentOffsetaffinity isDirectionalstartend selection composingisValid isNormalizedlength replaceRangeclamphashCode DeprecatedstylusHandwritingEditableTextStateuserUpdateTextEditingValuevoidLiveTextLiveTextInputStatusNotifiertoolbarFuture bringIntoView AutofillGroupKeyboardInsertedContenthideshowScribeltrRenderEditablepositionbounds directionvisibleForTestingto _instance_currentConnectionscribbleInProgress_show_requestAutofill _updateConfig_setEditingState PipelineOwnerrootNode_setEditableSizeAndTransformisFinitezero_setComposingTextRect _setCaretRect_setSelectionRectsdouble _setStyle fontFamilyfontSize fontWeight textDirection textAlign _clearClient unspecifiedgosearchsendnextpreviousroute emergencyCall FlutterError fromPartsDiagnosticsNode ErrorSummaryStartEndnumtoDoublestatesetEditingStateTextInputFormatterSystemChannels textInputsetMethodCallHandler MethodChannel_channel _loudlyHandleTextInputInvocationinstance_inputControlsaddremoverestorePlatformInputControl_currentControl_clientdidChangeInputControlsetInputControlSetclose_attachkIsWebisIOScontains isAndroid_scribbleClients MethodCall reportErrorFlutterErrorDetails exceptionstacklibrarycontextErrorDescriptionmethodinformationCollectorDiagnosticsPropertystyleDiagnosticsTreeStyle errorProperty argumentsonScribbleFocuscastvaluekeyswherefromLTWHelementIdentifierisInScribbleRecthasNaN isInfinitelefttopwidthheightcurrentTextEditingValuecurrentAutofillScopefromJSONtagAutofillClientgetAutofillClienttextInputConfigurationautofill_id_updateEditingValueexcludeencoded encodedDeltadeltasfromJson insertContent performAction selectorsforEachperformSelectorperformPrivateCommandfirstArgupdateFloatingCursorconnectionClosedshowAutocorrectionPromptRect showToolbarinsertTextPlaceholderremoveTextPlaceholderMissingPluginExceptionscheduleMicrotaskcontroldetach updateConfigsetEditableSizeAndTransformsetComposingRect setCaretRectsetSelectionRectssetStylerequestAutofillFormonDisposeActionfinishAutofillContext autofillHints shouldSave multiline invokeMethodtoJSONstoragerectContextMenuControllerSystemContextMenu MediaQuery%maybeSupportsShowingSystemContextMenuSystemContextMenuClientDiagnosticableServicesBindingsystemContextMenuClient VoidCallbackplatformIOSSystemContextMenuItemclearcall supportsShowingSystemContextMenu isVisible_lastTargetRectgetDefaultItems isNotEmpty _lastItemsitem containsKey callbackId onPressed_jsonDiagnosticPropertiesBuilderdebugFillProperties FlagPropertyifTrueifFalseshowNameContextMenuButtonItemtitleIOSSystemContextMenuItemCopyIOSSystemContextMenuItemCutIOSSystemContextMenuItemPaste!IOSSystemContextMenuItemSelectAllWidgetsLocalizationslookUpButtonLabelIOSSystemContextMenuItemLookUpStringPropertysearchWebButtonLabel!IOSSystemContextMenuItemSearchWebshareButtonLabelIOSSystemContextMenuItemShare IOSSystemContextMenuItemLiveTextIOSSystemContextMenuItemCustomTextInputClientTextInputControlSystemContextMenuClientDiagnosticableIOSSystemContextMenuItemDataA2r67߄ Brightness FontWeightOffsetRectSize TextAlign TextDirection TextPosition TextRangedart:uiMatrix4'package:vector_math/vector_math_64.dart AutofillConfiguration AutofillScope autofill.dart); TextSelectiontext_editing.dart dart:asyncЁPlatformdart:ioB FlutterView FontWeightLocaleOffsetRectSize TextAlign TextDirectiondart:uiFpackage:flutter/foundation.dartMatrix4p'package:vector_math/vector_math_64.dart autofill.dart binding.dart Clipboardclipboard.dartkeyboard_inserted_content.dart0message_codec.dartMplatform_channel.dartmsystem_channels.darttext_editing.darttext_editing_delta.dartJY<ց7;\z߂DEoǂރ/LlɃʃۃ *8Kbx˄̅=>AESWz̆0Ggm.4Rˈֈ؈ى*.<@c7=[Ҋފߊ">B֍!,B.͎06Ϗ39ӐGSa8Ȕ8>ŔƔ'-yɕʕ9yzޗQW * TݚDJw}@ě &|ݝ gȝΞsyߟdDddddde%e+eQexeyeffFfLffffffgJg_ggghhhHhhhi'i-iiiij/j5jEjKjjjjk3kSkwkkkkkll4lQlwlllmm+mOmmmmmn n9ndnno oLoop'p[ppqqaqqr9rmrtrxryrss s_sssst8tottuSumusuuvvLvvvvwww\w~wwwx&xBxdxxxy*yjyyyz/zuzzz{K{R{V{W{c{{{{{|||5|W||||}1}e}}~~?~y~~C !/@Pcv9V{Kj#R#T,ho?uj W6!pRfjx|0z$+-.im{HV\"kl*/VXYU-H\IuwSZ9NO#9?+v%s &v_%+z$AB7-489}5;mnD}G2j)018$r:sz7r8ZJ %< &Nl%&[`0|&,8nGN_cef=]deIrTbhFdj "#ciCI<@GH$*:@[\)L{| ?@_ /QRw o &s¾X^ë-.pvDJŏ CGƈ9DŽPQȖȜ7ioɅ./|ʂO}~N]c̲ͳ3?χψϾ)=xy$*Xёђ78҈ҜҢ"(8>ӈ./}>QW՝(ST֐ֲֳ<aאגד'؞23~لKopڢڵڷڸ Xۍۘۮ ">X܀܆܇.k݀݁ݼ /BHtވގ޳!%&2ght߲߰߳ &vf-sy$KQc2vdfgG)*?\q4: 0CMQRstU[&'br3BHX^ ` [r17 \,Qu%;A!Fesy#$u ` \EKOPu{K]~+,Om%+y $()pv(,./c~$\H|,f%?Hmr|-j? X?Z^Gpt   O    4     ]   = A   ) y   <aesw9K].4'7];t#SY]^2LR"t@NTr^6n$g(B\t?`z#=X{ /`de76S  6 : ;  !!W!!!")"-".""""""####^####$2$$$$$$$$$$%%O%P%%%&-&B&&&' '!'m'w'''( (*(B(i(())/)C)|))))))))**?*U***+<+G+W+++,(,?,d,,-?-]-m-..+.Y.../?/P/_/v///00@0P0V0|000011`1122G2O2]2c2d22233^3344P44455o5555555566e6v6667F77777788#8+81828H8y8909k9{9:*:5:n::;7;B;C;;<&>`>>?(?3?f?@@ @=@u@AA<AoAAB(B3BgBBBBBBCCCC5CCCICbCcCCDD#D?DgDxDDDDDEEIEOESETElEEFF F,FAFEFFFFFFFFG(GeGGGGGGGHHHHHSHiHoHsHtHIIGIMIQIRI|IIIIIJ JIJkJqJuJvJJK$K*K.K/KBKcKKKKKL7LOLoLLLLLLMMMM\M}MMMMNNNNN\N|NNNNNNO:O@OOP PWP[P\PPPQ2QQQQR<RqRwRSSUSSTT TXTTU<UUUV4VqVW W[WWX XX%XrXYY_YYZZ ZZ"ZoZZ[4[[[[[\\2\8\\]]e]i]j]]^1^5^7^8^^^__\___`1`^`b``aa a4a|aaaaaabPbbc c c9cccd)dxdyddee]eeeef fffTfZfffffgJg]ggggh3hFhxhyhhii@iiiij%j4jZj[jjjjkkk]kckkkkl>lDlllllmmCmemmmnmmmnnn=nCnSnYnnnnno1oRoSooopp ptpqqLqqrrfrzrrrrs ssssjsst tttt"tJtttttu1u5u6uBusuuuuuvvvv&v6vivmvnvzvw$wJwrwwwwwwx(xCx`xvxxxxxxyy-yJy`yuy}yyyyyzzCzYzuzzzz{{{"{){-{.{:{L{m{{{{||M|m|||}}}}}(}C}}}}}~~~!~"~P~T~~oX 48FJ)^Nd"#de%+Unobp !ab*Aftz"\QXnrgmQ4\brx?Np1<_efr =>`w1Nq M39 Xsy Y(x 'EQ.Lm WUeB$zU{!)-.TZY(t+O'+,8}/Tt\`aV`drv%s89`f2JK489Eklxfjlm ^k$eNR`d$waecx<=Ilno jw:0<@$13M'(4y*6:`%2:T78D=Ag(55O&'3x(:>Š@jn|À!yľ.01ŋŏŻſN[ƭ0s0PQȅȵȶimnzɿ\ʫʯʰʼ!CV\˖˶/// @docImport 'package:flutter/cupertino.dart'; /// @docImport 'package:flutter/material.dart'; /// @docImport 'package:flutter/rendering.dart'; /// /// @docImport 'live_text.dart'; /// @docImport 'scribe.dart'; /// @docImport 'text_formatter.dart';Ё݁BEo/Ll߄Ʉ );JWYZZ _ohqwDDBX6CUWW\llqe{D/// Optimize for numerical information. /// /// Requests a numeric keyboard with additional settings. /// The [signed] and [decimal] parameters are optional.َK9/// Enum value index, corresponds to one of the [values].ݎ݀/// The number is signed, allowing a positive or negative sign at the start. /// /// This flag is only used for the [number] input type, otherwise `null`. /// Use `const TextInputType.numberWithOptions(signed: true)` to set this./// The number is decimal, allowing a decimal point to provide fractional. /// /// This flag is only used for the [number] input type, otherwise `null`. /// Use `const TextInputType.numberWithOptions(decimal: true)` to set this.kxyz|{d퀐dU/// Optimize for textual information. /// /// Requests the default platform keyboard.~~/// Optimize for multiline textual information. /// /// Requests the default platform keyboard, but accepts newlines when the /// enter key is pressed. This is the input type used for all multiline text /// fields. 咡n/// Optimize for unsigned numerical information without a decimal point. /// /// Requests a default keyboard with ready access to the number keys. /// Additional options, such as decimal point and/or positive/negative /// signs, can be requested using [TextInputType.numberWithOptions].”s/// Optimize for telephone numbers. /// /// Requests a keyboard with ready access to the number keys, "*", and "#".•ÕĕƕŕȀ/// Optimize for date and time information. /// /// On iOS, requests the default keyboard. /// /// On Android, requests a keyboard with ready access to the number keys, /// ":", and "-".erstvuV̀Vh/// Optimize for email addresses. /// /// Requests a keyboard with ready access to the "@" and "." keys.|]/// Optimize for URLs. /// /// Requests a keyboard with ready access to the "/" and "." keys.ϗܗݗޗߗ/// Optimize for passwords that are visible to the user. /// /// Requests a keyboard with ready access to both letters and numbers.-/// Optimized for a person's name. /// /// On iOS, requests the /// [UIKeyboardType.namePhonePad](https://developer.apple.com/documentation/uikit/uikeyboardtype/namephonepad) /// keyboard, a keyboard optimized for entering a person’s name or phone number. /// Does not support auto-capitalization. /// /// On Android, requests a keyboard optimized for /// [TYPE_TEXT_VARIATION_PERSON_NAME](https://developer.android.com/reference/android/text/InputType#TYPE_TEXT_VARIATION_PERSON_NAME).mz{|~}]g]/// Optimized for postal mailing addresses. /// /// On iOS, requests the default keyboard. /// /// On Android, requests a keyboard optimized for /// [TYPE_TEXT_VARIATION_POSTAL_ADDRESS](https://developer.android.com/reference/android/text/InputType#TYPE_TEXT_VARIATION_POSTAL_ADDRESS).ᛄw?/// Prevent the OS from showing the on-screen virtual keyboard.X/// Optimized for web searches. /// /// Requests a keyboard that includes keys useful for web searches as well as URLs. /// /// On iOS, requests a default keyboard with ready access to the "." key. In contrast to /// [url], a space bar is available. /// /// On Android this is remapped to the [url] keyboard type as it always shows a space bar.q*/// Optimized for social media. /// /// Requests a keyboard that includes keys useful for handles and tags. /// /// On iOS, requests a default keyboard with ready access to the "@" and "#" keys. /// /// On Android this is remapped to the [emailAddress] keyboard type as it always shows the "@" key.w,hvi}֟͟!__/// All possible enum values._ǠԠ&5ARk5D'耶==/// Returns a representation of this object as a JSON object.ss zVWVVp!"2w/// The type of information for which to optimize the text input control. /// /// On Android, behavior may vary across device and keyboard provider. /// /// This class stays as close to `Enum` interface as possible, and allows /// for additional flags for some input types. For example, numeric input /// can specify whether it supports decimal numbers and/or signed numbers.M\MrMyMy M~MM#MMMMMMMMMMN N NN/N/ N@NUNUNZNxNx&N}NNNNN'NNN*NOO1OONON;OSOO)OOO(OOOOPP#P@MMMMMMNnNNNNOO O O1OCODOkOOOOOOOOOPP"P0P1P(P/P)PKP;PhPXPkPPxPPlPzPPPPPPPPPPQ'PQPPQQQQQ LL/// Creates configuration information for a text input control. /// /// All arguments have default values, except [actionLabel]. Only /// [actionLabel] may be null.R Q-R /// The ID of the view that the text input belongs to. /// /// See also: /// /// * [FlutterView], which is the view that the ID points to. /// * [View], which is a widget that wraps a [FlutterView].RvRiRvI/// The type of information for which to optimize the text input control.RReRK/// Whether the text field can be edited or not. /// /// Defaults to false.S[RxS[[/// Whether to hide the text being edited (e.g., for passwords). /// /// Defaults to false.SSk\S?/// Whether to enable autocorrection. /// /// Defaults to true.UUŚUU`/// The configuration to use for autofill. /// /// Defaults to null, in which case no autofill information will be provided /// to the platform. This will prevent the corresponding input field from /// participating in autofills triggered by other fields. Additionally, on /// Android and web, setting [autofillConfiguration] to null disables autofill.ZNUoZN/// {@template flutter.services.TextInputConfiguration.smartDashesType} /// Whether to allow the platform to automatically format dashes. /// /// This flag only affects iOS versions 11 and above. It sets /// [`UITextSmartDashesType`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype?language=objc) /// in the engine. When true, it passes /// [`UITextSmartDashesTypeYes`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/uitextsmartdashestypeyes?language=objc), /// and when false, it passes /// [`UITextSmartDashesTypeNo`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/uitextsmartdashestypeno?language=objc). /// /// As an example of what this does, two consecutive hyphen characters will be /// automatically replaced with one en dash, and three consecutive hyphens /// will become one em dash. /// /// Defaults to true, unless [obscureText] is true, when it defaults to false. /// This is to avoid the problem where password fields receive autoformatted /// characters. /// /// See also: /// /// * [smartQuotesType] /// * /// {@endtemplate}_0Zb_0/// {@template flutter.services.TextInputConfiguration.smartQuotesType} /// Whether to allow the platform to automatically format quotes. /// /// This flag only affects iOS. It sets /// [`UITextSmartQuotesType`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype?language=objc) /// in the engine. When true, it passes /// [`UITextSmartQuotesTypeYes`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/uitextsmartquotestypeyes?language=objc), /// and when false, it passes /// [`UITextSmartQuotesTypeNo`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/uitextsmartquotestypeno?language=objc). /// /// As an example of what this does, a standard vertical double quote /// character will be automatically replaced by a left or right double quote /// depending on its position in a word. /// /// Defaults to true, unless [obscureText] is true, when it defaults to false. /// This is to avoid the problem where password fields receive autoformatted /// characters. /// /// See also: /// /// * [smartDashesType] /// * /// {@endtemplate}a_DRa/// {@template flutter.services.TextInputConfiguration.enableSuggestions} /// Whether to show input suggestions as the user types. /// /// This flag only affects Android. On iOS, suggestions are tied directly to /// [autocorrect], so that suggestions are only shown when [autocorrect] is /// true. On Android autocorrection and suggestion are controlled separately. /// /// Defaults to true. /// /// See also: /// /// * /// {@endtemplate}ba+b/// Whether a user can change its selection. /// /// This flag only affects iOS VoiceOver. On Android Talkback, the selection /// change is sent through semantics actions and is directly disabled from /// the widget side. /// /// Defaults to true.cb_cC/// What text to display in the text input control's action button.cc/hcD/// What kind of action to request for the action button on the IME.dc'd/// Specifies how platforms may automatically capitalize text entered by the /// user. /// /// Defaults to [TextCapitalization.none]. /// /// See also: /// /// * [TextCapitalization], for a description of each capitalization behavior.eddȀed/// The appearance of the keyboard. /// /// This setting is only honored on iOS devices. /// /// Defaults to [Brightness.light].gle{gl/// {@template flutter.services.TextInputConfiguration.enableIMEPersonalizedLearning} /// Whether to enable that the IME update personalized data such as typing /// history and user dictionary data. /// /// This flag only affects Android. On iOS, there is no equivalent flag. /// /// Defaults to true. /// /// See also: /// /// * /// {@endtemplate}ggqgK/// {@macro flutter.widgets.contentInsertionConfiguration.allowedMimeTypes}jhjق/// {@template flutter.services.TextInputConfiguration.hintLocales} /// List of the languages that the user is expected to use. /// /// This special "hint" can be used mainly for, but not limited to, /// multilingual users who want IMEs to switch language based on editor's context. /// /// Pass an empty list to express the intention that a specific hint should not be set. /// /// Defaults to null, which indicates no preference in keyboard language. /// /// This setting is only honored on Android devices running API 24 and above. /// /// See also: /// /// * /// {@endtemplate}w r{w T/// Whether to enable that the engine sends text input updates to the /// framework as [TextEditingDelta]'s or as one [TextEditingValue]. /// /// Enabling this flag results in granular text updates being received from the /// platform's text input control. /// /// When this is enabled: /// * You must implement [DeltaTextInputClient] and not [TextInputClient] to /// receive granular updates from the platform's text input. /// * Platform text input updates will come through /// [DeltaTextInputClient.updateEditingValueWithDeltas]. /// * If [TextInputClient] is implemented with this property enabled then /// you will experience unexpected behavior as [TextInputClient] does not implement /// a delta channel. /// /// When this is disabled: /// * If [DeltaTextInputClient] is implemented then updates for the /// editing state will continue to come through the /// [DeltaTextInputClient.updateEditingValue] channel. /// * If [TextInputClient] is implemented then updates for the editing /// state will come through [TextInputClient.updateEditingValue]. /// /// Defaults to false.k{k{ kkkkkkkkkkkkkkk kll l#l8l8l>lUlU l[l{l{lllllllll&lmm#m m/m/m=mSmS,mjmmmmmmjj野klg/// Creates a copy of this [TextInputConfiguration] with the given fields /// replaced with new values.ww7ws=/// Returns a representation of this object as a JSON object.{v{v {}{Y{Z{Y{Y{s܃L}L~IuIu?L/// Controls the visual appearance of the text input control. /// /// Many [TextInputAction]s are common between Android and iOS. However, if an /// [inputAction] is provided that is not supported by the current /// platform in debug mode, an error will be thrown when the corresponding /// text input is attached. For example, providing iOS's "emergencyCall" /// action when running on an Android device will result in an error when in /// debug mode. In release mode, incompatible [TextInputAction]s are replaced /// either with "unspecified" on Android, or "default" on iOS. Appropriate /// [inputAction]s can be chosen by checking the current platform and then /// selecting the appropriate action. /// /// See also: /// /// * [TextInput.attach] /// * [TextInputAction]   (.hW5/8OPaZdk/// Creates information for setting the position and state of a floating /// cursor. /// /// [state] must not be null and [offset] must not be null if the state is /// [FloatingCursorDragState.Update].n`I/// The raw position of the floating cursor as determined by the iOS sdk.Ӂ1/// Represents the starting location when initiating a floating cursor via long press. /// This is a tuple where the first item is the local offset and the second item is the new caret position. /// This is only non-null when a floating cursor is started.O KO%/// The state of the floating cursor...)䀯/// The current state and position of the floating cursor. /// /// See also: /// /// * [FloatingCursorDragState], which explains the floating cursor feature in /// detail.5ELLQ``:e XqwρQ/// Creates information for editing a run of text. /// /// The selection and composing range must be within the text. This is not /// checked during construction, and must be guaranteed by the caller. /// /// The default value of [selection] is `TextSelection.collapsed(offset: -1)`. /// This indicates that there is no selection at all.())>˃G 9/// Creates an instance of this class from a JSON object.H6H"/// The current text being edited.QD/// The range of text that is currently selected. /// /// When [selection] is a [TextSelection] that has the same non-negative /// `baseOffset` and `extentOffset`, the [selection] property represents the /// caret position. /// /// If the current [selection] has a negative `baseOffset` or `extentOffset`, /// then the text currently does not have a selection or a caret location, and /// most text editing operations that rely on the current selection (for /// instance, insert a character at the caret location) will do nothing.66a/// The range of text that is still being composed. /// /// Composing regions are created by input methods (IMEs) to indicate the text /// within a certain range is provisional. For instance, the Android Gboard /// app's English keyboard puts the current word under the caret into a /// composing region to indicate the word is subject to autocorrect or /// prediction changes. /// /// Composing regions can also be used for performing multistage input, which /// is typically used by IMEs designed for phonetic keyboard to enter /// ideographic symbols. As an example, many CJK keyboards require the user to /// enter a Latin alphabet sequence and then convert it to CJK characters. On /// iOS, the default software keyboards do not have a dedicated view to show /// the unfinished Latin sequence, so it's displayed directly in the text /// field, inside of a composing region. /// /// The composing region should typically only be changed by the IME, or the /// user via interacting with the IME. /// /// If the range represented by this property is [TextRange.empty], then the /// text is not currently being composed.DZ/// A value that corresponds to the empty string with no selection and no composing range.;;1/// Whether the [composing] range is a valid range within [text]. /// /// Returns true if and only if the [composing] range is normalized, its start /// is greater than or equal to 0, and its end is less than or equal to /// [text]'s length. /// /// If this property is false while the [composing] range's `isValid` is true, /// it usually indicates the current [composing] range is invalid because of a /// programming error.cTT \bbq||ށYJX/// Creates a copy of this value but with the given fields replaced with the new values.22<NNUpp)/// Returns a new [TextEditingValue], which is this [TextEditingValue] with /// its [text] partially replaced by the `replacementString`. /// /// The `replacementRange` parameter specifies the range of the /// [TextEditingValue.text] that needs to be replaced. /// /// The `replacementString` parameter specifies the string to replace the /// given range of text with. /// /// This method also adjusts the selection range and the composing range of the /// resulting [TextEditingValue], such that they point to the same substrings /// as the corresponding ranges in the original [TextEditingValue]. For /// example, if the original [TextEditingValue] is "Hello world" with the word /// "world" selected, replacing "Hello" with a different string using this /// method will not change the selected word. /// /// This method does nothing if the given `replacementRange` is not /// [TextRange.isValid].O=/// Returns a representation of this object as a JSON object..  YY O/// The current text, selection, and composing state for editing a run of text.I)/// A unique identifier for this element.rrBڭ//// The current bounds of the [ScribbleClient]. 55܀/// Called by the engine when the [ScribbleClient] should receive focus. /// /// For example, this method is called during a UIIndirectScribbleInteraction.cc hoRK/// Tests whether the [ScribbleClient] overlaps the given rectangle bounds.דד#Ձ2/// An interface into iOS's stylus handwriting text input. /// /// See also: /// /// * [Scribe], which provides similar functionality for Android. /// * [UIIndirectScribbleInteraction](https://developer.apple.com/documentation/uikit/uiindirectscribbleinteraction), /// which is iOS's API for Scribble.&&4BBP\\"amz{۰۰W/// Constructor for creating a [SelectionRect] from a text [position] and /// [bounds].܉T?/// The position of this selection rect within the text String.x“x/// The rectangle representing the bounds of this selection rect within the /// currently focused [RenderEditable]'s coordinate space.݃X8/// The direction text flows within this selection rect.()((>< DjkjjE}ۍێڸڸ۞/// Represents a selection rect for a character and it's position in the text. /// /// This is used to report the current text selection rect and position data /// to the engine for Scribble support on iPadOS 14.  %62,2JAJd^dysy= jTjvvQ/// Whether this connection is currently interacting with the text input control./// Whether there is currently a Scribble interaction in progress. /// /// This is used to make sure selection handles are shown when UIKit changes /// the selection during a Scribble interaction.  U/// Resets the internal ID counter for testing purposes. /// /// This call has no effect when asserts are disabled. Calling it from /// application code will likely break text input for the application.))i8/// Requests that the text input control become visible.밁`췀/// Requests the system autofill UI to appear. /// /// Currently only works on Android. Other platforms do not respond to this /// message. /// /// See also: /// /// * [EditableText], a [TextInputClient] that calls this method when focused.$i/// Requests that the text input control update itself according to the new /// [TextInputConfiguration].y`/// Requests that the text input control change its internal state to match /// the given state.𚁑/// Send the size and transform of the editable text to engine. /// /// The values are sent as platform messages so they can be used on web for /// example to correctly position and size the html input field. /// /// 1. [editableBoxSize]: size of the render editable box. /// /// 2. [transform]: a matrix that maps the local paint coordinate system /// to the [PipelineOwner.rootNode].99 >ւL(/// Creates an instance of [IOSSystemContextMenuItemDataCopy].+mmT܁b/// An [IOSSystemContextMenuItemData] for the system's built-in copy button. /// /// The title and action are both handled by the platform. /// /// See also: /// /// * [SystemContextMenuController], which is used to show the system context /// menu. /// * [IOSSystemContextMenuItemCopy], which performs a similar role but at the /// widget level.yyh=/// Creates an instance of [IOSSystemContextMenuItemDataCut].*ÂN0`/// An [IOSSystemContextMenuItemData] for the system's built-in cut button. /// /// The title and action are both handled by the platform. /// /// See also: /// /// * [SystemContextMenuController], which is used to show the system context /// menu. /// * [IOSSystemContextMenuItemCut], which performs a similar role but at the /// widget level.8l?/// Creates an instance of [IOSSystemContextMenuItemDataPaste].?@??,VZd/// An [IOSSystemContextMenuItemData] for the system's built-in paste button. /// /// The title and action are both handled by the platform. /// /// See also: /// /// * [SystemContextMenuController], which is used to show the system context /// menu. /// * [IOSSystemContextMenuItemPaste], which performs a similar role but at the /// widget level.<ɕɕ&ɱpqpp>Ɂ 11΁/// An [IOSSystemContextMenuItemData] for custom action buttons defined by the developer. /// /// Must specify a [title] and [onPressed]. /// /// Only supported on iOS 16.0 and above. /// /// See also: /// /// * [SystemContextMenuController], which is used to show the system context /// menu. /// * [IOSSystemContextMenuItemCustom], which performs a similar role but at the /// widget level.II/// Smart dashes is disabled. /// /// This corresponds to the /// ["no" value of UITextSmartDashesType](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/no).̀/// Smart dashes is enabled. /// /// This corresponds to the /// ["yes" value of UITextSmartDashesType](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/yes).5?/// Indicates how to handle the intelligent replacement of dashes in text input. /// /// See also: /// /// * [TextField.smartDashesType] /// * [CupertinoTextField.smartDashesType] /// * [EditableText.smartDashesType] /// * [SmartQuotesType] /// * Ԁ/// Smart quotes is disabled. /// /// This corresponds to the /// ["no" value of UITextSmartQuotesType](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/no)./// Smart quotes is enabled. /// /// This corresponds to the /// ["yes" value of UITextSmartQuotesType](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/yes).وق&/// Indicates how to handle the intelligent replacement of quotes in text input. /// /// See also: /// /// * [TextField.smartQuotesType] /// * [CupertinoTextField.smartQuotesType] /// * [EditableText.smartQuotesType] /// * /// Logical meaning: There is no relevant input action for the current input /// source, e.g., [TextField]. /// /// Android: Corresponds to Android's "IME_ACTION_NONE". The keyboard setup /// is decided by the OS. The keyboard will likely show a return key. /// /// iOS: iOS does not have a keyboard return type of "none." It is /// inappropriate to choose this [TextInputAction] when running on iOS.+r/// Logical meaning: Let the OS decide which action is most appropriate. /// /// Android: Corresponds to Android's "IME_ACTION_UNSPECIFIED". The OS chooses /// which keyboard action to display. The decision will likely be a done /// button or a return key. /// /// iOS: Corresponds to iOS's "UIReturnKeyDefault". The title displayed in /// the action button is "return".;;/// Logical meaning: The user is done providing input to a group of inputs /// (like a form). Some kind of finalization behavior should now take place. /// /// Android: Corresponds to Android's "IME_ACTION_DONE". The OS displays a /// button that represents completion, e.g., a checkmark button. /// /// iOS: Corresponds to iOS's "UIReturnKeyDone". The title displayed in the /// action button is "Done"." /// Logical meaning: The user has entered some text that represents a /// destination, e.g., a restaurant name. The "go" button is intended to take /// the user to a part of the app that corresponds to this destination. /// /// Android: Corresponds to Android's "IME_ACTION_GO". The OS displays a /// button that represents taking "the user to the target of the text they /// typed", e.g., a right-facing arrow button. /// /// iOS: Corresponds to iOS's "UIReturnKeyGo". The title displayed in the /// action button is "Go".IS4/// Logical meaning: Execute a search query. /// /// Android: Corresponds to Android's "IME_ACTION_SEARCH". The OS displays a /// button that represents a search, e.g., a magnifying glass button. /// /// iOS: Corresponds to iOS's "UIReturnKeySearch". The title displayed in the /// action button is "Search".^^ہl/// Logical meaning: Sends something that the user has composed, e.g., an /// email or a text message. /// /// Android: Corresponds to Android's "IME_ACTION_SEND". The OS displays a /// button that represents sending something, e.g., a paper plane button. /// /// iOS: Corresponds to iOS's "UIReturnKeySend". The title displayed in the /// action button is "Send"./// Logical meaning: The user is done with the current input source and wants /// to move to the next one. /// /// Moves the focus to the next focusable item in the same [FocusScope]. /// /// Android: Corresponds to Android's "IME_ACTION_NEXT". The OS displays a /// button that represents moving forward, e.g., a right-facing arrow button. /// /// iOS: Corresponds to iOS's "UIReturnKeyNext". The title displayed in the /// action button is "Next".÷Â( /// Logical meaning: The user wishes to return to the previous input source /// in the group, e.g., a form with multiple [TextField]s. /// /// Moves the focus to the previous focusable item in the same [FocusScope]. /// /// Android: Corresponds to Android's "IME_ACTION_PREVIOUS". The OS displays a /// button that represents moving backward, e.g., a left-facing arrow button. /// /// iOS: iOS does not have a keyboard return type of "previous." It is /// inappropriate to choose this [TextInputAction] when running on iOS./// Logical meaning: In iOS apps, it is common for a "Back" button and /// "Continue" button to appear at the top of the screen. However, when the /// keyboard is open, these buttons are often hidden off-screen. Therefore, /// the purpose of the "Continue" return key on iOS is to make the "Continue" /// button available when the user is entering text. /// /// Historical context aside, [TextInputAction.continueAction] can be used any /// time that the term "Continue" seems most appropriate for the given action. /// /// Android: Android does not have an IME input type of "continue." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyContinue". The title displayed in the /// action button is "Continue". This action is only available on iOS 9.0+. /// /// The reason that this value has "Action" post-fixed to it is because /// "continue" is a reserved word in Dart, as well as many other languages.lcW/// Logical meaning: The user wants to join something, e.g., a wireless /// network. /// /// Android: Android does not have an IME input type of "join." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyJoin". The title displayed in the /// action button is "Join".llh@ρT/// Logical meaning: The user wants routing options, e.g., driving directions. /// /// Android: Android does not have an IME input type of "route." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyRoute". The title displayed in the /// action button is "Route".@@فvBBZ/// Logical meaning: Initiate a call to emergency services. /// /// Android: Android does not have an IME input type of "emergencyCall." It is /// inappropriate to choose this [TextInputAction] when running on Android. /// /// iOS: Corresponds to iOS's "UIReturnKeyEmergencyCall". The title displayed /// in the action button is "Emergency Call".BTBT[E5/// Logical meaning: Insert a newline character in the focused text input, /// e.g., [TextField]. /// /// Android: Corresponds to Android's "IME_ACTION_NONE". The OS displays a /// button that represents a new line, e.g., a carriage return button. /// /// iOS: Corresponds to iOS's "UIReturnKeyDefault". The title displayed in the /// action button is "return". /// /// The term [TextInputAction.newline] exists in Flutter but not in Android /// or iOS. The reason for introducing this term is so that developers can /// achieve the common result of inserting new lines without needing to /// understand the various IME actions on Android and return keys on iOS. /// Thus, [TextInputAction.newline] is a convenience term that alleviates the /// need to understand the underlying platforms to achieve this common behavior.[[W/// An action the user has requested the text input control to perform. /// /// Each action represents a logical meaning, and also configures the soft /// keyboard to display a certain kind of action button. The visual appearance /// of the action button might differ between versions of the same OS. /// /// Despite the logical meaning of each action, choosing a particular /// [TextInputAction] does not necessarily cause any specific behavior to /// happen, other than changing the focus when appropriate. It is up to the /// developer to ensure that the behavior that occurs when an action button is /// pressed is appropriate for the action button chosen. /// /// For example: If the user presses the keyboard action button on iOS when it /// reads "Emergency Call", the result should not be a focus change to the next /// TextField. This behavior is not logically appropriate for a button that says /// "Emergency Call". /// /// See [EditableText] for more information about customizing action button /// behavior. /// /// Most [TextInputAction]s are supported equally by both Android and iOS. /// However, there is not a complete, direct mapping between Android's IME input /// types and iOS's keyboard return types. Therefore, some [TextInputAction]s /// are inappropriate for one of the platforms. If a developer chooses an /// inappropriate [TextInputAction] when running in debug mode, an error will be /// thrown. If the same thing is done in release mode, then instead of sending /// the inappropriate value, Android will use "unspecified" on the platform /// side and iOS will use "default" on the platform side. /// /// See also: /// /// * [TextInput], which configures the platform's keyboard setup. /// * [EditableText], which invokes callbacks when the action button is pressed.FFGy/// Defaults to an uppercase keyboard for the first letter of each word. /// /// Corresponds to `InputType.TYPE_TEXT_FLAG_CAP_WORDS` on Android, and /// `UITextAutocapitalizationTypeWords` on iOS.GGH\/// Defaults to an uppercase keyboard for the first letter of each sentence. /// /// Corresponds to `InputType.TYPE_TEXT_FLAG_CAP_SENTENCES` on Android, and /// `UITextAutocapitalizationTypeSentences` on iOS.HjHjI5/// Defaults to an uppercase keyboard for each character. /// /// Corresponds to `InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS` on Android, and /// `UITextAutocapitalizationTypeAllCharacters` on iOS.IDID,Il%/// Defaults to a lowercase keyboard.EEF/// Configures how the platform keyboard will select an uppercase or /// lowercase keyboard. /// /// Only supports text keyboards, other keyboard types will ignore this /// configuration. Capitalization is locale-aware.22_U/// A user has just activated a floating cursor by long pressing on the /// spacebar.2)/// A user is dragging a floating cursor.\&T/// A user has lifted their finger off the screen after using a floating /// cursor./// The state of a "floating cursor" drag on an iOS soft keyboard. /// /// The "floating cursor" cursor-positioning mode is an iOS feature used to /// precisely position the caret in some editable text using certain touch /// gestures. As an example, when the user long-presses the spacebar on the iOS /// virtual keyboard, iOS enters floating cursor mode where the whole keyboard /// becomes a trackpad. In this mode, there are two visible cursors. One, the /// floating cursor, hovers over the text, following the user's horizontal /// movements exactly and snapping to lines vertically. The other, the /// placeholder cursor, is a "shadow" that also snaps to the actual location /// where the cursor will go horizontally when the user releases the trackpad. /// /// The floating cursor renders over the text field, while the placeholder /// cursor is a faint shadow of the cursor rendered in the text field in the /// location between characters where the cursor will drop into when released. /// The placeholder cursor is a faint vertical bar, while the floating cursor /// has the same appearance as a normal cursor (a blue vertical bar). /// /// This feature works out-of-the-box with Flutter. Support is built into /// [EditableText]. /// /// See also: /// /// * [EditableText.backgroundCursorColor], which configures the color of the /// placeholder cursor while the floating cursor is being dragged. t_l/// The user tapped on the text and that caused the selection (or the location /// of the cursor) to change.gg/// The user tapped twice in quick succession on the text and that caused /// the selection (or the location of the cursor) to change.}to/// The user long-pressed the text and that caused the selection (or the /// location of the cursor) to change.p/// The user force-pressed the text and that caused the selection (or the /// location of the cursor) to change./// The user used the keyboard to change the selection or the location of the /// cursor. /// /// Keyboard-triggered selection changes may be caused by the IME as well as /// by accessibility tools (e.g. TalkBack on Android)./// The user used the selection toolbar to change the selection or the /// location of the cursor. /// /// An example is when the user taps on select all in the tool bar.bY/// The user used the mouse to change the selection by dragging over a piece /// of text.%%/// The user used stylus handwriting to change the selection. /// /// Currently, this is only supported on iPadOS 14+ via the Scribble feature, /// or on Android API 34+ via the Scribe feature.>pe|e/// The user used stylus handwriting to change the selection. /// /// Currently, this is only supported on iPadOS 14+ via the Scribble feature, /// or on Android API 34+ via the Scribe feature.ffh/// Indicates what triggered the change in selected text (including changes to /// the cursor location). I5 /// Gets the current text input.:+/// Whether cut is enabled.BB<j/// Whether copy is enabled.>/// Whether paste is enabled.G"/// Whether select all is enabled.A:/// Whether look up is enabled.TTG"/// Whether search web is enabled.>/// Whether share is enabled.Ԁ/// Whether Live Text input is enabled. /// /// See also: /// * [LiveText], where the availability of Live Text input can be obtained. /// * [LiveTextInputStatusNotifier], where the status of Live Text can be listened to.%%6==SJJ /// Indicates that the user has requested the delegate to replace its current /// text editing state with [value]. /// /// The new [value] is treated as user input and thus may subject to input /// formatting. /// /// See also: /// /// * [EditableTextState.userUpdateTextEditingValue]: an implementation that /// applies additional pre-processing to the specified [value], before /// updating the text editing state.``es^^S/// Hides the text selection toolbar. /// /// By default, hideHandles is true, and the toolbar is hidden along with its /// handles. If hideHandles is set to false, then the toolbar will be hidden /// but the handles will remain.~~S/// Brings the provided [TextPosition] into the visible area of the text /// input.ŀ/// Cut current selection to [Clipboard]. /// /// If and only if [cause] is [SelectionChangedCause.toolbar], the toolbar /// will be hidden and the current selection will be scrolled into view.%9/// Paste text from [Clipboard]. /// /// If there is currently a selection, it will be replaced. /// /// If and only if [cause] is [SelectionChangedCause.toolbar], the toolbar /// will be hidden and the current selection will be scrolled into view.00/// Set the current selection to contain the entire text value. /// /// If and only if [cause] is [SelectionChangedCause.toolbar], the selection /// will be scrolled into view.ڀ/// Copy current selection to [Clipboard]. /// /// If [cause] is [SelectionChangedCause.toolbar], the position of /// [bringIntoView] to selection will be called and hide toolbar.V/// A mixin for manipulating the selection, provided for toolbar or shortcut /// keys.u7D/// The current state of the [TextEditingValue] held by this client.SS/// The [AutofillScope] this [TextInputClient] belongs to, if any. /// /// It should return null if this [TextInputClient] does not need autofill /// support. For a [TextInputClient] that supports autofill, returning null /// causes it to participate in autofill alone. /// /// See also: /// /// * [AutofillGroup], a widget that creates an [AutofillScope] for its /// descendent autofillable [TextInputClient]s.  11耩/// Requests that this client update its editing state to the given value. /// /// The new [value] is treated as user input and thus may subject to input /// formatting.ddteV7/// Requests that this client perform the given action.ˀˀ}D/// Notify client about new content insertion from Android keyboard.\\ ckkπF%/// Request from the input method that this client perform the given private /// command. /// /// This can be used to provide domain-specific features that are only known /// between certain input methods and their clients. /// /// See also: /// * [performPrivateCommand](https://developer.android.com/reference/android/view/inputmethod/InputConnection#performPrivateCommand\(java.lang.String,%20android.os.Bundle\)), /// which is the Android documentation for performPrivateCommand, used to /// send a command from the input method. /// * [sendAppPrivateCommand](https://developer.android.com/reference/android/view/inputmethod/InputMethodManager#sendAppPrivateCommand), /// which is the Android documentation for sendAppPrivateCommand, used to /// send a command to the input method.YYpϊϊD/// Updates the floating cursor position and state. /// /// See also: /// /// * [FloatingCursorDragState], which explains the floating cursor feature /// in detail.|| рччы{{_/// Requests that this client display a prompt rectangle for the given text range, /// to indicate the range of text that will be changed by a pending autocorrection. /// /// This method will only be called on iOS.єє#/// Platform notified framework of closed connection. /// /// [TextInputClient] should cleanup its connection and finalize editing. ::ف/// The framework calls this method to notify that the text input control has /// been changed. /// /// The [TextInputClient] may switch to the new text input control by hiding /// the old and showing the new input control. /// /// See also: /// /// * [TextInputControl.hide], a method to hide the old input control. /// * [TextInputControl.show], a method to show the new input control.11ހ/// Requests that the client show the editing toolbar, for example when the /// platform changes the selection through a non-flutter method such as /// scribble.EE J`/+/// Requests that the client add a text placeholder to reserve visual space /// in the text. /// /// For example, this is called when responding to UIKit requesting /// a text placeholder be added at the current selection, such as when /// requesting additional writing space with iPadOS14 Scribble.VV[֗9/// Requests that the client remove the text placeholder.xxֵֵh/// Performs the specified MacOS-specific selector from the /// `NSStandardKeyBindingResponding` protocol or user-specified selector /// from `DefaultKeyBinding.Dict`. Ɓ/// An interface to receive information from [TextInput]. /// /// If [TextInputConfiguration.enableDeltaModel] is set to true, /// [DeltaTextInputClient] must be implemented instead of this class. /// /// See also: /// /// * [TextInput.attach] /// * [EditableText], a [TextInputClient] implementation. /// * [DeltaTextInputClient], a [TextInputClient] extension that receives /// granular information from the platform's text input.99(PK/// Requests that this client update its editing state by applying the deltas /// received from the engine. /// /// The list of [TextEditingDelta]'s are treated as changes that will be applied /// to the client's editing state. A change is any mutation to the raw text /// value, or any updates to the selection and/or composing region. /// /// {@tool snippet} /// This example shows what an implementation of this method could look like. /// /// ```dart /// class MyClient with DeltaTextInputClient { /// TextEditingValue? _localValue; /// /// @override /// void updateEditingValueWithDeltas(List textEditingDeltas) { /// if (_localValue == null) { /// return; /// } /// TextEditingValue newValue = _localValue!; /// for (final TextEditingDelta delta in textEditingDeltas) { /// newValue = delta.apply(newValue); /// } /// _localValue = newValue; /// } /// /// // ... /// } /// ``` /// {@end-tool}߳߳*/// An interface to receive granular information from [TextInput]. /// /// See also: /// /// * [TextInput.attach] /// * [TextInputConfiguration], to opt-in to receive [TextEditingDelta]'s from /// the platforms [TextInput] you must set [TextInputConfiguration.enableDeltaModel] /// to true. d7d7dGdOdO$dfc;c;<d0/// Requests the text input control to attach to the given input client. /// /// This method is called when a text input client is attached. The input /// control should update its configuration to match the client's configuration.ekeke{d{d{ ed/// Requests the text input control to detach from the given input client. /// /// This method is called when a text input client is detached. The input /// control should release any resources allocated for the client.eef~/// Requests that the text input control is shown. /// /// This method is called when the input control should become visible.f f fu/// Requests that the text input control is hidden. /// /// This method is called when the input control should hide.gqgq$gffgd/// Informs the text input control about input configuration changes. /// /// This method is called when the configuration of the attached input client /// has changed.h]h]hngghM/// Informs the text input control about editing state changes. /// /// This method is called when the editing state of the attached input client /// has changed.icicihiyiyih{h{iG/// Informs the text input control about client position changes. /// /// This method is called on when the input control should position itself in /// relation to the attached input client.jLjL jQiij;/// Informs the text input control about composing area changes. /// /// This method is called when the attached input client's composing area /// changes.k k kj]j]j/// Informs the text input control about caret area changes. /// /// This method is called when the attached input client's caret area /// changes.kk"kkkkŀ/// Informs the text input control about selection area changes. /// /// This method is called when the attached input client's selection area /// changes.llllllllm mm$m4mGmGmZllkl/// Informs the text input control about text style changes. /// /// This method is called on the when the attached input client's text style /// changes.mpmpmt/// Requests autofill from the text input control. /// /// This method is called when the autofill UI should appear.nnnnnnns/// Requests that the autofill context is finalized. /// /// See also: /// /// * [TextInput.finishAutofillContext]^8^8c&/// An interface for implementing text input controls that receive text editing /// state changes and visual input control requests. /// /// Editing state changes and input control requests are sent by the framework /// when the editing state of the attached text input client changes, or it /// requests the input control to be shown or hidden, for example. /// /// The input control can be installed with [TextInput.setInputControl], and the /// default platform text input control can be restored with /// [TextInput.restorePlatformInputControl]. /// /// The [TextInputControl] class must be extended. [TextInputControl] /// implementations should call [TextInput.updateEditingValue] to send user /// input to the attached input client. /// /// {@tool dartpad} /// This example illustrates a basic [TextInputControl] implementation. /// /// ** See code in examples/api/lib/services/text_input/text_input_control.0.dart ** /// {@end-tool} /// /// See also: /// /// * [TextInput.setInputControl], a method to install a custom text input control. /// * [TextInput.restorePlatformInputControl], a method to restore the default /// platform text input control. /// * [TextInput.updateEditingValue], a method to send user input to /// the framework.RR Y//? 遧Cpackage:flutter/cupertino.dartpackage:flutter/material.dartpackage:flutter/rendering.dartDlive_text.darte scribe.darttext_formatter.dartY<ց7;\z߂DEoǂރ/LlɃʃۃ *8Kbx˄̅=>AESWz̆0Ggm.4Rˈֈ؈ى*.<@c7=[Ҋފߊ">B֍!,B.͎06Ϗ39ӐGSa8Ȕ8>ŔƔ'-yɕʕ9yzޗQW * TݚDJw}@ě &|ݝ gȝΞsyߟdDddddde%e+eQexeyeffFfLffffffgJg_ggghhhHhhhi'i-iiiij/j5jEjKjjjjk3kSkwkkkkkll4lQlwlllmm+mOmmmmmn n9ndnno oLoop'p[ppqqaqqr9rmrtrxryrss s_sssst8tottuSumusuuvvLvvvvwww\w~wwwx&xBxdxxxy*yjyyyz/zuzzz{K{R{V{W{c{{{{{|||5|W||||}1}e}}~~?~y~~C !/@Pcv9V{Kj#R#T,ho?uj W6!pRfjx|0z$+-.im{HV\"kl*/VXYU-H\IuwSZ9NO#9?+v%s &v_%+z$AB7-489}5;mnD}G2j)018$r:sz7r8ZJ %< &Nl%&[`0|&,8nGN_cef=]deIrTbhFdj "#ciCI<@GH$*:@[\)L{| ?@_ /QRw o &s¾X^ë-.pvDJŏ CGƈ9DŽPQȖȜ7ioɅ./|ʂO}~N]c̲ͳ3?χψϾ)=xy$*Xёђ78҈ҜҢ"(8>ӈ./}>QW՝(ST֐ֲֳ<aאגד'؞23~لKopڢڵڷڸ Xۍۘۮ ">X܀܆܇.k݀݁ݼ /BHtވގ޳!%&2ght߲߰߳ &vf-sy$KQc2vdfgG)*?\q4: 0CMQRstU[&'br3BHX^ ` [r17 \,Qu%;A!Fesy#$u ` \EKOPu{K]~+,Om%+y $()pv(,./c~$\H|,f%?Hmr|-j? X?Z^Gpt   O    4     ]   = A   ) y   <aesw9K].4'7];t#SY]^2LR"t@NTr^6n$g(B\t?`z#=X{ /`de76S  6 : ;  !!W!!!")"-".""""""####^####$2$$$$$$$$$$%%O%P%%%&-&B&&&' '!'m'w'''( (*(B(i(())/)C)|))))))))**?*U***+<+G+W+++,(,?,d,,-?-]-m-..+.Y.../?/P/_/v///00@0P0V0|000011`1122G2O2]2c2d22233^3344P44455o5555555566e6v6667F77777788#8+81828H8y8909k9{9:*:5:n::;7;B;C;;<&>`>>?(?3?f?@@ @=@u@AA<AoAAB(B3BgBBBBBBCCCC5CCCICbCcCCDD#D?DgDxDDDDDEEIEOESETElEEFF F,FAFEFFFFFFFFG(GeGGGGGGGHHHHHSHiHoHsHtHIIGIMIQIRI|IIIIIJ JIJkJqJuJvJJK$K*K.K/KBKcKKKKKL7LOLoLLLLLLMMMM\M}MMMMNNNNN\N|NNNNNNO:O@OOP PWP[P\PPPQ2QQQQR<RqRwRSSUSSTT TXTTU<UUUV4VqVW W[WWX XX%XrXYY_YYZZ ZZ"ZoZZ[4[[[[[\\2\8\\]]e]i]j]]^1^5^7^8^^^__\___`1`^`b``aa a4a|aaaaaabPbbc c c9cccd)dxdyddee]eeeef fffTfZfffffgJg]ggggh3hFhxhyhhii@iiiij%j4jZj[jjjjkkk]kckkkkl>lDlllllmmCmemmmnmmmnnn=nCnSnYnnnnno1oRoSooopp ptpqqLqqrrfrzrrrrs ssssjsst tttt"tJtttttu1u5u6uBusuuuuuvvvv&v6vivmvnvzvw$wJwrwwwwwwx(xCx`xvxxxxxxyy-yJy`yuy}yyyyyzzCzYzuzzzz{{{"{){-{.{:{L{m{{{{||M|m|||}}}}}(}C}}}}}~~~!~"~P~T~~oX 48FJ)^Nd"#de%+Unobp !ab*Aftz"\QXnrgmQ4\brx?Np1<_efr =>`w1Nq M39 Xsy Y(x 'EQ.Lm WUeB$zU{!)-.TZY(t+O'+,8}/Tt\`aV`drv%s89`f2JK489Eklxfjlm ^k$eNR`d$waecx<=Ilno jw:0<@$13M'(4y*6:`%2:T78D=Ag(55O&'3x(:>Š@jn|À!yľ.01ŋŏŻſN[ƭ0s0PQȅȵȶimnzɿ\ʫʯʰʼ!CV\˖˶"SmartDashesTypeSmartQuotesType TextInputTypeTextInputActionTextCapitalizationTextInputConfiguration_toTextAffinityFloatingCursorDragStateRawFloatingCursorPointTextEditingValueSelectionChangedCauseTextSelectionDelegateTextInputClientScribbleClient SelectionRectDeltaTextInputClientTextInputConnection_toTextInputAction_toTextCursorAction _toTextPoint TextInputTextInputControl_PlatformTextInputControlSystemContextMenuControllerIOSSystemContextMenuItemData IOSSystemContextMenuItemDataCopyIOSSystemContextMenuItemDataCut!IOSSystemContextMenuItemDataPaste%IOSSystemContextMenuItemDataSelectAll"IOSSystemContextMenuItemDataLookUp%IOSSystemContextMenuItemDataSearchWeb!IOSSystemContextMenuItemDataShare$IOSSystemContextMenuItemDataLiveText"IOSSystemContextMenuItemDataCustom7flutter.services.TextInputConfiguration.smartDashesTypeWhether to allow the platform to automatically format dashes. This flag only affects iOS versions 11 and above. It sets [`UITextSmartDashesType`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype?language=objc) in the engine. When true, it passes [`UITextSmartDashesTypeYes`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/uitextsmartdashestypeyes?language=objc), and when false, it passes [`UITextSmartDashesTypeNo`](https://developer.apple.com/documentation/uikit/uitextsmartdashestype/uitextsmartdashestypeno?language=objc). As an example of what this does, two consecutive hyphen characters will be automatically replaced with one en dash, and three consecutive hyphens will become one em dash. Defaults to true, unless [obscureText] is true, when it defaults to false. This is to avoid the problem where password fields receive autoformatted characters. See also: * [smartQuotesType] * 7flutter.services.TextInputConfiguration.smartQuotesTypeWhether to allow the platform to automatically format quotes. This flag only affects iOS. It sets [`UITextSmartQuotesType`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype?language=objc) in the engine. When true, it passes [`UITextSmartQuotesTypeYes`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/uitextsmartquotestypeyes?language=objc), and when false, it passes [`UITextSmartQuotesTypeNo`](https://developer.apple.com/documentation/uikit/uitextsmartquotestype/uitextsmartquotestypeno?language=objc). As an example of what this does, a standard vertical double quote character will be automatically replaced by a left or right double quote depending on its position in a word. Defaults to true, unless [obscureText] is true, when it defaults to false. This is to avoid the problem where password fields receive autoformatted characters. See also: * [smartDashesType] * 9flutter.services.TextInputConfiguration.enableSuggestionsWhether to show input suggestions as the user types. This flag only affects Android. On iOS, suggestions are tied directly to [autocorrect], so that suggestions are only shown when [autocorrect] is true. On Android autocorrection and suggestion are controlled separately. Defaults to true. See also: * Eflutter.services.TextInputConfiguration.enableIMEPersonalizedLearning@Whether to enable that the IME update personalized data such as typing history and user dictionary data. This flag only affects Android. On iOS, there is no equivalent flag. Defaults to true. See also: * 3flutter.services.TextInputConfiguration.hintLocalesList of the languages that the user is expected to use. This special "hint" can be used mainly for, but not limited to, multilingual users who want IMEs to switch language based on editor's context. Pass an empty list to express the intention that a specific hint should not be set. Defaults to null, which indicates no preference in keyboard language. This setting is only honored on Android devices running API 24 and above. See also: * 0flutter.services.TextInput.finishAutofillContextAn autofill context is a collection of input fields that live in the platform's text input plugin. The platform is encouraged to save the user input stored in the current autofill context before the context is destroyed, when [TextInput.finishAutofillContext] is called with `shouldSave` set to true. Currently, there can only be at most one autofill context at any given time. When any input field in an [AutofillGroup] requests for autofill (which is done automatically when an autofillable [EditableText] gains focus), the current autofill context will merge the content of that [AutofillGroup] into itself. When there isn't an existing autofill context, one will be created to hold the newly added input fields from the group. Once added to an autofill context, an input field will stay in the context until the context is destroyed. To prevent leaks, call [TextInput.finishAutofillContext] to signal the text input plugin that the user has finalized their input in the current autofill context. The platform text input plugin either encourages or discourages the platform from saving the user input based on the value of the `shouldSave` parameter. The platform usually shows a "Save for autofill?" prompt for user confirmation.