mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
<!-- Thanks for filing a pull request! Reviewers are typically assigned within a week of filing a request. To learn more about code review, see our documentation on Tree Hygiene: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md --> ### This PR fixes #166398 - Adds focus support for `CupertinoActionSheetAction`. This makes it work with keyboard shortcuts - Creates new widget, `CupertinoTraversalGroup` that applies a Cupertino style focus border around its child when any of its descendant has focus - Employs `CupertinoTraversalGroup` in `CupertinoActionSheet` How the new implementation looks and behaves: https://github.com/user-attachments/assets/ea6789f1-921d-4598-bcca-489dc063ff73 How the native counterpart looks and behaves: https://github.com/user-attachments/assets/4c6ae2a0-7205-4de2-b981-ec7f4839da6e ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
77 lines
3.0 KiB
Dart
77 lines
3.0 KiB
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
/// Flutter widgets implementing the current iOS design language.
|
|
///
|
|
/// To use, import `package:flutter/cupertino.dart`.
|
|
///
|
|
/// This library is designed for apps that run on iOS. For apps that may also
|
|
/// run on other operating systems, we encourage use of other widgets, for
|
|
/// example the [Material
|
|
/// Design](https://docs.flutter.dev/ui/widgets/material) set.
|
|
///
|
|
/// {@youtube 560 315 https://www.youtube.com/watch?v=3PdUaidHc-E}
|
|
///
|
|
/// See also:
|
|
///
|
|
/// * [flutter.dev/widgets/cupertino](https://docs.flutter.dev/ui/widgets/cupertino)
|
|
/// for a catalog of all Cupertino widgets.
|
|
/// * [flutter.dev/widgets](https://docs.flutter.dev/ui/widgets)
|
|
/// for a catalog of commonly-used Flutter widgets.
|
|
|
|
library cupertino;
|
|
|
|
export 'src/cupertino/activity_indicator.dart';
|
|
export 'src/cupertino/adaptive_text_selection_toolbar.dart';
|
|
export 'src/cupertino/app.dart';
|
|
export 'src/cupertino/bottom_tab_bar.dart';
|
|
export 'src/cupertino/button.dart';
|
|
export 'src/cupertino/checkbox.dart';
|
|
export 'src/cupertino/colors.dart';
|
|
export 'src/cupertino/constants.dart';
|
|
export 'src/cupertino/context_menu.dart';
|
|
export 'src/cupertino/context_menu_action.dart';
|
|
export 'src/cupertino/cupertino_focus_halo.dart';
|
|
export 'src/cupertino/date_picker.dart';
|
|
export 'src/cupertino/debug.dart';
|
|
export 'src/cupertino/desktop_text_selection.dart';
|
|
export 'src/cupertino/desktop_text_selection_toolbar.dart';
|
|
export 'src/cupertino/desktop_text_selection_toolbar_button.dart';
|
|
export 'src/cupertino/dialog.dart';
|
|
export 'src/cupertino/expansion_tile.dart';
|
|
export 'src/cupertino/form_row.dart';
|
|
export 'src/cupertino/form_section.dart';
|
|
export 'src/cupertino/icon_theme_data.dart';
|
|
export 'src/cupertino/icons.dart';
|
|
export 'src/cupertino/interface_level.dart';
|
|
export 'src/cupertino/list_section.dart';
|
|
export 'src/cupertino/list_tile.dart';
|
|
export 'src/cupertino/localizations.dart';
|
|
export 'src/cupertino/magnifier.dart';
|
|
export 'src/cupertino/nav_bar.dart';
|
|
export 'src/cupertino/page_scaffold.dart';
|
|
export 'src/cupertino/picker.dart';
|
|
export 'src/cupertino/radio.dart';
|
|
export 'src/cupertino/refresh.dart';
|
|
export 'src/cupertino/route.dart';
|
|
export 'src/cupertino/scrollbar.dart';
|
|
export 'src/cupertino/search_field.dart';
|
|
export 'src/cupertino/segmented_control.dart';
|
|
export 'src/cupertino/sheet.dart';
|
|
export 'src/cupertino/slider.dart';
|
|
export 'src/cupertino/sliding_segmented_control.dart';
|
|
export 'src/cupertino/spell_check_suggestions_toolbar.dart';
|
|
export 'src/cupertino/switch.dart';
|
|
export 'src/cupertino/tab_scaffold.dart';
|
|
export 'src/cupertino/tab_view.dart';
|
|
export 'src/cupertino/text_field.dart';
|
|
export 'src/cupertino/text_form_field_row.dart';
|
|
export 'src/cupertino/text_selection.dart';
|
|
export 'src/cupertino/text_selection_toolbar.dart';
|
|
export 'src/cupertino/text_selection_toolbar_button.dart';
|
|
export 'src/cupertino/text_theme.dart';
|
|
export 'src/cupertino/theme.dart';
|
|
export 'src/cupertino/thumb_painter.dart';
|
|
export 'widgets.dart';
|