stateupdateShouldNotify controllerchildFocusNodestylealignmentOffset layerLink clipBehavioranchorTapClosesMenuconsumeOutsideTaponOpenonClosecrossAxisUnconstraineduseRootOverlay menuChildrenbuilderchildreservedPadding createStatedebugDescribeChildrendebugFillProperties _orientation_menuController_internalMenuController_menuScopeNode_parent initStatedidUpdateWidgetdisposebuild _buildOverlay_root _focusButton_focusFirstMenuItem_focusLastMenuItem_maybeOftoStringchildren onPressedonHoverrequestFocusOnHover onFocusChange focusNode autofocusshortcutsemanticsLabelstatesController leadingIcon trailingIconcloseOnActivate overflowAxisenableddefaultStyleOf themeStyleOf styleFrom_internalFocusNode _focusNode_anchor _isHovered_handleFocusChange_handlePointerExit_handlePointerHover _handleSelect _createInternalFocusNodeIfNeededvaluetristateisError onChanged groupValue toggleable menuStyle submenuIconactions_waitingToFocusMenu_isOpenOnFocusEnabled _anchorState _anchorKey_buttonFocusNode_enabled_onClose_onOpen_computeMenuPaddingsubmenu _controller isSubmenu_buttoninvoke _instance_shortcutGraphicEquivalents _modifiersinstance_cachedShortcutKeysgetShortcutLabel_getLocalizedName_getModifierLabelonInvoke hasSubmenumaybeOfoflabel displayLabelhasAcceleratordefaultLabelBuilderstripAcceleratorMarkers _displayLabel_acceleratorIndex_binding_shortcutRegistry_shortcutRegistryEntry_showAcceleratorsdidChangeDependencies _altIsPressed_listenToKeyEvent_updateAcceleratorShortcut_updateDisplayLabelshowDecoration anchorRect textDirection alignment menuPosition menuPadding avoidBounds orientationparentOrientationgetConstraintsForChildgetPositionForChildshouldRelayout_closestScreenscrollController_intrinsicCrossSize menuScopeNodeanchorconsumeOutsideTapsresolveCallbackresolvedebugDescription_defaultMenuBordercontext_colorsbackgroundColor shadowColorsurfaceTintColorpadding visualDensity _textTheme elevationforegroundColor iconColoriconSize maximumSize minimumSize mouseCursor overlayColorshape splashFactory tapTargetSize textStyle_scaledPadding( _kDebugMenus_kDefaultSubmenuIconSize_kLabelItemDefaultSpacing_kLabelItemMinSpacing_kMenuTraversalShortcuts_kMenuVerticalMinPadding_kMenuViewPadding"_kTopLevelMenuHorizontalMinPaddingMenuAnchorChildBuilder_MenuAnchorScope MenuAnchor_MenuAnchorStateMenuBarMenuItemButton_MenuItemButtonStateCheckboxMenuButtonRadioMenuButton SubmenuButton_SubmenuButtonState_SubmenuDirectionalFocusAction_LocalizedShortcutLabeler_MenuBarAnchor_MenuBarAnchorStateMenuAcceleratorCallbackBindingMenuAcceleratorChildBuilderMenuAcceleratorLabel_MenuAcceleratorLabelState_MenuItemLabel _MenuLayout _MenuPanel_MenuPanelState_Submenu _MouseCursor_debugMenuInfo _isCupertino_usesSymbolicModifiers_platformSupportsAccelerators_MenuBarDefaultsM3_MenuButtonDefaultsM3_MenuDefaultsM3XbooldoubleMapShortcutActivatorIntentSingleActivatorLogicalKeyboardKey gameButtonAActivateIntentescape DismissIntenttabNextFocusIntentshiftPreviousFocusIntent arrowDownDirectionalFocusIntentTraversalDirectiondownarrowUpup arrowLeftleft arrowRightrightbuilderMenuControllerchildWidget BuildContextInheritedWidgetoverridestate MenuStyle visualDensityStatefulWidgetOffsetzeroCliphardEdge Deprecated FocusNode MenuThemeDatastyle alignmentDirectionalitydyAlignmentDirectional Alignmentdx TextDirectionrtl LayerLinkcloseopen VoidCallbackUnconstrainedBox DropdownMenuListEdgeInsetsGeometryStateDiagnosticsNodemaptoDiagnosticsNodetoListvoidDiagnosticPropertiesBuilderdebugFillPropertiesadd FlagPropertyvalueifTrueDiagnosticsProperty EnumPropertyAxisverticalwidget controllerFocusScopeNode_maybeOfcontext initStatedidUpdateWidgetdispose RawMenuAnchoruseRootOverlayonOpenonCloseconsumeOutsideTapsconsumeOutsideTapchildFocusNodeoverlayBuilder layerLinkCompositedTransformTargetlinkRawMenuOverlayInfo menuScopeNode menuStyle clipBehavior menuChildrencrossAxisUnconstrained menuPositionanchoralignmentOffsetreservedPaddingall_parent requestFocusmountedFocusTraversalPolicyFocusTraversalGroupmaybeOfReadingOrderTraversalPolicyfindFirstFocusignoreCurrentFocus findLastFocusgetInheritedWidgetOfExactTypeStringDiagnosticLeveldebugdescribeIdentityCharacterActivatorshortcutShortcutRegistry WidgetsApp MaterialApp CupertinoAppPlatformMenuBarVoidCallbackIntentActions ShortcutsCallbackShortcutsStatelessWidgetnonedebugCheckHasOverlayitem defaultValue horizontal ValueChangedMenuSerializableShortcut SemanticsWidgetStateProperty ButtonStyleMaterialStatesControllerTextMenuButtonThemeDataMenuButtonThemeofforegroundColorbackgroundColordisabledForegroundColordisabledBackgroundColorenabledMouseCursordisabledMouseCursor mouseCursor iconColordisabledIconColoriconSizeColor TextStyleSize MouseCursor BorderSideOutlinedBorder VisualDensityMaterialTapTargetSizeDurationAlignmentGeometryInteractiveInkFeatureFactory TextButton styleFrom shadowColorsurfaceTintColor textStyle overlayColor elevationpadding minimumSize fixedSize maximumSizesideshape tapTargetSizeanimationDurationenableFeedback splashFactoryifFalse focusNode addListenerremoveListener themeStyleOfmergedefaultStyleOf onPressedenabled onFocusChange autofocusstatesControllerisSemanticButtonkIsWeb leadingIconsemanticsLabel trailingIcon hasSubmenu overflowAxis _orientationonInvokeonHoverrequestFocusOnHover MouseRegiononExitMergeSemanticshasPrimaryFocus closeChildrenPointerExitEventcallPointerHoverEventinvalidateScopeData FocusScopecloseOnActivate_root_menuControllerSchedulerBindinginstanceaddPostFrameCallback FocusManagerapplyFocusChangesIfNeeded debugLabelCheckbox CheckboxTheme ThemeData useMaterial3setStatekey ExcludeFocus IgnorePointerConstrainedBox constraintsBoxConstraints maxHeightwidthmaxWidthtristate onChangedisErrorRadio RadioTheme groupValue toggleablePlatformMenuItem MenuTheme WidgetStatedisabledhoveredfocused submenuIconTypeActionsubmenu currentState GlobalKey isNotEmpty EdgeInsetsltrtophasFocusresolveIconIcons arrow_rightsizeactionsisOpenexpandedshowDecoration_menuScopeNodeDirectionalFocusAction _anchorState_buttonFocusNode direction previousFocus nextFocus_focusFirstMenuItem_focusLastMenuItem _focusButton maybeInvokeenterSetaltcontrolmetaaltLeft controlLeftmetaLeft shiftLeftaltRight controlRight metaRight shiftRight_MaterialLocalizationsdefaultTargetPlatformTargetPlatformmacOSiOSShortcutSerializationserializeForMenutriggerintkeyId containsKey planeMask fromCharCode valueMask toUpperCasekeyLabeljoin characterUnimplementedErroraltGraphkeyboardKeyAltGraph backspacekeyboardKeyBackspacecapsLockkeyboardKeyCapsLock channelDownkeyboardKeyChannelDown channelUpkeyboardKeyChannelUpdeletekeyboardKeyDeleteejectkeyboardKeyEjectendkeyboardKeyEndkeyboardKeyEscapefn keyboardKeyFnhomekeyboardKeyHomeinsertkeyboardKeyInsertnumLockkeyboardKeyNumLocknumpad1keyboardKeyNumpad1numpad2keyboardKeyNumpad2numpad3keyboardKeyNumpad3numpad4keyboardKeyNumpad4numpad5keyboardKeyNumpad5numpad6keyboardKeyNumpad6numpad7keyboardKeyNumpad7numpad8keyboardKeyNumpad8numpad9keyboardKeyNumpad9numpad0keyboardKeyNumpad0 numpadAddkeyboardKeyNumpadAdd numpadCommakeyboardKeyNumpadComma numpadDecimalkeyboardKeyNumpadDecimal numpadDividekeyboardKeyNumpadDivide numpadEnterkeyboardKeyNumpadEnter numpadEqualkeyboardKeyNumpadEqualnumpadMultiplykeyboardKeyNumpadMultiplynumpadParenLeftkeyboardKeyNumpadParenLeftnumpadParenRightkeyboardKeyNumpadParenRightnumpadSubtractkeyboardKeyNumpadSubtractpageDownkeyboardKeyPageDownpageUpkeyboardKeyPageUppowerkeyboardKeyPowerpowerOffkeyboardKeyPowerOff printScreenkeyboardKeyPrintScreen scrollLockkeyboardKeyScrollLockselectkeyboardKeySelectspacekeyboardKeySpacecontainsandroidfuchsialinuxkeyboardKeyMetawindowskeyboardKeyMetaWindowskeyboardKeyAltkeyboardKeyControlkeyboardKeyShift ArgumentErrorDismissMenuAction shortcuts orientationchildrenRawMenuAnchorGroupBuilder maybeIsOpenOfnode skipTraversalcanRequestFocusdescendantsAreFocusable excluding"dependOnInheritedWidgetOfExactType FlutterErrorlabel CharactersdefaultLabelBuilder primaryFocusRichTextTextSpanRegExphasMatchDefaultTextStyle characterstextgetRangetoStringcopyWith decorationTextDecoration underlinelengthsetIndex StringBufferi characterAtwritetriminfoStringPropertyShortcutRegistryEntryHardwareKeyboard addHandler removeHandlerdidChangeDependencieslogicalKeysPressed intersectionKeyEvent toLowerCaseaddAllstripAcceleratorMarkersindexThememaxExpandedClipRectRow mainAxisSize MainAxisSizeminPaddingEdgeInsetsDirectionalonlystartmainAxisAlignmentMainAxisAlignment spaceBetweengetShortcutLabelexcludeSemanticsSingleChildLayoutDelegateRectloosebiggestdeflate withinRecttopLeftIterableDisplayFeatureSubScreensubScreensInBoundscenterheightbottom anchorRect textDirection menuPaddingparentOrientation setEquals avoidBoundsfirstscreendistanceScrollController MenuBarTheme themeStyle defaultStylestandardbaseSizeAdjustment symmetricclampinfinityeffectiveConstraintsminWidth minHeight constrainisFiniteIntrinsicWidthMaterialcolortype MaterialType transparencycanvasScrollConfigurationbehavior scrollbars overscrollphysicsClampingScrollPhysicsPrimaryScrollController ScrollbarthumbVisibilitySingleChildScrollViewscrollDirectionFlexcrossAxisAlignmentCrossAxisAlignmentconstrainedAxis centerStartIntrinsicHeightWidgetStateMouseCursorstatesfromLTRB TapRegiongroupIdtapRegionGroupId onTapOutsidePointerDownEventcursorhitTestBehaviorHitTestBehavior deferToChilddata overlaySizeMediaQueryData MediaQueryCustomSingleChildLayoutdelegatetoSetpositionCompositedTransformFollower targetAnchor bottomLeft uncontrolledWidgetPropertyResolver debugPrintdetailsdetailMaterialStatePropertyAll bottomStartRoundedRectangleBorder borderRadius BorderRadiusRadiuscircular ColorScheme colorSchemesurfaceContainershadowColors transparentkThemeChangeDuration TextTheme textThemeButtonStyleButton allOrNull resolveWith onSurface withOpacitypressedonSurfaceVariantinfiniteadaptiveClickablematerialTapTargetSize labelLargefontSize textScalerOfscale scaledPaddingtopEnd InheritedWidgetStatefulWidgetStateStatelessWidgetDirectionalFocusAction MenuAnchor_MenuAnchorStateSingleChildLayoutDelegateWidgetStateMouseCursor MenuStyle ButtonStyle&y; nmath dart:mathpackage:flutter/foundation.dartpackage:flutter/rendering.dartpackage:flutter/scheduler.dartpackage:flutter/services.dart/package:flutter/widgets.dartWbutton_style.dartsbutton_style_button.dart checkbox.dartcolor_scheme.dart colors.dartconstants.dart icons.dart ink_well.dart& material.dart>material_localizations.dartdmaterial_state.dartmenu_bar_theme.dartmenu_button_theme.dartmenu_style.dartmenu_theme.dart radio.dart scrollbar.dart#text_button.dart>text_theme.dartX theme.dartmtheme_data.dart<րڀ@clm݂.UVrɂ߂ %=cڃ "=Wl݅*HI12}ц҇Dlmˆd0RbόP|Čȍ+/wčҍHIzŽ'}+X\3#<@Tœɔ(,@ܕ)uyȕؕܕAMQPzӗ %5]wØ'-Sw™%+,zCIHBH}֞"g#tEޡ)ek¡â *0|֢ף 6QR3vƥ_Hߦ2Ҩ%>MsӨԩGM4DJcܪݫ67Ĭk$=Z[׭ݮ78kqNflȯ*0z˱JabղHIUAlݳ6{Q{ҵ7~ܷ%Tzָ AIOST`sɸ 4_rܹ3XϺ!5;<ڻFkܽ7K%Jjpɾ׾ݿ*UYZy@G@@@@@@AAEASAYAAB@B^BbBcBBBBBCEChClCnCoCCCDCDDDE,EzEFFeFuFyFGGgGGH$H(H`HHI=IIIIJJJJK0K|KKL LWLLLMBMRMeMiMMMMNN*NfNNOCOOOP2PhPPPQQQIQ[QjQzQQQQQRR%RoRuRRRRSS S;S<SqSSSST8TTTTU0UOUPU\UUUUV VV;VBVFVGVSVVVVWWWWSW~WX8X<X>X?XXXY%YrYYYYYYZ2Z?ZZZ[C[[[\2\h\\\]$]*]S]l]{]]]]]^^!^:^J^e^^^^^____U_[_____```]`c``aaa5a;aSauavaaabb1b2babbbbbcccEcqcrccd dPdddeeXeeeeeeff!frfggIgOgfgggggh'h-hLhghhhhhhiii[iiiiijjj7j=jjjkkJkgkmkkkkkl0l6lgl~lllmm+m,m8mymzmmmmn1nfnnnnno)oWo[o\oooppopqqVqcqiqqqr6rxrrrs+s1sxssstCttttttuAuYujuuuuuuuv v0vTvlvvvvvwww>wUwjwwwwwxxIxjxxxxxy'yOyyyz z%z?zkzzzzz{{9{g{{{{||1|W|s||||||}}{}}~J~Q~%[wOp&;Rz$CX\]i&Ls&*+7^Ge289X ?p 0_RQWX9?CDx'=s<_`19?CD]94`de<Q]cgij+zb!f';N^y"q U[Mzp5;6dj Ubh'-;Ut )QR@Ant,JK &w G78nt Ecd45fl0@ct6QvEf &HdDX_cef-x-1?CDJs 7K^n6<=Qhi@X^ \6OP.\b ^ 4T 9:()V\23sy_/x~ V\{-KLNT(K\m %Iey*9FQZ|ždhñKOĝ3EIœ7;IMƝƳ_u 7^dȢȺ+;Oiɐɤɿ#C\bcʩʯ8]^ˋˑ ![yz̴ -.Y_ͰB·΍ΤWuv9?Ў#$Z`уўџ&Z[ґҮү,MmӍӓ/CvwԬ &CDՉՏM]րց BYZfץצ]ؒؽ!UكهوIښ2ہێ۔ aܣV\ݣm޹"iߜ3W{-De| $Fp&Nv0Lx$@`,X~&bk fjlm:?c QP'9 ?CDPc6\BQNes{HNRS_ R/{Y`8g/:;Og?Zsi C2Ndr EcX;e`$<LMn/Pt%]o1=>.NjyfORx  D [        T \ w { |    F q       K      - 5 ; ? A B    [fpG-FVq3s #3m7IS@vQ,c%6Q}*@NsQr~%|0-34fjlmG C   !!!G!H!!!""9"d"""""##8#V#v####$#$E$h$m$n$$%% % %Y%%&?&@&&&''X''(0(w(}(()<))))***>*X*^***++h+,",,,-1--.F....//B///0 0O0011D1}1112 22(2>22223?3p34$4}445/556D6O6X66677j7777788y899a9z9: :Q::;+;m;;<+9>}>??I??@@e@AAOAABABBC/CqCCDCDDEEEKEOEPEFF7FjFFFGG2GbGGGHHH H&HTHHHII*IMIrIIIIJJ J;JqJJKBKKLL@LeLLLMM&MIM_MgMmMMNN-NRNwNNNOO4OJOROXOOOOOPOPyPPPPPPPQQAQCQDQyQRR R RRCRDRPRwRRRRS S-SZSSSSSSSTT9TQT}TTUU6U]UUUUUUVV V V V]VVVW3WoWWWXX=XLX_X|XXXXYYYSYsYtYYZZeZqZZZZ[.[2[3[[[[\?\E\U\[\\] ]b]f]g]^^ ^&^^^^^__8_{___``Y``aAaabbb&b.bAbKb_bcbebfbbbc6chclccdCdde'eteffSfffffggIgoggghHh}hhiiiiij9j=jjk$kOkSkkl1lJlNllm>m`mdmmnDnno1ojonoooppMpSp|ppq qqWqqqrCrrs0s~st tt%t5t;ttu$uruuuuv8v>vvvww>wDwwx*xqxwxxyynyyzzzXz^zzz{:{{|'|-|}||}}}N}}}}}~?~S~~~!} `Wu $X1^AhzfE_4QW} S6:<=5fTZuyz'Pu!BeUw{|/59:Z+/0['9=>d%8?yh*PJ;OmTXZ[ ])/jAWgmnG,-c^}Hef3b2Ht2e3FUbmv'R&_y ,9i|#>q&FS\c ,01= 'p+aw5Ts &'aDOop"JK%EF Xr 2|`:ju!@`/NTU X!m Ye"qV{0ctLXbjpFfz1-bltz>l >|3Uy  JNÝý<[ăğĥĦ  AGfŁł[ƬZ`ǐǯǰǼ)cdpȃȣȸȼȽJɢ./u/`˝˧˭ˮj*͂.΄ο.όϳYМ)hч*hiҷ%^әӢө *hԈԨԳԻ=_jrxy,Y֊4KiןFq؉ح4Uًٚ9gڗ/nۡ%6ER]fmnܗܻ B\eklݼ"Zޏޖޚޜޝ+He߅ߨ6Wz-Nn 1s{u{|>HNO  4z+[?o$Mx~LgHWuMe Q}N| ;")*G\bc1` >yz HL'5Mq !)m|~=Pq6:;RTU~csAi LefOST`\`am DMTXYeB^;<H}Bw{|7ks#+]6i   : c k          ) W          M        E q     : p z    $%1jquv<=I{MQR^]Xagj!< Wlswyza$%CDU ,fNPbc/// @docImport 'package:flutter/cupertino.dart'; /// /// @docImport 'app.dart'; /// @docImport 'checkbox_theme.dart'; /// @docImport 'dropdown_menu.dart'; /// @docImport 'radio_theme.dart';m.Vr %=c "=Wl||Dێ 倭IIKO )) .99">aaf{{!6WW\{{  "ƙ   PVW+ɘLpܗ||R/// Creates a const [MenuAnchor]. /// /// The [menuChildren] argument is required..^/// An optional controller that allows opening and closing of the menu from /// other widgets./// The [childFocusNode] attribute is the optional [FocusNode] also associated /// to the [child] or [builder] widget that opens the menu. /// /// The focus node should be attached to the widget that should receive focus /// if keyboard focus traversal moves the focus off of the submenu with the /// arrow keys. /// /// If not supplied, then keyboard traversal from the menu back to the /// controlling button when the menu is open is disabled./// The [MenuStyle] that defines the visual attributes of the menu bar. /// /// Colors and sizing of the menus is controllable via the [MenuStyle]. /// /// Defaults to the ambient [MenuThemeData.style].&/// {@template flutter.material.MenuAnchor.alignmentOffset} /// The offset of the menu relative to the alignment origin determined by /// [MenuStyle.alignment] on the [style] attribute and the ambient /// [Directionality]. /// /// Use this for adjustments of the menu placement. /// /// Increasing [Offset.dy] values of [alignmentOffset] move the menu position /// down. /// /// If the [MenuStyle.alignment] from [style] is not an [AlignmentDirectional] /// (e.g. [Alignment]), then increasing [Offset.dx] values of /// [alignmentOffset] move the menu position to the right. /// /// If the [MenuStyle.alignment] from [style] is an [AlignmentDirectional], /// then in a [TextDirection.ltr] [Directionality], increasing [Offset.dx] /// values of [alignmentOffset] move the menu position to the right. In a /// [TextDirection.rtl] directionality, increasing [Offset.dx] values of /// [alignmentOffset] move the menu position to the left. /// /// Defaults to [Offset.zero]. /// {@endtemplate}ˡŁˀ/// An optional [LayerLink] to attach the menu to the widget that this /// [MenuAnchor] surrounds. /// /// When provided, the menu will follow the widget that this [MenuAnchor] /// surrounds if it moves because of view insets changes.CvCX/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.hardEdge].@AKQwT}/// Whether the menus will be closed if the anchor area is tapped. /// /// For menus opened by buttons that toggle the menu, if the button is tapped /// when the menu is open, the button should close the menu. But if /// [anchorTapClosesMenu] is true, then the menu will close, and /// (surprisingly) immediately re-open. This is because tapping on the button /// closes the menu before the `onPressed` or `onTap` handler is called /// because of it being considered to be "outside" the menu system, and then /// the button (seeing that the menu is closed) immediately reopens the menu. /// The result is that the user thinks that tapping on the button does /// nothing. So, for button-initiated menus, this value is typically false so /// that the menu anchor area is considered "inside" of the menu system and /// doesn't cause it to close unless [MenuController.close] is called. /// /// For menus that are positioned using [MenuController.open]'s `position` /// parameter, it is often desirable that clicking on the anchor always closes /// the menu since the anchor area isn't usually considered part of the menu /// system by the user. In this case [anchorTapClosesMenu] should be true. /// /// Defaults to false.pցp|/// Whether or not a tap event that closes the menu will be permitted to /// continue on to the gesture arena. /// /// If false, then tapping outside of a menu when the menu is open will both /// close the menu, and allow the tap to participate in the gesture arena. If /// true, then it will only close the menu, and the tap event will be /// consumed. /// /// Defaults to false.ԪT7/// A callback that is invoked when the menu is opened.-U-7/// A callback that is invoked when the menu is closed.ɫ9Ɂx/// Determine if the menu panel can be wrapped by a [UnconstrainedBox] which allows /// the panel to render at its "natural" size. /// /// Defaults to true as it allows developers to render the menu panel at the /// size it should be. When it is set to false, it can be useful when the menu should /// be constrained in both main axis and cross axis, such as a [DropdownMenu].JtJT/// {@macro flutter.widgets.RawMenuAnchor.useRootOverlay} /// /// Defaults to false.)])/// A list of children containing the menu items that are the contents of the /// menu surrounded by this [MenuAnchor]. /// /// {@macro flutter.material.MenuBar.shortcuts_note}:{/// The widget that this [MenuAnchor] surrounds. /// /// Typically this is a button used to open the menu by calling /// [MenuController.open] on the `controller` passed to the builder. /// /// If not supplied, then the [MenuAnchor] will be the size that its parent /// allocates for it. /// /// If provided, the builder will be called each time the menu is opened or /// closed.ZkZK/// The optional child to be passed to the [builder]. /// /// Supply this child if there is a portion of the widget tree built in /// [builder] that doesn't depend on the `controller` or `context` supplied to /// the [builder]. It will be more efficient, since Flutter doesn't then need /// to rebuild this child when those change.dl/// The padding between the edge of the safe area and the menu panel. /// /// Defaults to EdgeInsets.all(8).B#KLKKm&3(V/// A widget used to mark the "anchor" for a set of submenus, defining the /// rectangle used to position the menu, which can be done either with an /// explicit location, or with an alignment. /// /// When creating a menu with [MenuBar] or a [SubmenuButton], a [MenuAnchor] is /// not needed, since they provide their own internally. /// /// The [MenuAnchor] is meant to be a slightly lower level interface than /// [MenuBar], used in situations where a [MenuBar] isn't appropriate, or to /// construct widgets or screen regions that have submenus. /// /// To programmatically control a [MenuAnchor], like opening or closing it, or checking its state, /// you can get its associated [MenuController]. Use `MenuController.maybeOf(BuildContext context)` /// to retrieve the controller for the closest [MenuAnchor] ancestor of a given [BuildContext]. /// More detailed usage of [MenuController] is available in its class documentation. /// /// {@tool dartpad} /// This example shows how to use a [MenuAnchor] to wrap a button and open a /// cascading menu from the button. /// /// ** See code in examples/api/lib/material/menu_anchor/menu_anchor.0.dart ** /// {@end-tool} /// /// {@tool dartpad} /// This example shows how to use a [MenuAnchor] to create a cascading context /// menu in a region of the view, positioned where the user clicks the mouse /// with Ctrl pressed. The [anchorTapClosesMenu] attribute is set to true so /// that clicks on the [MenuAnchor] area will cause the menus to be closed. /// /// ** See code in examples/api/lib/material/menu_anchor/menu_anchor.1.dart ** /// {@end-tool} /// /// {@tool dartpad} /// This example demonstrates a simplified cascading menu using the [MenuAnchor] /// widget. /// /// ** See code in examples/api/lib/material/menu_anchor/menu_anchor.3.dart ** /// {@end-tool} /// /// The [MenuStyle.visualDensity] setting only affects horizontal padding, /// and it will never make it negative. Vertical padding is not affected at all.'%346SS'\}}T99DO <<G7,VWVVg)]\\a@@k@BBBBeBeB~CC0C BBC+C:C;BBxCO$QQQXQ_Q_ QeQnQn QsQ~Q~QQQQQQQQQQPPK/// Creates a const [MenuBar]. /// /// The [children] argument is required.RQ׀R/// The [MenuStyle] that defines the visual attributes of the menu bar. /// /// Colors and sizing of the menus is controllable via the [MenuStyle]. /// /// Defaults to the ambient [MenuThemeData.style].S-RrS-T/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.none].SS>US2/// The [MenuController] to use for this menu bar.UESUE/// The list of menu items that are the top level children of the [MenuBar]. /// /// A Widget in Flutter is immutable, so directly modifying the [children] /// with [List] APIs such as `someMenuBarWidget.menus.add(...)` will result in /// incorrect behaviors. Whenever the menus list is modified, a new list /// object must be provided. /// /// {@macro flutter.material.MenuBar.shortcuts_note}UkUkUxURUSURURUeVIVJVIVIVkW)W)&WEWWWW7WCoCoPՍ_/// A menu bar that manages cascading child menus. /// /// This is a Material Design menu bar that typically resides above the main /// body of an application (but can go anywhere) that defines a menu system for /// invoking callbacks in response to user selection of a menu item. /// /// The menus can be opened with a click or tap. Once a menu is opened, it can /// be navigated by using the arrow and tab keys or via mouse hover. Selecting a /// menu item can be done by pressing enter, or by clicking or tapping on the /// menu item. Clicking or tapping on any part of the user interface that isn't /// part of the menu system controlled by the same controller will cause all of /// the menus controlled by that controller to close, as will pressing the /// escape key. /// /// When a menu item with a submenu is clicked on, it toggles the visibility of /// the submenu. When the menu item is hovered over, the submenu will open, and /// hovering over other items will close the previous menu and open the newly /// hovered one. When those open/close transitions occur, /// [SubmenuButton.onOpen], and [SubmenuButton.onClose] are called on the /// corresponding [SubmenuButton] child of the menu bar. /// /// {@template flutter.material.MenuBar.shortcuts_note} /// Menus using [MenuItemButton] can have a [SingleActivator] or /// [CharacterActivator] assigned to them as their [MenuItemButton.shortcut], /// which will display an appropriate shortcut hint. Even though the shortcut /// labels are displayed in the menu, shortcuts are not automatically handled. /// They must be available in whatever context they are appropriate, and handled /// via another mechanism. /// /// If shortcuts should be generally enabled, but are not easily defined in a /// context surrounding the menu bar, consider registering them with a /// [ShortcutRegistry] (one is already included in the [WidgetsApp], and thus /// also [MaterialApp] and [CupertinoApp]), as shown in the example below. To be /// sure that selecting a menu item and triggering the shortcut do the same /// thing, it is recommended that they call the same callback. /// /// {@tool dartpad} This example shows a [MenuBar] that contains a single top /// level menu, containing three items: "About", a checkbox menu item for /// showing a message, and "Quit". The items are identified with an enum value, /// and the shortcuts are registered globally with the [ShortcutRegistry]. /// /// ** See code in examples/api/lib/material/menu_anchor/menu_bar.0.dart ** /// {@end-tool} /// {@endtemplate} /// /// {@macro flutter.material.MenuAcceleratorLabel.accelerator_sample} /// /// See also: /// /// * [MenuAnchor], a widget that creates a region with a submenu and shows it /// when requested. /// * [SubmenuButton], a menu item which manages a submenu. /// * [MenuItemButton], a leaf menu item which displays the label, an optional /// shortcut label, and optional leading and trailing icons. /// * [PlatformMenuBar], which creates a menu bar that is rendered by the host /// platform instead of by Flutter (on macOS, for example). /// * [ShortcutRegistry], a registry of shortcuts that apply for the entire /// application. /// * [VoidCallbackIntent], to define intents that will call a [VoidCallback] and /// work with the [Actions] and [Shortcuts] system. /// * [CallbackShortcuts], to define shortcuts that call a callback without /// involving [Actions].][]i]p]p ]v]]]]] ]]]]]]]]]]]]]^^ ^^%^%^*^>^> ^C^N^N^S^i^i^n^^^^^^^^^^^#^__ _ ]^^}^^^^^^\\P/// Creates a const [MenuItemButton]. /// /// The [child] attribute is required.` _` /// Called when the button is tapped or otherwise activated. /// /// If this callback is null, then the button will be disabled. /// /// See also: /// /// * [enabled], which is true if the button is enabled.```/// Called when a pointer enters or exits the button response area. /// /// The value passed to the callback is true if a pointer has entered button /// area and false if a pointer has exited.a`aka`F/// Determine if hovering can request focus. /// /// Defaults to true.b"axb"/// Handler called when the focus changes. /// /// Called with true if this widget's node gains focus, and false if it loses /// focus.btb4Ibt,/// {@macro flutter.widgets.Focus.focusNode}bbCb,/// {@macro flutter.widgets.Focus.autofocus}cgbʀcgv/// The optional shortcut that selects this [MenuItemButton]. /// /// {@macro flutter.material.MenuBar.shortcuts_note}ectye߂B/// An optional Semantics label, applied to the entire [MenuItemButton]. /// /// A screen reader will default to reading the derived text on the /// [MenuItemButton] itself, which is not guaranteed to be readable. /// (For some shortcuts, such as comma, semicolon, and other /// punctuation, screen readers read silence). /// /// Setting this label overwrites the semantics properties of the entire /// Widget, including its children. Consider wrapping this widget in /// [Semantics] if you want to customize other properties besides just /// the label. /// /// Null by default.g{eg{e/// Customizes this button's appearance. /// /// Non-null properties of this style override the corresponding properties in /// [themeStyleOf] and [defaultStyleOf]. [WidgetStateProperty]s that resolve /// to non-null values will similarly override the corresponding /// [WidgetStateProperty]s in [themeStyleOf] and [defaultStyleOf]. /// /// Null by default.ggig6/// {@macro flutter.material.inkwell.statesController}hYgrhYT/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.none].hhjUh9/// An optional icon to display before the [child] label.i hUi 8/// An optional icon to display after the [child] label.iii/// {@template flutter.material.menu_anchor.closeOnActivate} /// Determines if the menu will be closed when a [MenuItemButton] /// is pressed. /// /// Defaults to true. /// {@endtemplate}kjkz/// The direction in which the menu item expands. /// /// If the menu item button is a descendent of [MenuAnchor] or [MenuBar], then /// this property is ignored. /// /// If [overflowAxis] is [Axis.vertical], the menu will be expanded vertically. /// If [overflowAxis] is [Axis.horizontal], then the menu will be /// expanded horizontally. /// /// Defaults to [Axis.horizontal].lwklw/// The widget displayed in the center of this button. /// /// Typically this is the button's label, using a [Text] widget. /// /// {@macro flutter.widgets.ProxyWidget.child}llm |/// Whether the button is enabled or disabled. /// /// To enable a button, set its [onPressed] property to a non-null value.m.m/m.m.JmPnNnNn[m|m|n?/// Defines the button's default appearance. /// /// {@macro flutter.material.text_button.default_style_of} /// /// {@macro flutter.material.text_button.material3_defaults}ooonnoZ/// Returns the [MenuButtonThemeData.style] of the closest /// [MenuButtonTheme] ancestor.uuuuuuvvvv4v4v;vXvXv_vpvpvwvvvvvvvvvvvvvvvw w ww!w!w5wBwBwHwYwYw_wnwnwtwwwww wwwwwwwxxxx#x#$x:xMxMxWxnxnxtxxxxx+xo^o^CuȆ /// A static convenience method that constructs a [MenuItemButton]'s /// [ButtonStyle] given simple values. /// /// The [foregroundColor] color is used to create a [WidgetStateProperty] /// [ButtonStyle.foregroundColor] value. Specify a value for [foregroundColor] /// to specify the color of the button's icons. Use [backgroundColor] for the /// button's background fill color. Use [disabledForegroundColor] and /// [disabledBackgroundColor] to specify the button's disabled icon and fill /// color. /// /// Similarly, the [enabledMouseCursor] and [disabledMouseCursor] /// parameters are used to construct [ButtonStyle.mouseCursor]. /// /// The [iconColor], [disabledIconColor] are used to construct /// [ButtonStyle.iconColor] and [iconSize] is used to construct /// [ButtonStyle.iconSize]. /// /// All of the other parameters are either used directly or used to create a /// [WidgetStateProperty] with a single value for all states. /// /// All parameters default to null, by default this method returns a /// [ButtonStyle] that doesn't override anything. /// /// For example, to override the default foreground color for a /// [MenuItemButton], as well as its overlay color, with all of the standard /// opacity adjustments for the pressed, focused, and hovered states, one /// could write: /// /// ```dart /// MenuItemButton( /// leadingIcon: const Icon(Icons.pets), /// style: MenuItemButton.styleFrom(foregroundColor: Colors.green), /// onPressed: () { /// // ... /// }, /// child: const Text('Button Label'), /// ), /// ```||&||||||X?X?\Ԅ/// A button for use in a [MenuBar], in a menu created with [MenuAnchor], or on /// its own, that can be activated by click or keyboard navigation. /// /// This widget represents a leaf entry in a menu hierarchy that is typically /// part of a [MenuBar], but may be used independently, or as part of a menu /// created with a [MenuAnchor]. /// /// {@macro flutter.material.MenuBar.shortcuts_note} /// /// See also: /// /// * [MenuBar], a class that creates a top level menu bar in a Material Design /// style. /// * [MenuAnchor], a widget that creates a region with a submenu and shows it /// when requested. /// * [SubmenuButton], a menu item similar to this one which manages a submenu. /// * [PlatformMenuBar], which creates a menu bar that is rendered by the host /// platform instead of by Flutter (on macOS, for example). /// * [ShortcutRegistry], a registry of shortcuts that apply for the entire /// application. /// * [VoidCallbackIntent], to define intents that will call a [VoidCallback] and /// work with the [Actions] and [Shortcuts] system. /// * [CallbackShortcuts] to define shortcuts that call a callback without /// involving [Actions].\Q\rrDD -_`__pFFS-.--W@^^oFFKXXj??DFFKgglđn  ++0?? DRR Wbbg}}p/// Creates a const [CheckboxMenuButton]. /// /// The [child], [value], and [onChanged] attributes are required./// Whether this checkbox is checked. /// /// When [tristate] is true, a value of null corresponds to the mixed state. /// When [tristate] is false, this value must not be null.Ƃс/// If true, then the checkbox's [value] can be true, false, or null. /// /// [CheckboxMenuButton] displays a dash when its value is null. /// /// When a tri-state checkbox ([tristate] is true) is tapped, its [onChanged] /// callback will be applied to true if the current value is false, to null if /// value is true, and to false if value is null (i.e. it cycles through false /// => true => null => false when tapped). /// /// If tristate is false (the default), [value] must not be null.ށ/// True if this checkbox wants to show an error state. /// /// The checkbox will have different default container color and check color when /// this is true. This is only used when [ThemeData.useMaterial3] is set to true. /// /// Defaults to false.FSF/// Called when the value of the checkbox should change. /// /// The checkbox passes the new value to the callback but does not actually /// change state until the parent widget rebuilds the checkbox with the new /// value. /// /// If this callback is null, the menu item will be displayed as disabled /// and will not respond to input gestures. /// /// When the checkbox is tapped, if [tristate] is false (the default) then the /// [onChanged] callback will be applied to `!value`. If [tristate] is true /// this callback cycle from false to true to null and then back to false /// again. /// /// The callback provided to [onChanged] should update the state of the parent /// [StatefulWidget] using the [State.setState] method, so that the parent /// gets rebuilt; for example: /// /// ```dart /// CheckboxMenuButton( /// value: _throwShotAway, /// child: const Text('THROW'), /// onChanged: (bool? newValue) { /// setState(() { /// _throwShotAway = newValue!; /// }); /// }, /// ) /// ```7T7/// Called when a pointer enters or exits the button response area. /// /// The value passed to the callback is true if a pointer has entered button /// area and false if a pointer has exited.C퀇/// Handler called when the focus changes. /// /// Called with true if this widget's node gains focus, and false if it loses /// focus.?I?,/// {@macro flutter.widgets.Focus.focusNode}Mv/// The optional shortcut that selects this [MenuItemButton]. /// /// {@macro flutter.material.MenuBar.shortcuts_note}/// Customizes this button's appearance. /// /// Non-null properties of this style override the corresponding properties in /// [MenuItemButton.themeStyleOf] and [MenuItemButton.defaultStyleOf]. /// [WidgetStateProperty]s that resolve to non-null values will similarly /// override the corresponding [WidgetStateProperty]s in /// [MenuItemButton.themeStyleOf] and [MenuItemButton.defaultStyleOf]. /// /// Null by default.%i%6/// {@macro flutter.material.inkwell.statesController}:rT/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.none].U8/// An optional icon to display after the [child] label.R VR9/// {@macro flutter.material.menu_anchor.closeOnActivate}-f-/// The widget displayed in the center of this button. /// /// Typically this is the button's label, using a [Text] widget. /// /// {@macro flutter.widgets.ProxyWidget.child}77|/// Whether the button is enabled or disabled. /// /// To enable a button, set its [onChanged] property to a non-null value. ~jj‚Q/// A menu item that combines a [Checkbox] widget with a [MenuItemButton]. /// /// To style the checkbox separately from the button, add a [CheckboxTheme] /// ancestor. /// /// {@tool dartpad} /// This example shows a menu with a checkbox that shows a message in the body /// of the app if checked. /// /// ** See code in examples/api/lib/material/menu_anchor/checkbox_menu_button.0.dart ** /// {@end-tool} /// /// See also: /// /// - [MenuBar], a widget that creates a menu bar of cascading menu items. /// - [MenuAnchor], a widget that defines a region which can host a cascading /// menu.{  ##(;;@OO Tbb grrwQ/// Creates a const [RadioMenuButton]. /// /// The [child] attribute is required./// The value represented by this radio button. /// /// This radio button is considered selected if its [value] matches the /// [groupValue].\\/// The currently selected value for a group of radio buttons. /// /// This radio button is considered selected if its [value] matches the /// [groupValue].CkC/// Set to true if this radio button is allowed to be returned to an /// indeterminate state by selecting it again when selected. /// /// To indicate returning to an indeterminate state, [onChanged] will be /// called with null. /// /// If true, [onChanged] is called with [value] when selected while /// [groupValue] != [value], and with null when selected again while /// [groupValue] == [value]. /// /// If false, [onChanged] will be called with [value] when it is selected /// while [groupValue] != [value], and only by selecting another radio button /// in the group (i.e. changing the value of [groupValue]) can this radio /// button be unselected. /// /// The default is false..R./// Called when the user selects this radio button. /// /// The radio button passes [value] as a parameter to this callback. The radio /// button does not actually change state until the parent widget rebuilds the /// radio button with the new [groupValue]. /// /// If null, the radio button will be displayed as disabled. /// /// The provided callback will not be invoked if this radio button is already /// selected. /// /// The callback provided to [onChanged] should update the state of the parent /// [StatefulWidget] using the [State.setState] method, so that the parent /// gets rebuilt; for example: /// /// ```dart /// RadioMenuButton( /// value: SingingCharacter.lafayette, /// groupValue: _character, /// onChanged: (SingingCharacter? newValue) { /// setState(() { /// _character = newValue; /// }); /// }, /// child: const Text('Lafayette'), /// ) /// ```</// Called when a pointer enters or exits the button response area. /// /// The value passed to the callback is true if a pointer has entered button /// area and false if a pointer has exited.+Հ/// Handler called when the focus changes. /// /// Called with true if this widget's node gains focus, and false if it loses /// focus.'I',/// {@macro flutter.widgets.Focus.focusNode}5v/// The optional shortcut that selects this [MenuItemButton]. /// /// {@macro flutter.material.MenuBar.shortcuts_note}߁/// Customizes this button's appearance. /// /// Non-null properties of this style override the corresponding properties in /// [MenuItemButton.themeStyleOf] and [MenuItemButton.defaultStyleOf]. /// [WidgetStateProperty]s that resolve to non-null values will similarly /// override the corresponding [WidgetStateProperty]s in /// [MenuItemButton.themeStyleOf] and [MenuItemButton.defaultStyleOf]. /// /// Null by default. i 6/// {@macro flutter.material.inkwell.statesController}"rT/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.none].U8/// An optional icon to display after the [child] label.:V:9/// {@macro flutter.material.menu_anchor.closeOnActivate}N/// The widget displayed in the center of this button. /// /// Typically this is the button's label, using a [Text] widget. /// /// {@macro flutter.widgets.ProxyWidget.child}|/// Whether the button is enabled or disabled. /// /// To enable a button, set its [onChanged] property to a non-null value.̄ff/// A menu item that combines a [Radio] widget with a [MenuItemButton]. /// /// To style the radio button separately from the overall button, add a /// [RadioTheme] ancestor. /// /// {@tool dartpad} /// This example shows a menu with three radio buttons with shortcuts that /// changes the background color of the body when the buttons are selected. /// /// ** See code in examples/api/lib/material/menu_anchor/radio_menu_button.0.dart ** /// {@end-tool} /// /// See also: /// /// - [MenuBar], a widget that creates a menu bar of cascading menu items. /// - [MenuAnchor], a widget that defines a region which can host a cascading /// menu.ȪȷȾȾ     // 4??DSSXmm!rɔɔəɨɨɭ ''5GGUɁɅɆ99(d/// Creates a const [SubmenuButton]. /// /// The [child] and [menuChildren] attributes are required.TeT/// Called when a pointer enters or exits the button response area. /// /// The value passed to the callback is true if a pointer has entered this /// part of the button and false if a pointer has exited.`/// Handler called when the focus changes. /// /// Called with true if this widget's [focusNode] gains focus, and false if it /// loses focus.q#Tq7/// A callback that is invoked when the menu is opened.|U7/// A callback that is invoked when the menu is closed.!U!2/// An optional [MenuController] for this submenu.ι0ιe/// Customizes this button's appearance. /// /// Non-null properties of this style override the corresponding properties in /// [themeStyleOf] and [defaultStyleOf]. [WidgetStateProperty]s that resolve /// to non-null values will similarly override the corresponding /// [WidgetStateProperty]s in [themeStyleOf] and [defaultStyleOf]. /// /// Null by default.jÀj/// The [MenuStyle] of the menu specified by [menuChildren]. /// /// Defaults to the value of [MenuThemeData.style] of the ambient [MenuTheme].x{/// The offset of the menu relative to the alignment origin determined by /// [MenuStyle.alignment] on the [style] attribute. /// /// Use this for fine adjustments of the menu placement. /// /// Defaults to an offset that takes into account the padding of the menu so /// that the top starting corner of the first menu item is aligned with the /// top of the [MenuAnchor] region.ѐ&vѐX/// {@macro flutter.material.Material.clipBehavior} /// /// Defaults to [Clip.hardEdge].ѡI,/// {@macro flutter.widgets.Focus.focusNode}HiH6/// {@macro flutter.material.inkwell.statesController}ҡ]Oҡ3/// An optional icon to display before the [child].iұi/// If provided, the widget replaces the default [SubmenuButton] arrow icon. /// /// Resolves in the following states: /// * [WidgetState.disabled]. /// * [WidgetState.hovered]. /// * [WidgetState.focused]. /// /// If this is null, then the value of [MenuThemeData.submenuIcon] is used. /// If that is also null, then defaults to a right arrow icon with the size /// of 24 pixels.ԼyOԼ2/// An optional icon to display after the [child].3t3T/// {@macro flutter.widgets.RawMenuAnchor.useRootOverlay} /// /// Defaults to false.rF8r /// The list of widgets that appear in the menu when it is opened. /// /// These can be any widget, but are typically either [MenuItemButton] or /// [SubmenuButton] widgets. /// /// If [menuChildren] is empty, then the button for this menu item will be /// disabled.RփR/// The widget displayed in the middle portion of this button. /// /// Typically this is the button's label, using a [Text] widget. /// /// {@macro flutter.widgets.ProxyWidget.child}\]\\H}zz؇ררk/// Defines the button's default appearance. /// /// {@macro flutter.material.text_button.default_style_of} /// /// {@macro flutter.material.text_button.material3_defaults}==JĀ0Z/// Returns the [MenuButtonThemeData.style] of the closest [MenuButtonTheme] /// ancestor."77>[[b 119HH\iio  ((7JJ$att~+يي> /// A static convenience method that constructs a [SubmenuButton]'s /// [ButtonStyle] given simple values. /// /// The [foregroundColor] color is used to create a [WidgetStateProperty] /// [ButtonStyle.foregroundColor] value. Specify a value for [foregroundColor] /// to specify the color of the button's icons. Use [backgroundColor] for the /// button's background fill color. Use [disabledForegroundColor] and /// [disabledBackgroundColor] to specify the button's disabled icon and fill /// color. /// /// Similarly, the [enabledMouseCursor] and [disabledMouseCursor] /// parameters are used to construct [ButtonStyle.mouseCursor]. /// /// The [iconColor], [disabledIconColor] are used to construct /// [ButtonStyle.iconColor] and [iconSize] is used to construct /// [ButtonStyle.iconSize]. /// /// All of the other parameters are either used directly or used to create a /// [WidgetStateProperty] with a single value for all states. /// /// All parameters default to null, by default this method returns a /// [ButtonStyle] that doesn't override anything. /// /// For example, to override the default foreground color for a /// [SubmenuButton], as well as its overlay color, with all of the standard /// opacity adjustments for the pressed, focused, and hovered states, one /// could write: /// /// ```dart /// SubmenuButton( /// leadingIcon: const Icon(Icons.pets), /// style: SubmenuButton.styleFrom(foregroundColor: Colors.green), /// menuChildren: const [ /* ... */ ], /// child: const Text('Button Label'), /// ), /// ```̀&礁覃!/// A menu button that displays a cascading menu. /// /// It can be used as part of a [MenuBar], or as a standalone widget. /// /// This widget represents a menu item that has a submenu. Like the leaf /// [MenuItemButton], it shows a label with an optional leading or trailing /// icon, but additionally shows an arrow icon showing that it has a submenu. /// /// By default the submenu will appear to the side of the controlling button. /// The alignment and offset of the submenu can be controlled by setting /// [MenuStyle.alignment] on the [style] and the [alignmentOffset] argument, /// respectively. /// /// When activated (by being clicked, through keyboard navigation, or via /// hovering with a mouse), it will open a submenu containing the /// [menuChildren]. /// /// If [menuChildren] is empty, then this menu item will appear disabled. /// /// See also: /// /// * [MenuItemButton], a widget that represents a leaf menu item that does not /// host a submenu. /// * [MenuBar], a widget that renders menu items in a row in a Material Design /// style. /// * [MenuAnchor], a widget that creates a region with a submenu and shows it /// when requested. /// * [PlatformMenuBar], a widget that renders similar menu bar items from a /// [PlatformMenuItem] using platform-native APIs instead of Flutter.< )71*3騀\FA Fje!j'LT D"SS>iJRR4[쥁FGFFW)W nn{UVUUh ؁    ~ ~   ; mms       8  !   1;5]]:puB/// The orientation of the menu that contains this submenu button.qQ/// Whether the anchor that intercepted this DirectionalFocusAction is a submenu.2 B B) H !!  !!<!+!<!"!!!!!!!!!" !!!" "2""*"+"4"]"A"S"T"_""l"~""!w!JH!w)"$j"""""""####1#2#<#N#O#Z#l#m#z###########$$$$'$9$:$I$[$\""" &;&<&&:&&&&9&&3%%%$p$p$+/// Return the instance for this singleton.((!) ))#)+&B&Bb(ႆ/// Returns the label to be shown to the user in the UI when a /// [MenuSerializableShortcut] is used as a keyboard shortcut. /// /// When [defaultTargetPlatform] is [TargetPlatform.macOS] or /// [TargetPlatform.iOS], this will return graphical key representations when /// it can. For instance, the default [LogicalKeyboardKey.shift] will return /// '⇧', and the arrow keys will return arrows. The key /// [LogicalKeyboardKey.meta] will show as '⌘', [LogicalKeyboardKey.control] /// will show as '˄', and [LogicalKeyboardKey.alt] will show as '⌥'. /// /// The keys are joined by spaces on macOS and iOS, and by "+" on other /// platforms.8:8:8M8R8R#8h8 8 .8(EkEkE~EE#EERERZEYmmA ڂh/// A helper class used to generate shortcut labels for a /// [MenuSerializableShortcut] (a subset of the subclasses of /// [ShortcutActivator]). /// /// This helper class is typically used by the [MenuItemButton] and /// [SubmenuButton] classes to display a label for their assigned shortcuts. /// /// Call [getShortcutLabel] with the [MenuSerializableShortcut] to get a label /// for it. /// /// For instance, calling [getShortcutLabel] with `SingleActivator(trigger: /// LogicalKeyboardKey.keyA, control: true)` would return "⌃ A" on macOS, "Ctrl /// A" in an US English locale, and "Strg A" in a German locale.PPPPPPPPPPPPP PP{P{|PPPPEQOOPU/// MenuBar-specific private specialization of [MenuAnchor] so that it can act /// differently in regards to orientation, how open works, and what gets built.QRQQQQQQQQQQQRQQQQQ{QR RR R 5R"R_R_RlRFRGRFRFRYQDQDQJXX:XAXA XGXPXP XUXcXcXhXXXXuWW_/// Create a const [MenuAcceleratorCallbackBinding]. /// /// The [child] parameter is required.YiXYi/// The function that pressing the accelerator defined in a descendant /// [MenuAcceleratorLabel] will invoke. /// /// If set to null, then the accelerator won't be enabled.Z~YvZ~/// Whether or not the associated label will host its own submenu or not. /// /// This setting determines when accelerators are active, since accelerators /// for menu items that open submenus shouldn't be active when the submenu is /// open.ZZ(ZZZZZZ\\\[5[50\x/// Returns the active [MenuAcceleratorCallbackBinding] in the given context, if any, /// and creates a dependency relationship that will rebuild the context when /// [onInvoke] changes. /// /// If no [MenuAcceleratorCallbackBinding] is found, returns null. /// /// See also: /// /// * [of], which is similar, but asserts if no [MenuAcceleratorCallbackBinding] /// is found._c_c_p]i]i_`/// Returns the active [MenuAcceleratorCallbackBinding] in the given context, and /// creates a dependency relationship that will rebuild the context when /// [onInvoke] changes. /// /// If no [MenuAcceleratorCallbackBinding] is found, returns will assert in debug mode /// and throw an exception in release mode. /// /// See also: /// /// * [maybeOf], which is similar, but returns null if no /// [MenuAcceleratorCallbackBinding] is found.V V WWua/// An [InheritedWidget] that provides a descendant [MenuAcceleratorLabel] with /// the function to invoke when the accelerator is pressed. /// /// This is used when creating your own custom menu item for use with /// [MenuAnchor] or [MenuBar]. Provided menu items such as [MenuItemButton] and /// [SubmenuButton] already supply this wrapper internally.pppp ppp ppp"ppp!p!V/// Creates a const [MenuAcceleratorLabel]. /// /// The [label] parameter is required.upڅu/// The label string that should be displayed. /// /// The label string provides the label text, as well as the possible /// characters which could be used as accelerators in the menu system. /// /// {@template flutter.material.menu_anchor.menu_accelerator_label.label} /// To indicate which letters in the label are to be used as accelerators, add /// an "&" character before the character in the string. If more than one /// character has an "&" in front of it, then the characters appearing earlier /// in the string are preferred. To represent a literal "&", insert "&&" into /// the string. All other ampersands will be removed from the string before /// calling [MenuAcceleratorLabel.builder]. Bare ampersands at the end of the /// string or before whitespace are stripped and ignored. /// {@endtemplate} /// /// See also: /// /// * [displayLabel], which returns the [label] with all of the ampersands /// stripped out of it, and double ampersands converted to ampersands. /// * [stripAcceleratorMarkers], which returns the supplied string with all of /// the ampersands stripped out of it, and double ampersands converted to /// ampersands, and optionally calls a callback with the index of the /// accelerator character found.zvǃTz/// The optional [MenuAcceleratorChildBuilder] which is used to build the /// widget that displays the label itself. /// /// The [defaultLabelBuilder] function serves as the default value for /// [builder], rendering the label as a [RichText] widget with appropriate /// [TextSpan]s for rendering the label with an underscore under the selected /// accelerator for the label when accelerators have been activated. /// /// {@macro flutter.material.menu_anchor.menu_accelerator_child_builder.args} /// /// When writing the builder function, it's not necessary to take the current /// platform into account. On platforms which don't support accelerators (e.g. /// macOS and iOS), the passed accelerator index will always be -1, and the /// accelerator markers will already be stripped.uuv/// Returns the [label] with any accelerator markers removed. /// /// This getter just calls [stripAcceleratorMarkers] with the [label].z z z/// Whether [label] contains an accelerator definition. /// /// {@macro flutter.material.menu_anchor.menu_accelerator_label.label}||||| ||| |zz|/// Serves as the default value for [builder], rendering the label as a /// [RichText] widget with appropriate [TextSpan]s for rendering the label /// with an underscore under the selected accelerator for the label when the /// [index] is non-negative, and a [Text] widget when the [index] is negative. /// /// {@macro flutter.material.menu_anchor.menu_accelerator_child_builder.args}!! (00"J M/// Strips out any accelerator markers from the given [label], and unescapes /// any escaped ampersands. /// /// If [setIndex] is supplied, it will be called before this function returns /// with the index in the returned string of the accelerator character. /// /// {@macro flutter.material.menu_anchor.menu_accelerator_label.label}V//:IJ&ggo6/// A widget that draws the label text for a menu item (typically a /// [MenuItemButton] or [SubmenuButton]) and renders its child with information /// about the currently active keyboard accelerator. /// /// On platforms other than macOS and iOS, this widget listens for the Alt key /// to be pressed, and when it is down, will update the label by calling the /// builder again with the position of the accelerator in the label string. /// While the Alt key is pressed, it registers a shortcut with the /// [ShortcutRegistry] mapped to a [VoidCallbackIntent] containing the callback /// defined by the nearest [MenuAcceleratorCallbackBinding]. /// /// Because the accelerators are registered with the [ShortcutRegistry], any /// other shortcuts in the widget tree between the [primaryFocus] and the /// [ShortcutRegistry] that define Alt-based shortcuts using the same keys will /// take precedence over the accelerators. /// /// Because accelerators aren't used on macOS and iOS, the label ignores the Alt /// key on those platforms, and the [builder] is always given -1 as an /// accelerator index. Accelerator labels are still stripped of their /// accelerator markers. /// /// The built-in menu items [MenuItemButton] and [SubmenuButton] already provide /// the appropriate [MenuAcceleratorCallbackBinding], so unless you are creating /// your own custom menu item type that takes a [MenuAcceleratorLabel], it is /// not necessary to provide one. /// /// {@template flutter.material.MenuAcceleratorLabel.accelerator_sample} /// {@tool dartpad} This example shows a [MenuBar] that handles keyboard /// accelerators using [MenuAcceleratorLabel]. To use the accelerators, press /// the Alt key to see which letters are underlined in the menu bar, and then /// press the appropriate letter. Accelerators are not supported on macOS or iOS /// since those platforms don't support them natively, so this demo will only /// show a regular Material menu bar on those platforms. /// /// ** See code in examples/api/lib/material/menu_anchor/menu_accelerator_label.0.dart ** /// {@end-tool} /// {@endtemplate}("#"N7-Nmhm |}||c(~~~<<HIIR22 7@@E܀==Cr   !#EEJ[[ `267ib/// Creates a const [_MenuItemLabel]. /// /// The [child] and [hasSubmenu] arguments are required. pi/// Whether or not this menu has a submenu. /// /// Determines whether the submenu arrow is shown or not.ǀ/// Whether or not this item should show decorations like shortcut labels or /// submenu arrows. Items in a [MenuBar] don't show these decorations when /// they are laid out horizontally.P4/// The optional icon that comes before the [child].s/Ps3/// The optional icon that comes after the [child].^/// The shortcut for this label, so that it can generate a string describing /// the shortcut.f/// An optional Semantics label, which replaces the generated string when /// read by a screen reader.K1/// The direction in which the menu item expands.XsXW/// The submenu icon that is displayed when [showDecoration] and [hasSubmenu] are true.hR""3vfo/// Wraps the [WidgetStateMouseCursor] so that it can default to /// [MouseCursor.uncontrolled] if none is set.  $<D=CEIFWRY_wx߀-b:.<HILaMST\`]ڀ{h{>ʀVWVV{Հcdcc[\[[Oy  *,VHXmdo‵>#$&.'/0=>?>>k    q6~~~4J    t L    y      ?    k      6'(''`܀xyxx_`?@??oTUTTPs    #;J<K^Lpgr!   :':glmowpxy]F>]B{"#""\Ozz  %/// A debug print function, which should only be called within an assert, like /// so: /// /// assert(_debugMenuInfo('Debug Message')); /// /// so that the call is entirely removed in release builds. /// /// Enable debug printing by setting [_kDebugMenus] to true at the top of the /// file.lF/// Whether [defaultTargetPlatform] is an Apple platform (Mac or iOS).f"+/// Whether [defaultTargetPlatform] is one that uses symbolic shortcuts. /// /// Mac and iOS use special symbols for modifier keys instead of their names, /// render them in a particular order defined by Apple's human interface /// guidelines, and format them so that the modifier keys always align.UU7^-*͆+iQD&QeP!0O1CDR`afuv̈ˈLjȈΈ݈މ ,-_2A^BTUawx׉؉!7O8JKTcdvw‚)ob"o܋3Bځ/// The type of builder function used by [MenuAnchor.builder] to build the /// widget that the [MenuAnchor] surrounds. /// /// The `context` is the context that the widget is being built in. /// /// The `controller` is the [MenuController] that can be used to open and close /// the menu with. /// /// The `child` is an optional child supplied as the [MenuAnchor.child] /// attribute. The child is intended to be incorporated in the result of the /// function.bfbfLgQ/// The type of builder function used for building a [MenuAcceleratorLabel]'s /// [MenuAcceleratorLabel.builder] function. /// /// {@template flutter.material.menu_anchor.menu_accelerator_child_builder.args} /// The arguments to the function are as follows: /// /// * The `context` supplies the [BuildContext] to use. /// * The `label` is the [MenuAcceleratorLabel.label] attribute for the relevant /// [MenuAcceleratorLabel] with the accelerator markers stripped out of it. /// * The `index` is the index of the accelerator character within the /// `label.characters` that applies to this accelerator. If it is -1, then the /// accelerator should not be highlighted. Otherwise, the given character /// should be highlighted somehow in the rendered label (typically with an /// underscore). Importantly, `index` is not an index into the [String] /// `label`, it is an index into the [Characters] iterable returned by /// `label.characters`, so that it is in terms of user-visible characters /// (a.k.a. grapheme clusters), not Unicode code points. /// {@endtemplate} /// /// See also: /// /// * [MenuAcceleratorLabel.defaultLabelBuilder], which is the implementation /// used as the default value for [MenuAcceleratorLabel.builder].package:flutter/cupertino.dartapp.dartcheckbox_theme.dart$dropdown_menu.dartIradio_theme.dart<րڀ@clm݂.UVrɂ߂ %=cڃ "=Wl݅*HI12}ц҇Dlmˆd0RbόP|Čȍ+/wčҍHIzŽ'}+X\3#<@Tœɔ(,@ܕ)uyȕؕܕAMQPzӗ %5]wØ'-Sw™%+,zCIHBH}֞"g#tEޡ)ek¡â *0|֢ף 6QR3vƥ_Hߦ2Ҩ%>MsӨԩGM4DJcܪݫ67Ĭk$=Z[׭ݮ78kqNflȯ*0z˱JabղHIUAlݳ6{Q{ҵ7~ܷ%Tzָ AIOST`sɸ 4_rܹ3XϺ!5;<ڻFkܽ7K%Jjpɾ׾ݿ*UYZy@G@@@@@@AAEASAYAAB@B^BbBcBBBBBCEChClCnCoCCCDCDDDE,EzEFFeFuFyFGGgGGH$H(H`HHI=IIIIJJJJK0K|KKL LWLLLMBMRMeMiMMMMNN*NfNNOCOOOP2PhPPPQQQIQ[QjQzQQQQQRR%RoRuRRRRSS S;S<SqSSSST8TTTTU0UOUPU\UUUUV VV;VBVFVGVSVVVVWWWWSW~WX8X<X>X?XXXY%YrYYYYYYZ2Z?ZZZ[C[[[\2\h\\\]$]*]S]l]{]]]]]^^!^:^J^e^^^^^____U_[_____```]`c``aaa5a;aSauavaaabb1b2babbbbbcccEcqcrccd dPdddeeXeeeeeeff!frfggIgOgfgggggh'h-hLhghhhhhhiii[iiiiijjj7j=jjjkkJkgkmkkkkkl0l6lgl~lllmm+m,m8mymzmmmmn1nfnnnnno)oWo[o\oooppopqqVqcqiqqqr6rxrrrs+s1sxssstCttttttuAuYujuuuuuuuv v0vTvlvvvvvwww>wUwjwwwwwxxIxjxxxxxy'yOyyyz z%z?zkzzzzz{{9{g{{{{||1|W|s||||||}}{}}~J~Q~%[wOp&;Rz$CX\]i&Ls&*+7^Ge289X ?p 0_RQWX9?CDx'=s<_`19?CD]94`de<Q]cgij+zb!f';N^y"q U[Mzp5;6dj Ubh'-;Ut )QR@Ant,JK &w G78nt Ecd45fl0@ct6QvEf &HdDX_cef-x-1?CDJs 7K^n6<=Qhi@X^ \6OP.\b ^ 4T 9:()V\23sy_/x~ V\{-KLNT(K\m %Iey*9FQZ|ždhñKOĝ3EIœ7;IMƝƳ_u 7^dȢȺ+;Oiɐɤɿ#C\bcʩʯ8]^ˋˑ ![yz̴ -.Y_ͰB·΍ΤWuv9?Ў#$Z`уўџ&Z[ґҮү,MmӍӓ/CvwԬ &CDՉՏM]րց BYZfץצ]ؒؽ!UكهوIښ2ہێ۔ aܣV\ݣm޹"iߜ3W{-De| $Fp&Nv0Lx$@`,X~&bk fjlm:?c QP'9 ?CDPc6\BQNes{HNRS_ R/{Y`8g/:;Og?Zsi C2Ndr EcX;e`$<LMn/Pt%]o1=>.NjyfORx  D [        T \ w { |    F q       K      - 5 ; ? A B    [fpG-FVq3s #3m7IS@vQ,c%6Q}*@NsQr~%|0-34fjlmG C   !!!G!H!!!""9"d"""""##8#V#v####$#$E$h$m$n$$%% % %Y%%&?&@&&&''X''(0(w(}(()<))))***>*X*^***++h+,",,,-1--.F....//B///0 0O0011D1}1112 22(2>22223?3p34$4}445/556D6O6X66677j7777788y899a9z9: :Q::;+;m;;<+9>}>??I??@@e@AAOAABABBC/CqCCDCDDEEEKEOEPEFF7FjFFFGG2GbGGGHHH H&HTHHHII*IMIrIIIIJJ J;JqJJKBKKLL@LeLLLMM&MIM_MgMmMMNN-NRNwNNNOO4OJOROXOOOOOPOPyPPPPPPPQQAQCQDQyQRR R RRCRDRPRwRRRRS S-SZSSSSSSSTT9TQT}TTUU6U]UUUUUUVV V V V]VVVW3WoWWWXX=XLX_X|XXXXYYYSYsYtYYZZeZqZZZZ[.[2[3[[[[\?\E\U\[\\] ]b]f]g]^^ ^&^^^^^__8_{___``Y``aAaabbb&b.bAbKb_bcbebfbbbc6chclccdCdde'eteffSfffffggIgoggghHh}hhiiiiij9j=jjk$kOkSkkl1lJlNllm>m`mdmmnDnno1ojonoooppMpSp|ppq qqWqqqrCrrs0s~st tt%t5t;ttu$uruuuuv8v>vvvww>wDwwx*xqxwxxyynyyzzzXz^zzz{:{{|'|-|}||}}}N}}}}}~?~S~~~!} `Wu $X1^AhzfE_4QW} S6:<=5fTZuyz'Pu!BeUw{|/59:Z+/0['9=>d%8?yh*PJ;OmTXZ[ ])/jAWgmnG,-c^}Hef3b2Ht2e3FUbmv'R&_y ,9i|#>q&FS\c ,01= 'p+aw5Ts &'aDOop"JK%EF Xr 2|`:ju!@`/NTU X!m Ye"qV{0ctLXbjpFfz1-bltz>l >|3Uy  JNÝý<[ăğĥĦ  AGfŁł[ƬZ`ǐǯǰǼ)cdpȃȣȸȼȽJɢ./u/`˝˧˭ˮj*͂.΄ο.όϳYМ)hч*hiҷ%^әӢө *hԈԨԳԻ=_jrxy,Y֊4KiןFq؉ح4Uًٚ9gڗ/nۡ%6ER]fmnܗܻ B\eklݼ"Zޏޖޚޜޝ+He߅ߨ6Wz-Nn 1s{u{|>HNO  4z+[?o$Mx~LgHWuMe Q}N| ;")*G\bc1` >yz HL'5Mq !)m|~=Pq6:;RTU~csAi LefOST`\`am DMTXYeB^;<H}Bw{|7ks#+]6i   : c k          ) W          M        E q     : p z    $%1jquv<=I{MQR^]Xagj!< Wlswyza$%CDU ,fNPbc& _kDebugMenus_kDefaultSubmenuIconSize_kLabelItemDefaultSpacing_kLabelItemMinSpacing_kMenuTraversalShortcuts_kMenuVerticalMinPadding_kMenuViewPadding"_kTopLevelMenuHorizontalMinPadding_MenuAnchorScope MenuAnchor_MenuAnchorStateMenuBarMenuItemButton_MenuItemButtonStateCheckboxMenuButtonRadioMenuButton SubmenuButton_SubmenuButtonState_SubmenuDirectionalFocusAction_LocalizedShortcutLabeler_MenuBarAnchor_MenuBarAnchorStateMenuAcceleratorCallbackBindingMenuAcceleratorLabel_MenuAcceleratorLabelState_MenuItemLabel _MenuLayout _MenuPanel_MenuPanelState_Submenu _MouseCursor_debugMenuInfo _isCupertino_usesSymbolicModifiers_platformSupportsAccelerators_MenuBarDefaultsM3_MenuButtonDefaultsM3_MenuDefaultsM3+flutter.material.MenuAnchor.alignmentOffsetBThe offset of the menu relative to the alignment origin determined by [MenuStyle.alignment] on the [style] attribute and the ambient [Directionality]. Use this for adjustments of the menu placement. Increasing [Offset.dy] values of [alignmentOffset] move the menu position down. If the [MenuStyle.alignment] from [style] is not an [AlignmentDirectional] (e.g. [Alignment]), then increasing [Offset.dx] values of [alignmentOffset] move the menu position to the right. If the [MenuStyle.alignment] from [style] is an [AlignmentDirectional], then in a [TextDirection.ltr] [Directionality], increasing [Offset.dx] values of [alignmentOffset] move the menu position to the right. In a [TextDirection.rtl] directionality, increasing [Offset.dx] values of [alignmentOffset] move the menu position to the left. Defaults to [Offset.zero].'flutter.material.MenuBar.shortcuts_noteMenus using [MenuItemButton] can have a [SingleActivator] or [CharacterActivator] assigned to them as their [MenuItemButton.shortcut], which will display an appropriate shortcut hint. Even though the shortcut labels are displayed in the menu, shortcuts are not automatically handled. They must be available in whatever context they are appropriate, and handled via another mechanism. If shortcuts should be generally enabled, but are not easily defined in a context surrounding the menu bar, consider registering them with a [ShortcutRegistry] (one is already included in the [WidgetsApp], and thus also [MaterialApp] and [CupertinoApp]), as shown in the example below. To be sure that selecting a menu item and triggering the shortcut do the same thing, it is recommended that they call the same callback. {@tool dartpad} This example shows a [MenuBar] that contains a single top level menu, containing three items: "About", a checkbox menu item for showing a message, and "Quit". The items are identified with an enum value, and the shortcuts are registered globally with the [ShortcutRegistry]. ** See code in examples/api/lib/material/menu_anchor/menu_bar.0.dart ** {@end-tool},flutter.material.menu_anchor.closeOnActivate\Determines if the menu will be closed when a [MenuItemButton] is pressed. Defaults to true.@flutter.material.menu_anchor.menu_accelerator_child_builder.args$The arguments to the function are as follows: * The `context` supplies the [BuildContext] to use. * The `label` is the [MenuAcceleratorLabel.label] attribute for the relevant [MenuAcceleratorLabel] with the accelerator markers stripped out of it. * The `index` is the index of the accelerator character within the `label.characters` that applies to this accelerator. If it is -1, then the accelerator should not be highlighted. Otherwise, the given character should be highlighted somehow in the rendered label (typically with an underscore). Importantly, `index` is not an index into the [String] `label`, it is an index into the [Characters] iterable returned by `label.characters`, so that it is in terms of user-visible characters (a.k.a. grapheme clusters), not Unicode code points.8flutter.material.MenuAcceleratorLabel.accelerator_sample{@tool dartpad} This example shows a [MenuBar] that handles keyboard accelerators using [MenuAcceleratorLabel]. To use the accelerators, press the Alt key to see which letters are underlined in the menu bar, and then press the appropriate letter. Accelerators are not supported on macOS or iOS since those platforms don't support them natively, so this demo will only show a regular Material menu bar on those platforms. ** See code in examples/api/lib/material/menu_anchor/menu_accelerator_label.0.dart ** {@end-tool}9flutter.material.menu_anchor.menu_accelerator_label.labelTo indicate which letters in the label are to be used as accelerators, add an "&" character before the character in the string. If more than one character has an "&" in front of it, then the characters appearing earlier in the string are preferred. To represent a literal "&", insert "&&" into the string. All other ampersands will be removed from the string before calling [MenuAcceleratorLabel.builder]. Bare ampersands at the end of the string or before whitespace are stripped and ignored.X