flutter/examples/api/test/material
davidhicks980 faabe3af72
[material/menu_anchor.dart] MenuAnchor focus refactoring for RawMenuAnchor (#150950)
This PR is aimed at (1) reducing the private API surface of _MenuAnchorState to make migration into RawMenuAnchor simpler, and (2) fixing focus-related bugs. 

Directional focus handling was moved from MenuAnchor (_MenuDirectionalFocusAction, _MenuNextFocusAction, and _MenuPreviousFocusAction) into SubmenuButton (_SubmenuDirectionalFocusAction). MenuAnchor now behaves similarly to a flat FocusScope, which makes it easier to customize. A future PR will ideally expose or remove the remaining internals (_lastItemFocusNode, _firstItemFocusNode, _isRoot, etc). All previous framework tests are passing, and additional tests were added for fixes (MenuAnchor tab traversal, reopened menus not being focusable), and to test MenuAnchor focus behavior separately from MenuBar. 

However, [one example test](https://github.com/flutter/flutter/pull/150950/files#diff-a33fa01b59d280784e7c8ed6b704bd005cde95b7d3b649dc82fd58530061a09d) had to be changed. I'm not sure why the previous example test was working to begin with, as submenu buttons are supposed to open on focus, but this behavior was not observed in the original test. 

Fixes https://github.com/flutter/flutter/issues/144381, https://github.com/flutter/flutter/issues/150334.

One added feature is the ability to move between top-level horizontal submenus if a horizontal movement is made on a vertical menu item that has no children in the movement direction. This behavior was observed on Google Docs, MacOS, and various other menu systems I encountered.

https://github.com/flutter/flutter/assets/59215665/04a42b8a-cc9e-4a50-9d0c-6f2d784cfc78
2024-08-06 19:04:11 +00:00
..
about Add tests for about_list_tile.0.dart (#150181) 2024-06-19 07:40:31 +00:00
action_buttons Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
action_chip Update Chips examples and rename files (#108538) 2022-07-29 07:17:06 +00:00
animated_icon Move AnimatedIcons example and fix typo in cupertino/text_selection_toolbar.dart (#113937) 2022-10-25 07:27:06 +00:00
app Reland "Reland - Introduce tone-based surfaces and accent color add-ons - Part 2" (#144273) 2024-02-28 13:55:50 -08:00
app_bar Add a custom shape example for AppBar.shape (#146421) 2024-04-08 18:42:07 +00:00
autocomplete Fix bug in Autocomplete example (#127219) 2023-05-22 16:55:21 +00:00
badge Add Badge example (#148053) 2024-05-09 16:47:16 +00:00
banner Add tests for material banner example (#147733) 2024-05-23 18:48:09 +00:00
bottom_navigation_bar Write tests for API examples of BottomNavigationBar and IconButton (#138188) 2023-11-27 17:26:37 +00:00
bottom_sheet Add AnimationStyle to showBottomSheet and showModalBottomSheet (#145536) 2024-03-25 08:39:05 +00:00
button_style Added missing tests for ButtonStyle example (#147457) 2024-05-07 09:00:27 +00:00
button_style_button Introduce iconAlignment for the buttons with icon (#137348) 2024-02-12 17:08:20 +00:00
card Reland "Reland - Introduce tone-based surfaces and accent color add-ons - Part 2" (#144273) 2024-02-28 13:55:50 -08:00
carousel Create CarouselView widget - Part 2 (#149775) 2024-07-17 19:56:01 +00:00
checkbox Write unit tests for API Examples of checkbox.0, checkbox.1 (#144888) 2024-03-12 16:25:58 +00:00
checkbox_list_tile Add Material 3 SwitchListTile example and update existing examples (#119714) 2023-02-06 09:02:37 +00:00
chip Add tests for deletable_chip_attributes.on_deleted.0.dart (#152361) 2024-07-29 06:52:25 +00:00
choice_chip Fix typos (#121171) 2023-02-23 19:43:21 +00:00
color_scheme Fix ColorScheme example and tests (#150018) 2024-06-12 05:07:23 +00:00
context_menu Implement SelectionArea single click/tap gestures (#132682) 2023-09-28 01:42:16 +00:00
data_table Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 (#139258) 2023-11-30 20:07:00 +00:00
date_picker Fix CalendarDatePicker day selection shape and overlay (#144317) 2024-03-01 12:44:29 +00:00
dialog Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
divider Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
drawer Add missing example links (#130521) 2023-07-17 18:24:49 +00:00
dropdown Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
dropdown_menu Add test for dropdown_menu.1.dart (#149547) 2024-06-07 07:13:02 +00:00
elevated_button Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
expansion_panel Add test for expansion_panel_list.expansion_panel_list_radio.0_test.dart (#151730) 2024-07-25 20:49:32 +00:00
expansion_tile Add AnimationStyle to ExpansionTile (#139664) 2023-12-06 16:40:24 +00:00
filled_button Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
filter_chip Update Chips examples and rename files (#108538) 2022-07-29 07:17:06 +00:00
floating_action_button Add FAB Additional Color Mappings example (#133453) 2023-08-29 17:31:02 +00:00
floating_action_button_location Add test for standard_fab_location.0.dart (#149225) 2024-06-07 07:08:53 +00:00
icon_button Add test for icon_button.3.dart (#149988) 2024-06-18 15:03:59 +00:00
ink Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
ink_well Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 (#139258) 2023-11-30 20:07:00 +00:00
input_chip Add an example for InputChip generated by user input (#130645) 2023-09-01 00:02:04 +00:00
input_decorator Test InputDecoration API examples (#148560) 2024-06-20 16:02:07 +00:00
list_tile Updated custom ListTile examples (#128071) 2023-06-01 16:21:42 -07:00
material_state Add tests for material_state_border_side.0_test.dart (#151089) 2024-07-08 11:29:38 +00:00
menu_anchor [material/menu_anchor.dart] MenuAnchor focus refactoring for RawMenuAnchor (#150950) 2024-08-06 19:04:11 +00:00
navigation_bar Add Badge widget to NavigationBar and NavigationRail examples (#129834) 2023-07-11 09:30:05 +00:00
navigation_drawer Add missing example links (#130521) 2023-07-17 18:24:49 +00:00
navigation_rail Fixed a lot of typos (#141431) 2024-01-12 22:10:25 +00:00
outlined_button Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
page_transitions_theme Remove 1745 decorative breaks (#123259) 2023-03-22 21:12:22 +00:00
paginated_data_table PaginatedDataTable improvements (#131374) 2023-08-15 00:55:07 +00:00
popup_menu Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
progress_indicator Add Material 3 ProgressIndicator examples (#113950) 2022-10-25 07:27:08 +00:00
radio Add test for radio.toggleable.0.dart (#149153) 2024-05-29 18:30:57 +00:00
radio_list_tile Add Material 3 RadioListTile example and update existing examples (#119716) 2023-02-03 16:27:43 +00:00
range_slider Add test for range_slider.0.dart (#152152) 2024-07-26 13:18:26 +00:00
refresh_indicator Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
reorderable_list Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
scaffold Add tests for scaffold messenger state (#152735) 2024-08-02 19:46:04 +00:00
scrollbar Add test for scrollbar.1.dart (#151463) 2024-07-19 09:23:32 +00:00
search_anchor Fix formatting issues in search_anchor.0_test.dart (#152669) 2024-08-01 08:59:17 +00:00
segmented_button Add test for segmented_button.0.dart (#150676) 2024-06-29 06:29:33 +00:00
slider Add Material 3 Slider example (#115638) 2022-12-01 00:00:19 +00:00
snack_bar Test snack bar examples (#147774) 2024-05-23 18:54:11 +00:00
stepper testAdd tests for stepper.controls_builder.0.dart (#150669) 2024-07-09 22:13:12 +00:00
switch Adaptive Switch (#130425) 2023-11-07 10:26:23 -08:00
switch_list_tile Add Material 3 SwitchListTile example and update existing examples (#119714) 2023-02-06 09:02:37 +00:00
tab_controller Add test for tab_controller.1.dart API example. (#148189) 2024-05-20 15:33:16 +00:00
tabs Introduce TabBar.indicatorAnimation to customize tab indicator animation (#151746) 2024-07-26 11:54:28 +00:00
text_button Updated the smiley TextButton example again (#144630) 2024-03-05 20:57:02 +00:00
text_field test material text field example (#147864) 2024-05-14 20:46:46 +00:00
text_form_field Reland Add tests for form_text_field.1.dart (#150481) (#150696) (#150750) 2024-06-25 12:00:22 +00:00
theme Add tests for theme_extension.1.dart API example. (#145819) 2024-04-03 23:39:17 +00:00
theme_data Updated the ThemeData API example (#130954) 2023-07-20 13:12:34 -07:00
time_picker Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
toggle_buttons Remove double MaterialApp wrap from api samples (#150055) 2024-06-12 05:22:23 +00:00
tooltip Introduce exitDuration to Tooltip for mouse pointer devices (#138321) 2023-12-07 21:20:06 +00:00