Ivaluelabel labelWidget leadingIcon trailingIconenabledstylewidth menuHeighthintText helperText errorTextselectedTrailingIcon enableFilter enableSearch keyboardType textStyle textAligninputDecorationTheme menuStyle controllerinitialSelection onSelected focusNoderequestFocusOnTapdropdownMenuEntriesexpandedInsetsfilterCallbacksearchCallbackinputFormattersalignmentOffset createState _anchorKey _leadingKeybuttonItemKeys _controller _enableFilter _enableSearchfilteredEntries _initialMenucurrentHighlightleadingPadding_menuHasEnabledItem_localTextEditingController initStatedisposedidUpdateWidgetcanRequestFocusrefreshLeadingPaddingscrollToHighlightgetWidthfilter_shouldUpdateCurrentHighlightsearch _buildButtonshandleUpKeyInvokehandleDownKeyInvoke handlePressedbuildcreateRenderObjectupdateRenderObject_widthsetupParentData performLayoutpaintcomputeDryLayoutcomputeMinIntrinsicWidthcomputeMaxIntrinsicWidthcomputeMinIntrinsicHeightcomputeMaxIntrinsicHeighthitTestChildrencontext_theme FilterCallbackSearchCallback_kMinimumWidth_kDefaultHorizontalPaddingDropdownMenuEntry DropdownMenu_DropdownMenuState_ArrowUpIntent_ArrowDownIntent_DropdownMenuBody_DropdownMenuBodyParentData_RenderDropdownMenuBody_DropdownMenuDefaultsM3filterCallbackListTStringsearchCallbackintdoubledropdownMenuEntriesTextmaxLinesoverflowWidgetlabelbool ButtonStyle TextField MenuAnchorInputDecorationMenuItemButtonStatefulWidget prefixIcon suffixIconInputDecorationTheme TextAlignstartIconIconsarrow_drop_down helperTextInputDecoratorchild errorText arrow_drop_up TextInputTypetext TextTheme bodyLarge TextStyle MenuStyleTextEditingController ValueChanged FocusNode FocusScopecanRequestFocuswidth EdgeInsetszeroEdgeInsetsGeometry enableFilter enableSearch ListenableTextEditingValueTextInputFormatterOffsetoverrideState GlobalKeyMenuControllervoid initStatewidget controllergeneratelengthanyentryenabled indexWherevalueinitialSelection selection TextSelection collapsedoffsetdisposedidUpdateWidget leadingIcon focusNoderequestFocusOnTapThemeofcontextplatformTargetPlatformiOSandroidfuchsiamacOSlinuxwindowsWidgetsBindinginstanceaddPostFrameCallbackmountedsetState debugLabel BuildContextcurrentContext Scrollableposition ensureVisiblefindRenderObject RenderBoxhasSizesize toLowerCasewherecontainstoListisEmpty TextDirectionistylertl styleFrompaddingonlyleftrightltrMenuButtonThemeWidgetStatePropertyColorforegroundColor iconColor overlayColorbackgroundColor focusedIndexdefaultStyleOfresolve MaterialStatefocused colorScheme onSurface withOpacitycopyWithMaterialStatePropertyAll labelWidgetConstrainedBox constraintsBoxConstraintsmaxWidthkeyenableScrollToHighlight trailingIcon onPressed onSelectedcallrequestFocusOnHoveraddisOpenclose isNotEmptyopenDirectionalityDropdownMenuThemeDataDropdownMenuTheme textStyle menuStyle minimumSizeSize menuHeight maximumSizeinfinityinputDecorationTheme MouseCursorSystemMouseCursorsclickalignmentOffset menuChildrencrossAxisUnconstrainedbuilderPaddingall IconButton isSelectedicon selectedIconselectedTrailingIconshrink mouseCursorenableInteractiveSelectionreadOnly keyboardType textAligntextAlignVerticalTextAlignVerticalcenteronEditingCompleteonTap onChangedinputFormatters decorationhintTextSizedBox applyDefaultsexpandedInsets Shortcuts shortcutsShortcutActivatorIntentSingleActivatorLogicalKeyboardKey arrowLeft ExtendSelectionByCharacterIntentforwardcollapseSelection arrowRightarrowUp arrowDownchildrenmap ExcludeFocus excludingitemclampendActionsactionsTypeActionCallbackActiononInvokeMultiChildRenderObjectWidgetContainerBoxParentDataContainerRenderObjectMixinRenderBoxContainerDefaultsMixinmarkNeedsLayout parentData firstChildgetMaxIntrinsicWidth maxHeightmingetMaxIntrinsicHeightlayoutparentUsesSizeheight nextSiblingmax constrainPaintingContext paintChild getDryLayoutgetMinIntrinsicWidth lastChild childBeforegetMinIntrinsicHeightBoxHitTestResultaddWithPaintOffsethitTest transformed ThemeData textThemeinfinite visualDensity VisualDensitystandardborderOutlineInputBorder StatefulWidgetStateIntentMultiChildRenderObjectWidgetContainerBoxParentData RenderBoxContainerRenderObjectMixinRenderBoxContainerDefaultsMixinDropdownMenuThemeData/L퉊X#Omath dart:mathpackage:flutter/rendering.dartpackage:flutter/services.dart@package:flutter/widgets.darthbutton_style.dartdropdown_menu_theme.darticon_button.dart icons.dartinput_border.dartinput_decorator.dartmaterial_state.dart0menu_anchor.dartKmenu_button_theme.dartlmenu_style.darttext_field.dart theme.darttheme_data.dartLZ<ǀЀр?fgց/Jk΂ς$%q01}lmÅĆ*.C`Ɇ'>Wgmn4JK0io׉;XYߊ<ɋʋ134|J7Ïd(אTDsE8͔ݔ/BWkǕޕ7K`{ٖ %LfЗ֗ ^ >D$*ښCjÛRX?̝ҝAG_yzž0{̟ҟ`|}ՠۡ4:RXhnMekɢʣ-HI;AiϤեCabͥDJyEcdNTlǩ./agMҪܪ$r06HN^(j:XY߯+ekItzȱ:@Vղ۳0BcdOp.4۶1 &,DpqUjp~Ir:JcnҺػbFqrüoþ2KWƾ>FPbh@@B@m@n@@@AMAAAAB BB_BBBCC2C3C?CCCCCDDBDyDDDEEE6EZEEEEEEF%F2FoFuFFG3GGH H#H`HHHHIIII"I5IZIIIIIIIJJ8JmJJJKK$K]KKKKKLL4LUL]LcLLLMbMMMNN$NeNNO9OgOOOOOOOPDPsPQ$Q-Q1Q2QSQQQQQQRR@RDRERbRRSSSSSSST!T<TTTTTTUGUUUVVVV`VVVVVWuWWWWX)X=XCXDXUXYXZXY Y'Y:Y@YAYYYYYZZ6ZYZpZZZ[[@[A[[\9\\\]v]^D^^^___` `aaaYaab b8bbc1c2ccccdgdeHeef4f~ffggYgggh h;hphhhiiiiNipiij3jKjVj^j_jjjkkEkxkkklAlRllllm m0mFmOmqmwmxmmmmmn nn$nAn^n|nooPoXooopFpOpWp[p\p|ppppqq,qKqqrr'rsrrsss&s*s+s]szssst t+t3tLtRtgtktltxttuRuuuvvhvvvvwZw[wtwxxxwxxyy y/yLyTyZy[yyz.z/zzzz{f{| |||5||}&}J}s}t}~~'~.~/~S~t~~~Syj"1>IJx8[>k!Co.S@Nv.;`;KX%NLWX.[wZ+zt.J|Qu(` $+/123}c %'(Plno ^&*,-}~MNj} &=ABNxUpV0n:gy)U7j";6oo )J%ZP| 6<=\=So+=E .6h267CvZ4X`#Lb{CYr.Wp8T#,?T\btxz{*+I|}VTXZ!/// @docImport 'text_theme.dart';р?g/Jk ĆnI~/// Defines a [DropdownMenu] menu button that represents one item view in the menu. /// /// See also: /// /// * [DropdownMenu][[b J/// Creates an entry that is used with [DropdownMenu.dropdownMenuEntries].+1BH[ aQps/// the value used to identify the entry. /// /// This value must be unique across all entries in a [DropdownMenu].LC7/// The label displayed in the center of the menu item.M/// Overrides the default label widget which is `Text(label)`. /// /// {@tool dartpad} /// This sample shows how to override the default label [Text] /// widget with one that forces the menu entry to appear on one line /// by specifying [Text.maxLines] and [Text.overflow]. /// /// ** See code in examples/api/lib/material/dropdown_menu/dropdown_menu_entry_label_widget.0.dart ** /// {@end-tool} MK1/// An optional icon to display before the label.[M0/// An optional icon to display after the label./// Whether the menu item is enabled or disabled. /// /// The default value is true. If true, the [DropdownMenuEntry.label] will be filled /// out in the text field of the [DropdownMenu] when this entry is clicked; otherwise, /// this entry is disabled.c*D/// Customizes this menu item's appearance. /// /// Null by default.4OJ/// A dropdown menu that can be opened from a [TextField]. The selected /// menu item is displayed in that field. /// /// This widget is used to help people make a choice from a menu and put the /// selected item into the text input field. People can also filter the list based /// on the text input or search one item in the menu list. /// /// The menu is composed of a list of [DropdownMenuEntry]s. People can provide information, /// such as: label, leading icon or trailing icon for each entry. The [TextField] /// will be updated based on the selection from the menu entries. The text field /// will stay empty if the selected entry is disabled. /// /// When the dropdown menu has focus, it can be traversed by pressing the up or down key. /// During the process, the corresponding item will be highlighted and /// the text field will be updated. Disabled items will be skipped during traversal. /// /// The menu can be scrollable if not all items in the list are displayed at once. /// /// {@tool dartpad} /// This sample shows how to display outlined [DropdownMenu] and filled [DropdownMenu]. /// /// ** See code in examples/api/lib/material/dropdown_menu/dropdown_menu.0.dart ** /// {@end-tool} /// /// See also: /// /// * [MenuAnchor], which is a widget used to mark the "anchor" for a set of submenus. /// The [DropdownMenu] uses a [TextField] as the "anchor". /// * [TextField], which is a text input widget that uses an [InputDecoration]. /// * [DropdownMenuEntry], which is used to build the [MenuItemButton] in the [DropdownMenu] list.WWu'/// Creates a const [DropdownMenu]. /// /// The leading and trailing icons in the text field can be customized by using /// [leadingIcon], [trailingIcon] and [selectedTrailingIcon] properties. They are /// passed down to the [InputDecoration] properties, and will override values /// in the [InputDecoration.prefixIcon] and [InputDecoration.suffixIcon]. /// /// Except leading and trailing icons, the text field can be configured by the /// [InputDecorationTheme] property. The menu can be configured by the [menuStyle].   # )3 9FL[aou ";AOUdj)!8PVǕmstjC/// Determine if the [DropdownMenu] is enabled. /// /// Defaults to true. /// /// {@tool dartpad} /// This sample demonstrates how the [enabled] and [requestFocusOnTap] properties /// affect the textfield's hover cursor. /// /// ** See code in examples/api/lib/material/dropdown_menu/dropdown_menu.2.dart ** /// {@end-tool}/// Determine the width of the [DropdownMenu]. /// /// If this is null, the width of the [DropdownMenu] will be the same as the width of the widest /// menu item plus the width of the leading/trailing icon.}/// Determine the height of the menu. /// /// If this is null, the menu will display as many items as possible on the screen.z/// An optional Icon at the front of the text input field. /// /// Defaults to null. If this is not null, the menu items will have extra paddings to be aligned /// with the text in the text field. n/// An optional icon at the end of the text field. /// /// Defaults to an [Icon] with [Icons.arrow_drop_down]./// Optional widget that describes the input field. /// /// When the input field is empty and unfocused, the label is displayed on /// top of the input field (i.e., at the same location on the screen where /// text may be entered in the input field). When the input field receives /// focus (or if the field is non-empty), the label moves above, either /// vertically adjacent to, or to the center of the input field. /// /// Defaults to null.soV/// Text that suggests what sort of input the field accepts. /// /// Defaults to null;|p/// Text that provides context about the [DropdownMenu]'s value, such /// as how the value will be used. /// /// If non-null, the text is displayed below the input field, in /// the same location as [errorText]. If a non-null [errorText] value is /// specified then the helper text is not shown. /// /// Defaults to null; /// /// See also: /// /// * [InputDecoration.helperText], which is the text that provides context about the [InputDecorator.child]'s value.}S/// Text that appears below the input field and the border to show the error message. /// /// If non-null, the border's color animates to red and the [helperText] is not shown. /// /// Defaults to null; /// /// See also: /// /// * [InputDecoration.errorText], which is the text that appears below the [InputDecorator.child] and the border.Ƣ/// An optional icon at the end of the text field to indicate that the text /// field is pressed. /// /// Defaults to an [Icon] with [Icons.arrow_drop_up].z:\/// Determine if the menu list can be filtered by the text input. /// /// Defaults to false.K/// Determine if the first item that matches the text input can be highlighted. /// /// Defaults to true as the search function could be commonly used._/// The type of keyboard to use for editing the text. /// /// Defaults to [TextInputType.text].ΥV/// The text style for the [TextField] of the [DropdownMenu]; /// /// Defaults to the overall theme's [TextTheme.bodyLarge] /// if the dropdown menu theme's value is null.dd/// The text align for the [TextField] of the [DropdownMenu]. /// /// Defaults to [TextAlign.start].퀾/// Defines the default appearance of [InputDecoration] to show around the text field. /// /// By default, shows a outlined text field.X/// The [MenuStyle] that defines the visual attributes of the menu. /// /// The default width of the menu is set to the width of the text field.f/// Controls the text being edited or selected in the menu. /// /// If null, this widget will create its own [TextEditingController].iwI/// The value used to for an initial selection. /// /// Defaults to null."w/// The callback is called when a selection is made. /// /// Defaults to null. If null, only the text field is updated.1%M/// Defines the keyboard focus for this widget. /// /// The [focusNode] is a long-lived object that's typically managed by a /// [StatefulWidget] parent. See [FocusNode] for more information. /// /// To give the keyboard focus to this widget, provide a [focusNode] and then /// use the current [FocusScope] to request the focus: /// /// ```dart /// FocusScope.of(context).requestFocus(myFocusNode); /// ``` /// /// This happens automatically when the widget is tapped. /// /// To be notified when the widget gains or loses the focus, add a listener /// to the [focusNode]: /// /// ```dart /// myFocusNode.addListener(() { print(myFocusNode.hasFocus); }); /// ``` /// /// If null, this widget will create its own [FocusNode]. /// /// ## Keyboard /// /// Requesting the focus will typically cause the keyboard to be shown /// if it's not showing already. /// /// On Android, the user can hide the keyboard - without changing the focus - /// with the system back button. They can restore the keyboard's visibility /// by tapping on a text field. The user might hide the keyboard and /// switch to a physical keyboard, or they might just need to get it /// out of the way for a moment, to expose something it's /// obscuring. In this case requesting the focus again will not /// cause the focus to change, and will not make the keyboard visible. /// /// If this is non-null, the behaviour of [requestFocusOnTap] is overridden /// by the [FocusNode.canRequestFocus] property.[P/// Determine if the dropdown button requests focus and the on-screen virtual /// keyboard is shown in response to a touch event. /// /// Ignored if a [focusNode] is explicitly provided (in which case, /// [FocusNode.canRequestFocus] controls the behavior). /// /// Defaults to null, which enables platform-specific behavior: /// /// * On mobile platforms, acts as if set to false; tapping on the text /// field and opening the menu will not cause a focus request and the /// virtual keyboard will not appear. /// /// * On desktop platforms, acts as if set to true; the dropdown takes the /// focus when activated. /// /// Set this to true or false explicitly to override the default behavior. /// /// {@tool dartpad} /// This sample demonstrates how the [enabled] and [requestFocusOnTap] properties /// affect the textfield's hover cursor. /// /// ** See code in examples/api/lib/material/dropdown_menu/dropdown_menu.2.dart ** /// {@end-tool}f@/// Descriptions of the menu items in the [DropdownMenu]. /// /// This is a required parameter. It is recommended that at least one [DropdownMenuEntry] /// is provided. If this is an empty list, the menu will be empty and only /// contain space for padding.÷`/// Defines the menu text field's width to be equal to its parent's width /// plus the horizontal width of the specified insets. /// /// If this property is null, the width of the text field will be determined /// by the width of menu items or [DropdownMenu.width]. If this property is not null, /// the text field's width will match the parent's width plus the specified insets. /// If the value of this property is [EdgeInsets.zero], the width of the text field will be the same /// as its parent's width. /// /// The [expandedInsets]' top and bottom are ignored, only its left and right /// properties are used. /// /// Defaults to null.sa/// When [DropdownMenu.enableFilter] is true, this callback is used to /// compute the list of filtered items. /// /// {@tool snippet} /// /// In this example the `filterCallback` returns the items that contains the /// trimmed query. /// /// ```dart /// DropdownMenu( /// enableFilter: true, /// filterCallback: (List> entries, String filter) { /// final String trimmedFilter = filter.trim().toLowerCase(); /// if (trimmedFilter.isEmpty) { /// return entries; /// } /// /// return entries /// .where((DropdownMenuEntry entry) => /// entry.label.toLowerCase().contains(trimmedFilter), /// ) /// .toList(); /// }, /// dropdownMenuEntries: const >[], /// ) /// ``` /// {@end-tool} /// /// Defaults to null. If this parameter is null and the /// [DropdownMenu.enableFilter] property is set to true, the default behavior /// will return a filtered list. The filtered list will contain items /// that match the text provided by the input field, with a case-insensitive /// comparison. When this is not null, `enableFilter` must be set to true.t@]/// When [DropdownMenu.enableSearch] is true, this callback is used to compute /// the index of the search result to be highlighted. /// /// {@tool snippet} /// /// In this example the `searchCallback` returns the index of the search result /// that exactly matches the query. /// /// ```dart /// DropdownMenu( /// searchCallback: (List> entries, String query) { /// if (query.isEmpty) { /// return null; /// } /// final int index = entries.indexWhere((DropdownMenuEntry entry) => entry.label == query); /// /// return index != -1 ? index : null; /// }, /// dropdownMenuEntries: const >[], /// ) /// ``` /// {@end-tool} /// /// Defaults to null. If this is null and [DropdownMenu.enableSearch] is true, /// the default function will return the index of the first matching result /// which contains the contents of the text input field.@pcBĂ/// Optional input validation and formatting overrides. /// /// Formatters are run in the provided order when the user changes the text /// this widget contains. When this parameter changes, the new formatters will /// not be applied until the next time the user inserts or deletes text. /// Formatters don't run when the text is changed /// programmatically via [controller]. /// /// See also: /// /// * [TextEditingController], which implements the [Listenable] interface /// and notifies its listeners on [TextEditingValue] changes.BXC!8/// {@macro flutter.material.MenuAnchor.alignmentOffset}C5LCXC5C6CNCCC C(CCCCC)DDDDD#D2DD3DYDgDuDvD{DDDDD/DDDEE EE&E8 E=ESE\2EsEEEEII)IIIԆ IIJIIONOQ4Q9RG~RLSɁSS STҁATT"UU+U/VAVV:"VVX\XaXh"XX+XYꓤYZ *Z&Z:ZIZ]ZcZt#ZzZmmmmp^pcpwpxs-=s2s@sPtnttttntoA !(E.RXhouC 3FT$-O3~PCPgn wx DUepDE : (݃X 9Le m9: ݀ Ԃ!Â& !-@K/`inoqyrCƁ Ӏ% Ā/// A callback function that returns the list of the items that matches the /// current applied filter. /// /// Used by [DropdownMenu.filterCallback]." (1:/// A callback function that returns the index of the item that matches the /// current contents of a text field. /// /// If a match doesn't exist then null must be returned. /// /// Used by [DropdownMenu.searchCallback].&&9"U] em#z.text_theme.dart<ǀЀр?fgց/Jk΂ς$%q01}lmÅĆ*.C`Ɇ'>Wgmn4JK0io׉;XYߊ<ɋʋ134|J7Ïd(אTDsE8͔ݔ/BWkǕޕ7K`{ٖ %LfЗ֗ ^ >D$*ښCjÛRX?̝ҝAG_yzž0{̟ҟ`|}ՠۡ4:RXhnMekɢʣ-HI;AiϤեCabͥDJyEcdNTlǩ./agMҪܪ$r06HN^(j:XY߯+ekItzȱ:@Vղ۳0BcdOp.4۶1 &,DpqUjp~Ir:JcnҺػbFqrüoþ2KWƾ>FPbh@@B@m@n@@@AMAAAAB BB_BBBCC2C3C?CCCCCDDBDyDDDEEE6EZEEEEEEF%F2FoFuFFG3GGH H#H`HHHHIIII"I5IZIIIIIIIJJ8JmJJJKK$K]KKKKKLL4LUL]LcLLLMbMMMNN$NeNNO9OgOOOOOOOPDPsPQ$Q-Q1Q2QSQQQQQQRR@RDRERbRRSSSSSSST!T<TTTTTTUGUUUVVVV`VVVVVWuWWWWX)X=XCXDXUXYXZXY Y'Y:Y@YAYYYYYZZ6ZYZpZZZ[[@[A[[\9\\\]v]^D^^^___` `aaaYaab b8bbc1c2ccccdgdeHeef4f~ffggYgggh h;hphhhiiiiNipiij3jKjVj^j_jjjkkEkxkkklAlRllllm m0mFmOmqmwmxmmmmmn nn$nAn^n|nooPoXooopFpOpWp[p\p|ppppqq,qKqqrr'rsrrsss&s*s+s]szssst t+t3tLtRtgtktltxttuRuuuvvhvvvvwZw[wtwxxxwxxyy y/yLyTyZy[yyz.z/zzzz{f{| |||5||}&}J}s}t}~~'~.~/~S~t~~~Syj"1>IJx8[>k!Co.S@Nv.;`;KX%NLWX.[wZ+zt.J|Qu(` $+/123}c %'(Plno ^&*,-}~MNj} &=ABNxUpV0n:gy)U7j";6oo )J%ZP| 6<=\=So+=E .6h267CvZ4X`#Lb{CYr.Wp8T#,?T\btxz{*+I|}VTXZ _kMinimumWidth_kDefaultHorizontalPaddingDropdownMenuEntry DropdownMenu_DropdownMenuState_ArrowUpIntent_ArrowDownIntent_DropdownMenuBody_DropdownMenuBodyParentData_RenderDropdownMenuBody_DropdownMenuDefaultsM3M,