iheight represents thicknessindent endIndentradiuscolor createStatebuildonLayoutcreateRenderObjectupdateRenderObjectcomputeDryLayoutcomputeDryBaseline performLayoutvalueonTapenabledpadding textStylelabelTextStyle mouseCursorchild buildChild handleTapbuildSemanticschecked _fadeDuration _controller_opacity initStatedisposeitemKeysroute semanticLabel constraints clipBehavior _opacitiesdidUpdateWidget _setOpacitiesposition itemSizesselectedItemIndex textDirection avoidBoundsgetConstraintsForChildgetPositionForChild_closestScreen_fitInsideScreenshouldRelayoutpositionBuilderitems initialValue elevationsurfaceTintColor shadowColorshape menuPaddingcapturedThemespopUpAnimationStyle _animationcreateAnimationscrollTotransitionDurationbarrierDismissible barrierColor barrierLabel buildPage _avoidBounds itemBuilderonOpened onSelected onCanceledtooltip splashRadius borderRadiusiconoffset iconColorenableFeedbackiconSizeuseRootNavigator routeSettingsstyle requestFocus_isMenuExpanded _lastPosition_popupMenuTheme_cachedButtonRenderBox_cachedOverlayRenderBoxdidChangeDependencies_updateCachedObjects_getDefaultPosition_positionBuildershowButtonMenu_canRequestFocus widgetCursor themeCursorresolvedebugDescriptioncontext_theme _textThememenuItemPadding_colors_kMenuDuration_kMenuCloseIntervalEnd_kMenuDividerHeight_kMenuMaxWidth_kMenuMinWidth_kMenuWidthStep_kMenuScreenPaddingPopupMenuEntryPopupMenuDivider_PopupMenuDividerState _MenuItem_RenderMenuItem PopupMenuItemPopupMenuItemStateCheckedPopupMenuItem_CheckedPopupMenuItemState _PopupMenu_PopupMenuState_PopupMenuRouteLayout_PopupMenuRoutePopupMenuPositionBuildershowMenuPopupMenuItemSelectedPopupMenuCanceledPopupMenuItemBuilderPopupMenuButtonPopupMenuButtonState_EffectiveMouseCursor_PopupMenuDefaultsM2_PopupMenuDefaultsM3mDuration millisecondsdouble IconButtonStatefulWidget ThemeDatahighlightColorboolDividerNeveroverrideBorderRadiusGeometryColorvoidStateWidget BuildContextheightwidget thicknessindentcolor endIndentradiusSingleChildRenderObjectWidget ValueChangedSize RenderObjectonLayoutRenderShiftedBox RenderBoxchildBoxConstraints getDryLayoutzero TextBaselinegetDryBaselinesizelayout constraintsparentUsesSize constrain parentData BoxParentDataoffsetOffsetTextListTilekMinInteractiveDimension VoidCallback useMaterial3 EdgeInsetsPopupMenuThemeData textStyle TextTheme titleMedium textTheme TextStylelabelTextStyle labelLarge ColorScheme onSurfaceWidgetStatePropertyWidgetStateMouseCursorresolve WidgetStatehoveredfocuseddisabled mouseCursoradaptiveClickable MouseCursorDefaultTextStylevalue Navigatorpop protectedInkWellcontextonTapcallThemeofPopupMenuThemeenabledcopyWith disabledColorEdgeInsetsGeometrypaddingmenuItemPaddingAnimatedDefaultTextStylestyledurationkThemeChangeDurationConstrainedBox minHeightPaddingAlign alignmentAlignmentDirectional centerStart brightness Brightnessdark IconThememergedata IconThemeDataopacityMergeSemanticscanRequestFocus ListTileThemecontentPaddingtitleTextStyle Semantics SemanticsRolemenuItemmenuItemCheckboxrolebuttonIconsdoneleadingIcontitleSingleTickerProviderStateMixinAnimationController Animationview initStatevsyncchecked addListenersetStatedisposereverseforward handleTapselected IgnorePointerFadeTransition isDismissedList GlobalKeyStringClipCurvedAnimationdidUpdateWidgetrouteitemslength animationi clampDoubleparentcurveIntervaladd initialValue represents ColoredBox itemSizeskeyitemKeys CurveTweenminWidthmaxWidthIntrinsicWidth stepWidthmenu scopesRoute namesRouteexplicitChildNodeslabel semanticLabelSingleChildScrollView menuPaddingListBodychildrenAnimatedBuilderbuilderanimateMaterialshape clipBehaviortype MaterialTypecard elevation shadowColorsurfaceTintColortopEnd widthFactorevaluate heightFactorSingleChildLayoutDelegate RelativeRectint TextDirectionSetRectloosebiggestdeflatealltopleftrightwidthrtlltrtoRectcenterIterableDisplayFeatureSubScreensubScreensInBoundsfirstscreendistancedxdybottompositionselectedItemIndex textDirection listEquals setEquals avoidBounds PopupRoutefilledtraversalEdgeBehaviorTraversalEdgeBehavior closedLoop ShapeBorderCapturedThemesAnimationStyle noAnimationcreateAnimationCurveslinear reverseCurveSchedulerBindinginstanceaddPostFrameCallbackcurrentContext Scrollable ensureVisibleindexMediaQueryData MediaQuery removePadding removeTop removeBottom removeLeft removeRight LayoutBuilderCustomSingleChildLayoutdelegateDirectionalitywraptoSetfromLTRBfromRectpositionBuilderMaterialLocalizationspopupMenuLabelnone requestFocusSemanticsConfigurationFuture RouteSettings isNotEmpty"debugCheckHasMaterialLocalizationsdefaultTargetPlatformTargetPlatformiOSmacOSandroidfuchsialinuxwindowsgenerateNavigatorState rootNavigatoruseRootNavigatorpush barrierLabelmenuDismissLabelcapturedThemesInheritedThemecapturefromtosettings routeSettingspopUpAnimationStyle onSelectedT onCanceled itemBuilder MenuAnchor menuChildrenMenuItemButton onPressed TextButtonColors transparent BorderRadius cardColorsurfaceContainer iconColorFeedbackPopupMenuPositionover ButtonStyledidChangeDependenciesmountedfindRenderObjectoverlayfromSizeattachedundervertical fromPoints localToGlobalancestor bottomRightonOpenedthennewValueNavigationModemaybeNavigationModeOf traditional directionalenableFeedbackTooltipmessagetooltipshowMenuTooltip borderRadius splashRadiusMaterialTapTargetSize tapTargetSize shrinkWrappaddedexpandedStandardComponentType moreButtoniconadaptivemoreiconSize resolveAs symmetric horizontal colorScheme resolveWithstatescontainsapply withOpacityshadowRoundedRectangleBorderRadiuscircular StatefulWidgetPopupMenuEntryStateSingleChildRenderObjectWidgetRenderShiftedBox PopupMenuItemPopupMenuItemStateSingleTickerProviderStateMixinSingleChildLayoutDelegate PopupRouteWidgetStateMouseCursorPopupMenuThemeDataj/Zh8dart:ui package:flutter/foundation.dart3package:flutter/rendering.dart\package:flutter/scheduler.dartpackage:flutter/widgets.dartbutton_style.dartcolor_scheme.dart colors.dartconstants.dart debug.dart) divider.dart@icon_button.dart[ icons.dartp ink_well.dartlist_tile.dartlist_tile_theme.dart material.dartmaterial_localizations.dartpopup_menu_theme.darttext_theme.dart8 theme.dartM tooltip.dart,RT<Ȁ2[ȁ(?Zoׂ7Lcd|̓-deӄ1fEΆ҇fjSWei9ډ)zŠ#)vÌ*?@x~͍o .4ԏ/12lpÐ ^.4uƑڑ &'NTq}ڒ-.}ʓ˔!Sno>DZ`nҕ*oqr8UpVؙSTyzQw{}~!W7;Yv½KqھBH@2@8@@AA#AVAlAAAAAAAAB#B'BvBBCCLCCCCCD&DiDDEJEEEEFF'FAFiFFFGG8GBGKGGGH H;HFHhHHIII9IBIHIPI`IdIJJ#J'J5J9JJJKCKKKLLLhLLLLLLM MM9MPMaMrMxMyMMMMNNNhNNNNNO>OOOPPP?P@PLPPPQ Q7Q|QQQQQRR_RRRRRRRRSSS1SFSJSKSWSlSSSSTT T!T%T&T2TeT{TTTTU UUUU%U=UlUUVVBVVW.WHWjWWWXX6XUXXXXXXXXXYY+Y:YVYoYYYYYYZZ0ZUZpZqZ}ZZZZ[6[7[C[X[o[[[[[[\<\{\\\\\\]] ];]S]a]^^+^o^^^____+_>_v________``j``aa?agaaabb.b]bbbcc&cHcvccccccd>dxddde e,eeeeeff8f\ffggAgNgYgbgigjggghhCh^hii/iTiij/jMj~jjjk,kpkkkkkllll!l#l$lNlllllmmm*m/m0m{mmmnnn nmnnnnooo'o=o>oooopOpvpwppqq+qLqgqqqqqrrrErkrrrs snsst9tRt_ttu!uMuVu\uuv#v=vPvWvvvvw"wDwhwwwwwwwxKxmxxy yMyyz4z:zxz{{V{\{]{v{z{{{{| |X|||}}P}}}~#~'~)~*~[~o~~~~~~-Meu=L W0Wy (Dm78Dl;QIOP\9ci5Zdlr9Y{.F_{`yKXclswx1FJLMN \ [#:] s>{j [gk Z:koECNR;?C@QU H'Q4^q :Yz/9n=^}H*Hj<Pp9i/>BlBop ef (,  @Di EJNBW*.{c "ei%Z^MQQHbq ;i'7Kdz 0m*0])G`a:;tz.JKl1pv¹Gà2KQĠ 23LRŝŻż3JKƍƓ:qLJLj"9:ouȍȓ)qUklʜʢ8˂˵ \̓X^ͫ()y(.ϝϞCfЀЁЯе"@HRXѧ Afgҷҽ 39ӊ&X}~ԴԺ%@AՎռJsy`ױ%ouؽ01]cيٰٱ@ڒ"#Y_۝۹ۺ 8<܇ܡ"Mrݘݙݥ Rދ ?@ߋ߸8K}R\pfjkp ST:O=%Qh ,34Y]^MHb1Ml9Oz1\ C[r| .8>BCa!KRVWdp<e}7aLk)1rxy@a, fKLo5]:xy CDP$%hSxTU,`#$0`amXY45#$RE/// @docImport 'menu_anchor.dart'; /// @docImport 'text_button.dart';2[(?Zo7Lڊ ++/// Abstract const constructor. This constructor enables subclasses to provide /// const constructors so that they can be used in const expressions.  T75/// The amount of vertical space occupied by this entry. /// /// This value is used at the time the [showMenu] method is called, if the /// `initialValue` argument is provided, to determine the position of this /// entry when aligning the selected entry over the given `position`. It is /// otherwise ignored.$$'BB/// Whether this entry represents a particular value. /// /// This method is used by [showMenu], when it is called, to align the entry /// representing the `initialValue`, if any, to the given `position`, and then /// later is called on each entry to determine if it should be highlighted (if /// the method returns true, the entry will have its background color set to /// the ambient [ThemeData.highlightColor]). If `initialValue` is null, then /// this method is not called. /// /// If the [PopupMenuEntry] represents a single value, this should return true /// if the argument matches that value. If it represents multiple values, it /// should return true if the argument matches any of them.|:/// A base class for entries in a Material Design popup menu. /// /// The popup menu widget uses this interface to interact with the menu items. /// To show a popup menu, use the [showMenu] function. To create a button that /// shows a popup menu, consider using [PopupMenuButton]. /// /// The type `T` is the type of the value(s) the entry represents. All the /// entries in a given menu must represent values with consistent types. /// /// A [PopupMenuEntry] may represent multiple values, for example a row with /// several icons, or a single entry, for example a menu item with an icon (see /// [PopupMenuItem]), or no value at all (for example, [PopupMenuDivider]). /// /// See also: /// /// * [PopupMenuItem], a popup menu entry for a single value. /// * [PopupMenuDivider], a popup menu entry that is just a horizontal line. /// * [CheckedPopupMenuItem], a popup menu item with a checkmark. /// * [showMenu], a method to dynamically show a popup menu at a given location. /// * [PopupMenuButton], an [IconButton] that automatically shows a menu when /// it is tapped.} !ʑޑ   *u/// Creates a horizontal divider for a popup menu. /// /// By default, the divider has a height of 16 logical pixels.st)iC/// The height of the divider entry. /// /// Defaults to 16 pixels.""v/// The thickness of the line drawn within the [PopupMenuDivider]. /// /// {@macro flutter.material.Divider.thickness}“0}/// The amount of empty space to the leading edge of the [PopupMenuDivider]. /// /// {@macro flutter.material.Divider.indent}c̀c/// The amount of empty space to the trailing edge of the [PopupMenuDivider]. /// /// {@macro flutter.material.Divider.endIndent}qs/// The amount of radius for the border of the [PopupMenuDivider]. /// /// {@macro flutter.material.Divider.radius}ိ/// {@macro flutter.material.Divider.color} /// /// {@tool snippet} /// /// ```dart /// const PopupMenuDivider( /// color: Colors.deepOrange, /// ) /// ``` /// {@end-tool}  1 ! ND22>ȁ/// A horizontal divider in a Material Design popup menu. /// /// This widget adapts the [Divider] for use in popup menus. /// /// See also: /// /// * [PopupMenuItem], for the kinds of items that this widget divides. /// * [showMenu], a method to dynamically show a popup menu at a given location. /// * [PopupMenuButton], an [IconButton] that automatically shows a menu when /// it is tapped.̖rrJx!##1;;J@oV!o|}||m''&A퀍ؘ؁ њ욱B  99H}($>?>>VO~~\i pp v  &  ##(99GƣTP/// Creates an item for a popup menu. /// /// By default, the item is [enabled].ޣ W]L/// The value that will be returned by [showMenu] if this entry is selected.D(/// Called when the menu item is tapped./// Whether the user is permitted to select this item. /// /// Defaults to true. If this is false, then the item will not react to /// touches.00_/// The minimum height of the menu item. /// /// Defaults to [kMinInteractiveDimension] pixels.Z;&Z/// The padding of the menu item. /// /// The [height] property may interact with the applied padding. For example, /// If a [height] greater than the height of the sum of the padding and [child] /// is provided, then the padding's effect will not be visible. /// /// If this is null and [ThemeData.useMaterial3] is true, the horizontal padding /// defaults to 12.0 on both sides. /// /// If this is null and [ThemeData.useMaterial3] is false, the horizontal padding /// defaults to 16.0 on both sides.rfr/// The text style of the popup menu item. /// /// If this property is null, then [PopupMenuThemeData.textStyle] is used. /// If [PopupMenuThemeData.textStyle] is also null, then [TextTheme.titleMedium] /// of [ThemeData.textTheme] is used.+/// The label style of the popup menu item. /// /// When [ThemeData.useMaterial3] is true, this styles the text of the popup menu item. /// /// If this property is null, then [PopupMenuThemeData.labelTextStyle] is used. /// If [PopupMenuThemeData.labelTextStyle] is also null, then [TextTheme.labelLarge] /// is used with the [ColorScheme.onSurface] color when popup menu item is enabled and /// the [ColorScheme.onSurface] color with 0.38 opacity when the popup menu item is disabled.]"/// {@template flutter.material.popupmenu.mouseCursor} /// The cursor for a mouse pointer when it enters or is hovering over the /// widget. /// /// If [mouseCursor] is a [WidgetStateMouseCursor], /// [WidgetStateProperty.resolve] is used for the following [WidgetState]s: /// /// * [WidgetState.hovered]. /// * [WidgetState.focused]. /// * [WidgetState.disabled]. /// {@endtemplate} /// /// If null, then the value of [PopupMenuThemeData.mouseCursor] is used. If /// that is also null, then [WidgetStateMouseCursor.adaptiveClickable] is used.4'4 /// The widget below this widget in the tree. /// /// Typically a single-line [ListTile] (for menus with icons) or a [Text]. An /// appropriate [DefaultTextStyle] is put in scope for the child. In either /// case, the text should be short enough that it won't wrap.ZZ]>?>>=Ou^І1/// An item in a Material Design popup menu. /// /// To show a popup menu, use the [showMenu] function. To create a button that /// shows a popup menu, consider using [PopupMenuButton]. /// /// To show a checkmark next to a popup menu item, consider using /// [CheckedPopupMenuItem]. /// /// Typically the [child] of a [PopupMenuItem] is a [Text] widget. More /// elaborate menus with icons can use a [ListTile]. By default, a /// [PopupMenuItem] is [kMinInteractiveDimension] pixels high. If you use a widget /// with a different height, it must be specified in the [height] property. /// /// {@tool snippet} /// /// Here, a [Text] widget is used with a popup menu item. The `Menu` type /// is an enum, not shown here. /// /// ```dart /// const PopupMenuItem( /// value: Menu.itemOne, /// child: Text('Item 1'), /// ) /// ``` /// {@end-tool} /// /// See the example at [PopupMenuButton] for how this example could be used in a /// complete menu, and see the example at [CheckedPopupMenuItem] for one way to /// keep the text of [PopupMenuItem]s that use [Text] widgets in their [child] /// slot aligned with the text of [CheckedPopupMenuItem]s or of [PopupMenuItem] /// that use a [ListTile] in their [child] slot. /// /// See also: /// /// * [PopupMenuDivider], which can be used to divide items from each other. /// * [CheckedPopupMenuItem], a variant of [PopupMenuItem] with a checkmark. /// * [showMenu], a method to dynamically show a popup menu at a given location. /// * [PopupMenuButton], an [IconButton] that automatically shows a menu when /// it is tapped.333666&'gg;/// The menu item contents. /// /// Used by the [build] method. /// /// By default, this returns [PopupMenuItem.child]. Override this to put /// something else in the menu entry.EF\\W/// The handler for when the user selects the menu item. /// /// Used by the [InkWell] inserted by the [build] method. /// /// By default, uses [Navigator.pop] to return the [PopupMenuItem.value] from /// the menu route.22?  ,A<A<ALAA A,/// Builds the semantic wrapper for the popup menu item. /// /// This method creates the [Semantics] widget that provides accessibility /// information for the menu item. By default, it sets the semantic role to /// [SemanticsRole.menuItem] and includes the enabled state and button flag. /// /// Subclasses can override this method to customize the semantic properties. /// For example, [CheckedPopupMenuItem] overrides this to use /// [SemanticsRole.menuItemCheckbox] and include checked state information. !/// The [State] for [PopupMenuItem] subclasses. /// /// By default this implements the basic styling and layout of Material Design /// popup menu items. /// /// The [buildChild] method can be overridden to adjust exactly what gets placed /// in the menu. By default it returns [PopupMenuItem.child]. /// /// The [handleTap] method can be overridden to adjust exactly what happens when /// the item is tapped. By default, it uses [Navigator.pop] to return the /// [PopupMenuItem.value] from the menu route. /// /// This class takes two type arguments. The second, `W`, is the exact type of /// the [Widget] that is using this [State]. It must be a subclass of /// [PopupMenuItem]. The first, `T`, must match the type argument of that widget /// class, and is the type of values returned from this menu.LL LL LLL LLLLLL LLL MMM MM#M#M)M=M=MCMTMT MZMeMe MkLKK⁕/// Creates a popup menu item with a checkmark. /// /// By default, the menu item is [enabled] but unchecked. To mark the item as /// checked, set [checked] to true.KKKNM{:N/// Whether to display a checkmark next to the menu item. /// /// Defaults to false. /// /// When true, an [Icons.done] checkmark is displayed. /// /// When this popup menu item is selected, the checkmark will fade in or out /// as appropriate to represent the implied new state.PPNNP)H/// The widget below this widget in the tree. /// /// Typically a [Text]. An appropriate [DefaultTextStyle] is put in scope for /// the child. The text should be short enough that it won't wrap. /// /// This widget is placed in the [ListTile.title] slot of a [ListTile] whose /// [ListTile.leading] slot is an [Icons.done] icon.PBPCPBPBlP}AAK/// An item with a checkmark in a Material Design popup menu. /// /// To show a popup menu, use the [showMenu] function. To create a button that /// shows a popup menu, consider using [PopupMenuButton]. /// /// A [CheckedPopupMenuItem] is kMinInteractiveDimension pixels high, which /// matches the default minimum height of a [PopupMenuItem]. The horizontal /// layout uses [ListTile]; the checkmark is an [Icons.done] icon, shown in the /// [ListTile.leading] position. /// /// {@tool snippet} /// /// Suppose a `Commands` enum exists that lists the possible commands from a /// particular popup menu, including `Commands.heroAndScholar` and /// `Commands.hurricaneCame`, and further suppose that there is a /// `_heroAndScholar` member field which is a boolean. The example below shows a /// menu with one menu item with a checkmark that can toggle the boolean, and /// one menu item without a checkmark for selecting the second option. (It also /// shows a divider placed between the two menu items.) /// /// ```dart /// PopupMenuButton( /// onSelected: (Commands result) { /// switch (result) { /// case Commands.heroAndScholar: /// setState(() { _heroAndScholar = !_heroAndScholar; }); /// case Commands.hurricaneCame: /// // ...handle hurricane option /// break; /// // ...other items handled here /// } /// }, /// itemBuilder: (BuildContext context) => >[ /// CheckedPopupMenuItem( /// checked: _heroAndScholar, /// value: Commands.heroAndScholar, /// child: const Text('Hero and scholar'), /// ), /// const PopupMenuDivider(), /// const PopupMenuItem( /// value: Commands.hurricaneCame, /// child: ListTile(leading: Icon(null), title: Text('Bring hurricane')), /// ), /// // ...other items listed here /// ], /// ) /// ``` /// {@end-tool} /// /// In particular, observe how the second menu item uses a [ListTile] with a /// blank [Icon] in the [ListTile.leading] position to get the same alignment as /// the item with the checkmark. /// /// See also: /// /// * [PopupMenuItem], a popup menu entry for picking a command (as opposed to /// toggling a value). /// * [PopupMenuDivider], a popup menu entry that is just a horizontal line. /// * [showMenu], a method to dynamically show a popup menu at a given location. /// * [PopupMenuButton], an [IconButton] that automatically shows a menu when /// it is tapped.PPPQ_QgQyQtQhQvQOQ9AQOQQ~$QQQ3QQQQQ݁QRRRRPS SMSNSMSMS^TKTKT[T(T)T(T(T;UUUUU.PP5PYY(Y/Y/ Y5Y>Y>YLYZYZYhYsYsYYYYYYYYYXXXYYYZ YZ Z!ZZ!ZHZ2!ZHZbZWZbZsZtZsZsGZXXXZZZ[[2[3[![1["[Z<[[9[:[9[9N[J[[![[[[[[\\~\_!_"_!_!_2_______o_ZZdZllll llllllllllmm m mmmllmm}mnnnnnnnn!no4o)o4oooppppypzpypy5pqq qqqqqqqq0qvvw ww wvvvxx xx"x"x'x2x2x9ww|x{{!{{}{~{}{}{lNlNlT~]~l~s~s ~x~~~~~~~~~~~~~~~ 11?QQVii nyy~  ##('DJhUf_Vbk|l ~]~]~~@~@~@/P2#PoYo{ =*=`F%`|o|#!)++%_RSRR0g,:;::X.==$Ozz{P ~*~*!~0P_ff luu  $$)??(Dmmr     ++ 0;;@OOThhm~~  "NT^_bfc7=^>?]NF@IVQY`x-/// Creates a button that shows a popup menu.zN/// Called when the button is pressed to create the items to show in the menu.xoxW/// The value of the menu item, if any, that should be highlighted when the menu opens.G(/// Called when the popup menu is shown.Հ/// Called when the user selects a value from the popup menu created by this button. /// /// If the popup menu is dismissed without selecting a value, [onCanceled] is /// called instead.xǀx/// Called when the user dismisses the popup menu without selecting an item. /// /// If the user selects a value, [onSelected] is called instead.WW/// Text that describes the action that will occur when the button is pressed. /// /// This text is displayed when the user long-presses on the button and is /// used for accessibility./c//// The z-coordinate at which to place the menu when open. This controls the /// size of the shadow below the menu. /// /// Defaults to 8, the appropriate elevation for popup menus.== =/// The color used to paint the shadow below the menu. /// /// If null then the ambient [PopupMenuThemeData.shadowColor] is used. /// If that is null too, then the overall theme's [ThemeData.shadowColor] /// (default black) is used.Mo/// The color used as an overlay on [color] to indicate elevation. /// /// This is not recommended for use. [Material 3 spec](https://m3.material.io/styles/color/the-color-system/color-roles) /// introduced a set of tone-based surfaces and surface containers in its [ColorScheme], /// which provide more flexibility. The intention is to eventually remove surface tint color from /// the framework. /// /// If null, [PopupMenuThemeData.surfaceTintColor] is used. If that /// is also null, the default value is [Colors.transparent]. /// /// See [Material.surfaceTintColor] for more details on how this /// overlay is applied.݀/// Matches IconButton's 8 dps padding by default. In some cases, notably where /// this button appears as the trailing element of a list item, it's useful to be able /// to set the padding to zero.%G%/// If provided, menu padding is used for empty space around the outside /// of the popup menu. /// /// If this property is null, then [PopupMenuThemeData.menuPadding] is used. /// If [PopupMenuThemeData.menuPadding] is also null, then vertical padding /// of 8 pixels is used.ŭ5ŭc/// The splash radius. /// /// If null, default splash radius of [InkWell] or [IconButton] is used.CžCr/// If provided, [child] is the widget used for this button /// and the button will utilize an [InkWell] for taps.M/// The border radius for the [InkWell] that wraps the [child]. /// /// Defaults to null, which indicates no border radius should be applied.ǁǁh/// If provided, the [icon] is used for this button /// and the button will behave like an [IconButton].1NJ1/// The offset is applied relative to the initial position /// set by the [position]. /// /// When not set, the offset defaults to [Offset.zero].b<-b/// Whether this popup menu button is interactive. /// /// Defaults to true. /// /// If true, the button will respond to presses by displaying the menu. /// /// If false, the button is styled with the disabled color from the /// current [Theme] and will not respond to presses or show the popup /// menu and [onSelected], [onCanceled] and [itemBuilder] will not be called. /// /// This can be useful in situations where the app needs to show the button, /// but doesn't currently have anything to show in the menu.naʁ for /// more details. /// /// The [MenuAnchor] widget's API is also slightly different. /// [MenuAnchor]'s were built to be lower level interface for /// creating menus that are displayed from an anchor. /// /// There are a few steps you would take to migrate from /// [PopupMenuButton] to [MenuAnchor]: /// /// 1. Instead of using the [PopupMenuButton.itemBuilder] to build /// a list of [PopupMenuEntry]s, you would use the [MenuAnchor.menuChildren] /// which takes a list of [Widget]s. Usually, you would use a list of /// [MenuItemButton]s as shown in the example below. /// /// 2. Instead of using the [PopupMenuButton.onSelected] callback, you would /// set individual callbacks for each of the [MenuItemButton]s using the /// [MenuItemButton.onPressed] property. /// /// 3. To anchor the [MenuAnchor] to a widget, you would use the [MenuAnchor.builder] /// to return the widget of choice - usually a [TextButton] or an [IconButton]. /// /// 4. You may want to style the [MenuItemButton]s, see the [MenuItemButton] /// documentation for details. /// /// Use the sample below for an example of migrating from [PopupMenuButton] to /// [MenuAnchor]. /// /// {@tool dartpad} /// This example shows a menu with three items, selecting between an enum's /// values and setting a `selectedMenu` field based on the selection. /// /// ** See code in examples/api/lib/material/popup_menu/popup_menu.0.dart ** /// {@end-tool} /// /// {@tool dartpad} /// This example shows how to migrate the above to a [MenuAnchor]. /// /// ** See code in examples/api/lib/material/menu_anchor/menu_anchor.2.dart ** /// {@end-tool} /// /// {@tool dartpad} /// This sample shows the creation of a popup menu, as described in: /// https://m3.material.io/components/menus/overview /// /// ** See code in examples/api/lib/material/popup_menu/popup_menu.1.dart ** /// {@end-tool} /// /// {@tool dartpad} /// This sample showcases how to override the [PopupMenuButton] animation /// curves and duration using [AnimationStyle]. /// /// ** See code in examples/api/lib/material/popup_menu/popup_menu.2.dart ** /// {@end-tool} /// /// See also: /// /// * [PopupMenuItem], a popup menu entry for a single value. /// * [PopupMenuDivider], a popup menu entry that is just a horizontal line. /// * [CheckedPopupMenuItem], a popup menu item with a checkmark. /// * [showMenu], a method to dynamically show a popup menu at a given location.ܼܼܼ<$'<ZO!Zt"EENݛݜݛݛmݬ ߀/// Caches some objects relying on context used in _positionBuilder() /// to avoid crashing when the popup menu is inactive. /// See https://github.com/flutter/flutter/issues/171422 for more details.Ԁmmz``O/// A method to show a popup menu with the items supplied to /// [PopupMenuButton.itemBuilder] at the position of your [PopupMenuButton]. /// /// By default, it is called when the user taps the button and [PopupMenuButton.enabled] /// is set to `true`. Moreover, you can open the button by calling the method manually. /// /// You would access your [PopupMenuButtonState] using a [GlobalKey] and /// show the menu of the button with `globalKey.currentState.showButtonMenu`.YZfgYYyܧ/// The [State] for a [PopupMenuButton]. /// /// See [showButtonMenu] for a way to programmatically open the popup menu /// of your button state.$%%*88= AaNaq4Xʂ6<PQQ Vafupgr<<;{/2 P?FGFFUbUijj o~UU?/ 3BHI5 25   QWXWW&'&&9=cdcc5z>yU! )#66&W``css{  <<L[[`||#3ost/// Shows a popup menu that contains the `items` at `position`. /// /// The `items` parameter must not be empty. /// /// Only one of [position] or [positionBuilder] should be provided. Providing both /// throws an assertion error. The [positionBuilder] is called at the time the /// menu is shown to compute its position and every time the layout is updated, /// which is useful when the position needs /// to be determined at runtime based on the current layout. /// /// If `initialValue` is specified then the first item with a matching value /// will be highlighted and the value of `position` gives the rectangle whose /// vertical center will be aligned with the vertical center of the highlighted /// item (when possible). /// /// If `initialValue` is not specified then the top of the menu will be aligned /// with the top of the `position` rectangle. /// /// In both cases, the menu position will be adjusted if necessary to fit on the /// screen. /// /// Horizontally, the menu is positioned so that it grows in the direction that /// has the most room. For example, if the `position` describes a rectangle on /// the left edge of the screen, then the left edge of the menu is aligned with /// the left edge of the `position`, and the menu grows to the right. If both /// edges of the `position` are equidistant from the opposite edge of the /// screen, then the ambient [Directionality] is used as a tie-breaker, /// preferring to grow in the reading direction. /// /// The positioning of the `initialValue` at the `position` is implemented by /// iterating over the `items` to find the first whose /// [PopupMenuEntry.represents] method returns true for `initialValue`, and then /// summing the values of [PopupMenuEntry.height] for all the preceding widgets /// in the list. /// /// The `elevation` argument specifies the z-coordinate at which to place the /// menu. The elevation defaults to 8, the appropriate elevation for popup /// menus. /// /// The `context` argument is used to look up the [Navigator] and [Theme] for /// the menu. It is only used when the method is called. Its corresponding /// widget can be safely removed from the tree before the popup menu is closed. /// /// The `useRootNavigator` argument is used to determine whether to push the /// menu to the [Navigator] furthest from or nearest to the given `context`. It /// is `false` by default. /// /// The `semanticLabel` argument is used by accessibility frameworks to /// announce screen transitions when the menu is opened and closed. If this /// label is not provided, it will default to /// [MaterialLocalizations.popupMenuLabel]. /// /// The `clipBehavior` argument is used to clip the shape of the menu. Defaults to /// [Clip.none]. /// /// The `requestFocus` argument specifies whether the menu should request focus /// when it appears. If it is null, [Navigator.requestFocus] is used instead. /// /// See also: /// /// * [PopupMenuItem], a popup menu entry for a single value. /// * [PopupMenuDivider], a popup menu entry that is just a horizontal line. /// * [CheckedPopupMenuItem], a popup menu item with a checkmark. /// * [PopupMenuButton], which provides an [IconButton] that shows a menu by /// calling this method automatically. /// * [SemanticsConfiguration.namesRoute], for a description of edge triggered /// semantics.te;t̄Ȅ΄/' 3 SOU>13>sf#s&MM\B/// A builder that creates a [RelativeRect] to position a popup menu. /// Both [BuildContext] and [BoxConstraints] are from the [PopupRoute] that /// displays this menu. /// /// The returned [RelativeRect] determines the position of the popup menu relative /// to the bounds of the [Navigator]'s overlay. The menu dimensions are not yet /// known when this callback is invoked, as they depend on the items and other /// properties of the menu. /// /// The coordinate system used by the [RelativeRect] has its origin at the top /// left of the [Navigator]'s overlay. Positive y coordinates are down (below the /// origin), and positive x coordinates are to the right of the origin. /// /// See also: /// /// * [RelativeRect.fromLTRB], which creates a [RelativeRect] from left, top, /// right, and bottom coordinates. /// * [RelativeRect.fromRect], which creates a [RelativeRect] from two [Rect]s, /// one representing the size of the popup menu and one representing the size /// of the overlay. t/// Signature for the callback invoked when a menu item is selected. The /// argument is the value of the [PopupMenuItem] that caused its menu to be /// dismissed. /// /// Used by [PopupMenuButton.onSelected].J/// Signature for the callback invoked when a [PopupMenuButton] is dismissed /// without selecting an item. /// /// Used by [PopupMenuButton.onCanceled].(((pp/// Signature used by [PopupMenuButton] to lazily construct the items shown when /// the button is pressed. /// /// Used by [PopupMenuButton.itemBuilder].menu_anchor.darttext_button.dartT<Ȁ2[ȁ(?Zoׂ7Lcd|̓-deӄ1fEΆ҇fjSWei9ډ)zŠ#)vÌ*?@x~͍o .4ԏ/12lpÐ ^.4uƑڑ &'NTq}ڒ-.}ʓ˔!Sno>DZ`nҕ*oqr8UpVؙSTyzQw{}~!W7;Yv½KqھBH@2@8@@AA#AVAlAAAAAAAAB#B'BvBBCCLCCCCCD&DiDDEJEEEEFF'FAFiFFFGG8GBGKGGGH H;HFHhHHIII9IBIHIPI`IdIJJ#J'J5J9JJJKCKKKLLLhLLLLLLM MM9MPMaMrMxMyMMMMNNNhNNNNNO>OOOPPP?P@PLPPPQ Q7Q|QQQQQRR_RRRRRRRRSSS1SFSJSKSWSlSSSSTT T!T%T&T2TeT{TTTTU UUUU%U=UlUUVVBVVW.WHWjWWWXX6XUXXXXXXXXXYY+Y:YVYoYYYYYYZZ0ZUZpZqZ}ZZZZ[6[7[C[X[o[[[[[[\<\{\\\\\\]] ];]S]a]^^+^o^^^____+_>_v________``j``aa?agaaabb.b]bbbcc&cHcvccccccd>dxddde e,eeeeeff8f\ffggAgNgYgbgigjggghhCh^hii/iTiij/jMj~jjjk,kpkkkkkllll!l#l$lNlllllmmm*m/m0m{mmmnnn nmnnnnooo'o=o>oooopOpvpwppqq+qLqgqqqqqrrrErkrrrs snsst9tRt_ttu!uMuVu\uuv#v=vPvWvvvvw"wDwhwwwwwwwxKxmxxy yMyyz4z:zxz{{V{\{]{v{z{{{{| |X|||}}P}}}~#~'~)~*~[~o~~~~~~-Meu=L W0Wy (Dm78Dl;QIOP\9ci5Zdlr9Y{.F_{`yKXclswx1FJLMN \ [#:] s>{j [gk Z:koECNR;?C@QU H'Q4^q :Yz/9n=^}H*Hj<Pp9i/>BlBop ef (,  @Di EJNBW*.{c "ei%Z^MQQHbq ;i'7Kdz 0m*0])G`a:;tz.JKl1pv¹Gà2KQĠ 23LRŝŻż3JKƍƓ:qLJLj"9:ouȍȓ)qUklʜʢ8˂˵ \̓X^ͫ()y(.ϝϞCfЀЁЯе"@HRXѧ Afgҷҽ 39ӊ&X}~ԴԺ%@AՎռJsy`ױ%ouؽ01]cيٰٱ@ڒ"#Y_۝۹ۺ 8<܇ܡ"Mrݘݙݥ Rދ ?@ߋ߸8K}R\pfjkp ST:O=%Qh ,34Y]^MHb1Ml9Oz1\ C[r| .8>BCa!KRVWdp<e}7aLk)1rxy@a, fKLo5]:xy CDP$%hSxTU,`#$0`amXY45#$R_kMenuDuration_kMenuCloseIntervalEnd_kMenuDividerHeight_kMenuMaxWidth_kMenuMinWidth_kMenuWidthStep_kMenuScreenPaddingPopupMenuEntryPopupMenuDivider_PopupMenuDividerState _MenuItem_RenderMenuItem PopupMenuItemPopupMenuItemStateCheckedPopupMenuItem_CheckedPopupMenuItemState _PopupMenu_PopupMenuState_PopupMenuRouteLayout_PopupMenuRouteshowMenuPopupMenuButtonPopupMenuButtonState_EffectiveMouseCursor_PopupMenuDefaultsM2_PopupMenuDefaultsM3&flutter.material.popupmenu.mouseCursorThe cursor for a mouse pointer when it enters or is hovering over the widget. If [mouseCursor] is a [WidgetStateMouseCursor], [WidgetStateProperty.resolve] is used for the following [WidgetState]s: * [WidgetState.hovered]. * [WidgetState.focused]. * [WidgetState.disabled].