From c9994f7848c4235d2a1f9ad480f902ea99c869b9 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 12:12:13 -0600 Subject: [PATCH 01/10] Initial package set up --- packages/cupertino_ui/.gitignore | 31 +++++++++++ packages/cupertino_ui/.metadata | 10 ++++ packages/cupertino_ui/CHANGELOG.md | 3 ++ packages/cupertino_ui/LICENSE | 1 + packages/cupertino_ui/README.md | 39 ++++++++++++++ packages/cupertino_ui/analysis_options.yaml | 4 ++ packages/cupertino_ui/lib/cupertino_ui.dart | 5 ++ packages/cupertino_ui/pubspec.yaml | 54 +++++++++++++++++++ .../cupertino_ui/test/cupertino_ui_test.dart | 12 +++++ 9 files changed, 159 insertions(+) create mode 100644 packages/cupertino_ui/.gitignore create mode 100644 packages/cupertino_ui/.metadata create mode 100644 packages/cupertino_ui/CHANGELOG.md create mode 100644 packages/cupertino_ui/LICENSE create mode 100644 packages/cupertino_ui/README.md create mode 100644 packages/cupertino_ui/analysis_options.yaml create mode 100644 packages/cupertino_ui/lib/cupertino_ui.dart create mode 100644 packages/cupertino_ui/pubspec.yaml create mode 100644 packages/cupertino_ui/test/cupertino_ui_test.dart diff --git a/packages/cupertino_ui/.gitignore b/packages/cupertino_ui/.gitignore new file mode 100644 index 000000000000..dd5eb98951f2 --- /dev/null +++ b/packages/cupertino_ui/.gitignore @@ -0,0 +1,31 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +.flutter-plugins-dependencies +/build/ +/coverage/ diff --git a/packages/cupertino_ui/.metadata b/packages/cupertino_ui/.metadata new file mode 100644 index 000000000000..e44d1b1ea178 --- /dev/null +++ b/packages/cupertino_ui/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "4d0d113b75746f1ec1d93a976f0f02f6bb61dc2d" + channel: "[user-branch]" + +project_type: package diff --git a/packages/cupertino_ui/CHANGELOG.md b/packages/cupertino_ui/CHANGELOG.md new file mode 100644 index 000000000000..41cc7d8192ec --- /dev/null +++ b/packages/cupertino_ui/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* TODO: Describe initial release. diff --git a/packages/cupertino_ui/LICENSE b/packages/cupertino_ui/LICENSE new file mode 100644 index 000000000000..ba75c69f7f21 --- /dev/null +++ b/packages/cupertino_ui/LICENSE @@ -0,0 +1 @@ +TODO: Add your license here. diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md new file mode 100644 index 000000000000..4a260d8d279a --- /dev/null +++ b/packages/cupertino_ui/README.md @@ -0,0 +1,39 @@ + + +TODO: Put a short description of the package here that helps potential users +know whether this package might be useful for them. + +## Features + +TODO: List what your package can do. Maybe include images, gifs, or videos. + +## Getting started + +TODO: List prerequisites and provide or point to information on how to +start using the package. + +## Usage + +TODO: Include short and useful examples for package users. Add longer examples +to `/example` folder. + +```dart +const like = 'sample'; +``` + +## Additional information + +TODO: Tell users more about the package: where to find more information, how to +contribute to the package, how to file issues, what response they can expect +from the package authors, and more. diff --git a/packages/cupertino_ui/analysis_options.yaml b/packages/cupertino_ui/analysis_options.yaml new file mode 100644 index 000000000000..a5744c1cfbe7 --- /dev/null +++ b/packages/cupertino_ui/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/packages/cupertino_ui/lib/cupertino_ui.dart b/packages/cupertino_ui/lib/cupertino_ui.dart new file mode 100644 index 000000000000..298576d81397 --- /dev/null +++ b/packages/cupertino_ui/lib/cupertino_ui.dart @@ -0,0 +1,5 @@ +/// A Calculator. +class Calculator { + /// Returns [value] plus 1. + int addOne(int value) => value + 1; +} diff --git a/packages/cupertino_ui/pubspec.yaml b/packages/cupertino_ui/pubspec.yaml new file mode 100644 index 000000000000..fb0c7d043f13 --- /dev/null +++ b/packages/cupertino_ui/pubspec.yaml @@ -0,0 +1,54 @@ +name: cupertino_ui +description: "A new Flutter package project." +version: 0.0.1 +homepage: + +environment: + sdk: ^3.12.0-141.0.dev + flutter: ">=1.17.0" + +dependencies: + flutter: + sdk: flutter + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^6.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # To add assets to your package, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + # + # For details regarding assets in packages, see + # https://flutter.dev/to/asset-from-package + # + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/to/resolution-aware-images + + # To add custom fonts to your package, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts in packages, see + # https://flutter.dev/to/font-from-package diff --git a/packages/cupertino_ui/test/cupertino_ui_test.dart b/packages/cupertino_ui/test/cupertino_ui_test.dart new file mode 100644 index 000000000000..002943b83f81 --- /dev/null +++ b/packages/cupertino_ui/test/cupertino_ui_test.dart @@ -0,0 +1,12 @@ +import 'package:flutter_test/flutter_test.dart'; + +import 'package:cupertino_ui/cupertino_ui.dart'; + +void main() { + test('adds one to input values', () { + final calculator = Calculator(); + expect(calculator.addOne(2), 3); + expect(calculator.addOne(-7), -6); + expect(calculator.addOne(0), 1); + }); +} From fdb1cd19ba382af06bf7cdbf8e867d6f98a90b30 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 12:13:46 -0600 Subject: [PATCH 02/10] README --- packages/cupertino_ui/README.md | 43 +++++++++++---------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index 4a260d8d279a..d1b8fbc85bab 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -1,39 +1,24 @@ - +`cupertino_ui` will contain the standard collection of high-fidelity visual components that implement the latest iOS design language (buttons, navigation bars, pickers, etc.). -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +**Note:** This package will contain the cupertino library previously part of the Flutter framework itself (`package:flutter/cupertino.dart`). It is being decoupled to allow for faster iteration and a more modular ecosystem. -## Features +## 📦 What's (going to be) Inside? -TODO: List what your package can do. Maybe include images, gifs, or videos. +This package will provide the Cupertino widgets you know and love, including but not limited to: -## Getting started +* **Structure:** `CupertinoPageScaffold`, `CupertinoNavigationBar` +* **Inputs:** `CupertinoButton`, `CupertinoTextField`, `CupertinoSwitch` +* **Dialogs:** `CupertinoAlertDialog`, `CupertinoActionSheet` -TODO: List prerequisites and provide or point to information on how to -start using the package. +Once landed and published, look forward to updates from [iOS26](https://github.com/flutter/flutter/issues/170310)\! 🚀 -## Usage +## 📢 Feedback & Roadmap -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. +We are currently migrating the Cupertino library out of the core framework. -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +* **Follow the progress:** [Decoupling Github Project](https://github.com/orgs/flutter/projects/220) +* **Report bugs:** [Cupertino issues in Flutter](https://github.com/flutter/flutter/issues?q=is%3Aopen%20is%3Aissue%20label%3A%22f%3A%20cupertino%22) From bc3b9533f39cb62a8e701ac22e82d2f45e25853d Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 12:30:13 -0600 Subject: [PATCH 03/10] Further set up --- packages/cupertino_ui/AUTHORS | 6 +++ packages/cupertino_ui/CHANGELOG.md | 2 +- packages/cupertino_ui/LICENSE | 26 +++++++++- packages/cupertino_ui/lib/cupertino_ui.dart | 15 ++++-- packages/cupertino_ui/pubspec.yaml | 51 ++++--------------- .../cupertino_ui/test/cupertino_ui_test.dart | 11 ++-- 6 files changed, 58 insertions(+), 53 deletions(-) create mode 100644 packages/cupertino_ui/AUTHORS diff --git a/packages/cupertino_ui/AUTHORS b/packages/cupertino_ui/AUTHORS new file mode 100644 index 000000000000..557dff97933b --- /dev/null +++ b/packages/cupertino_ui/AUTHORS @@ -0,0 +1,6 @@ +# Below is a list of people and organizations that have contributed +# to the Flutter project. Names should be added to the list like so: +# +# Name/Organization + +Google Inc. diff --git a/packages/cupertino_ui/CHANGELOG.md b/packages/cupertino_ui/CHANGELOG.md index 41cc7d8192ec..21a3480856b2 100644 --- a/packages/cupertino_ui/CHANGELOG.md +++ b/packages/cupertino_ui/CHANGELOG.md @@ -1,3 +1,3 @@ ## 0.0.1 -* TODO: Describe initial release. +* Initial setup - coming soon! diff --git a/packages/cupertino_ui/LICENSE b/packages/cupertino_ui/LICENSE index ba75c69f7f21..29b709dac6c7 100644 --- a/packages/cupertino_ui/LICENSE +++ b/packages/cupertino_ui/LICENSE @@ -1 +1,25 @@ -TODO: Add your license here. +Copyright 2013 The Flutter Authors + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/cupertino_ui/lib/cupertino_ui.dart b/packages/cupertino_ui/lib/cupertino_ui.dart index 298576d81397..9acb19873d90 100644 --- a/packages/cupertino_ui/lib/cupertino_ui.dart +++ b/packages/cupertino_ui/lib/cupertino_ui.dart @@ -1,5 +1,10 @@ -/// A Calculator. -class Calculator { - /// Returns [value] plus 1. - int addOne(int value) => value + 1; -} +// Copyright 2013 The Flutter Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/// The Flutter Cupertino Design library. +/// +/// To use, import `package:cupertino_ui/cupertino_ui.dart`. +library cupertino_ui; + +export 'package:flutter/cupertino.dart'; \ No newline at end of file diff --git a/packages/cupertino_ui/pubspec.yaml b/packages/cupertino_ui/pubspec.yaml index fb0c7d043f13..dea56a311a36 100644 --- a/packages/cupertino_ui/pubspec.yaml +++ b/packages/cupertino_ui/pubspec.yaml @@ -1,11 +1,12 @@ name: cupertino_ui -description: "A new Flutter package project." +description: The Flutter Cupertino Design Library version: 0.0.1 -homepage: +repository: https://github.com/flutter/packages/tree/main/packages/cupertino_ui +issue_tracker: https://github.com/flutter/flutter/issues?q=state%3Aopen%20label%3A%22f%3A%20cupertino%22 environment: - sdk: ^3.12.0-141.0.dev - flutter: ">=1.17.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" dependencies: flutter: @@ -14,41 +15,9 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^6.0.0 -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. -flutter: - - # To add assets to your package, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - # - # For details regarding assets in packages, see - # https://flutter.dev/to/asset-from-package - # - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/to/resolution-aware-images - - # To add custom fonts to your package, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts in packages, see - # https://flutter.dev/to/font-from-package +topics: + - ui + - widgets + - cupertino + - ios diff --git a/packages/cupertino_ui/test/cupertino_ui_test.dart b/packages/cupertino_ui/test/cupertino_ui_test.dart index 002943b83f81..a8377a264be4 100644 --- a/packages/cupertino_ui/test/cupertino_ui_test.dart +++ b/packages/cupertino_ui/test/cupertino_ui_test.dart @@ -1,12 +1,13 @@ +// Copyright 2013 The Flutter Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + import 'package:flutter_test/flutter_test.dart'; import 'package:cupertino_ui/cupertino_ui.dart'; void main() { - test('adds one to input values', () { - final calculator = Calculator(); - expect(calculator.addOne(2), 3); - expect(calculator.addOne(-7), -6); - expect(calculator.addOne(0), 1); + testWidgets('Cupertino library is exported', (WidgetTester tester) async { + await tester.pumpWidget(const CupertinoApp()); }); } From 095522db86379f9e42d758a2f3b54ca3921f2269 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 12:33:30 -0600 Subject: [PATCH 04/10] ++ --- packages/cupertino_ui/analysis_options.yaml | 4 ---- packages/cupertino_ui/lib/cupertino_ui.dart | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 packages/cupertino_ui/analysis_options.yaml diff --git a/packages/cupertino_ui/analysis_options.yaml b/packages/cupertino_ui/analysis_options.yaml deleted file mode 100644 index a5744c1cfbe7..000000000000 --- a/packages/cupertino_ui/analysis_options.yaml +++ /dev/null @@ -1,4 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/cupertino_ui/lib/cupertino_ui.dart b/packages/cupertino_ui/lib/cupertino_ui.dart index 9acb19873d90..44384ed9496e 100644 --- a/packages/cupertino_ui/lib/cupertino_ui.dart +++ b/packages/cupertino_ui/lib/cupertino_ui.dart @@ -7,4 +7,4 @@ /// To use, import `package:cupertino_ui/cupertino_ui.dart`. library cupertino_ui; -export 'package:flutter/cupertino.dart'; \ No newline at end of file +export 'package:flutter/cupertino.dart'; From a61050bf2ee37b172b6c43c7f10a4349d328ee06 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 12:41:37 -0600 Subject: [PATCH 05/10] Repo-level setup --- .github/labeler.yml | 6 ++++++ CODEOWNERS | 1 + 2 files changed, 7 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index ecd5359bbc91..d5698cc29c6f 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -18,6 +18,11 @@ - any-glob-to-any-file: - third_party/packages/cupertino_icons/**/* +'p: cupertino_ui' + - changed-files: + - any-glob-to-any-file: + - third_party/packages/cupertino_ui/**/* + 'p: espresso': - changed-files: - any-glob-to-any-file: @@ -266,6 +271,7 @@ - changed-files: - any-glob-to-any-file: - packages/animations/**/* + - packages/cupertino_ui/**/* - packages/flutter_lints/**/* - packages/go_router/**/* - packages/go_router_builder/**/* diff --git a/CODEOWNERS b/CODEOWNERS index c3c019649b1d..d8cf53f120b2 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,6 +7,7 @@ packages/animations/** @hannah-hyj packages/camera/** @bparrishMines packages/cross_file/** @stuartmorgan-g +packages/cupertino_ui/** @dkwingsmt packages/extension_google_sign_in_as_googleapis_auth/** @stuartmorgan-g packages/file_selector/** @stuartmorgan-g packages/flutter_lints/** @chunhtai From a32711df3ebf9fa7632b52549520f82fd7a2e2b4 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 12:52:39 -0600 Subject: [PATCH 06/10] Analysis --- packages/cupertino_ui/test/cupertino_ui_test.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/cupertino_ui/test/cupertino_ui_test.dart b/packages/cupertino_ui/test/cupertino_ui_test.dart index a8377a264be4..88e2c4b6754f 100644 --- a/packages/cupertino_ui/test/cupertino_ui_test.dart +++ b/packages/cupertino_ui/test/cupertino_ui_test.dart @@ -2,12 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter_test/flutter_test.dart'; - import 'package:cupertino_ui/cupertino_ui.dart'; +import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('Cupertino library is exported', (WidgetTester tester) async { - await tester.pumpWidget(const CupertinoApp()); + await tester.pumpWidget(const CupertinoApp(home: SizedBox.shrink())); }); } From ad505a280c32cebc785ee36a373ce9c2886b883c Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 15:01:49 -0600 Subject: [PATCH 07/10] Review Feedback --- README.md | 1 + packages/cupertino_ui/CHANGELOG.md | 2 +- packages/cupertino_ui/README.md | 4 ++-- packages/cupertino_ui/pubspec.yaml | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 412f66ad3d88..835094aea1ce 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ These are the packages hosted in this repository: | [camera](./packages/camera/) | [![pub package](https://img.shields.io/pub/v/camera.svg)](https://pub.dev/packages/camera) | [![pub points](https://img.shields.io/pub/points/camera)](https://pub.dev/packages/camera/score) | [![downloads](https://img.shields.io/pub/dm/camera)](https://pub.dev/packages/camera/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20camera?label=)](https://github.com/flutter/flutter/labels/p%3A%20camera) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20camera?label=)](https://github.com/flutter/packages/labels/p%3A%20camera) | | [cross\_file](./packages/cross_file/) | [![pub package](https://img.shields.io/pub/v/cross_file.svg)](https://pub.dev/packages/cross_file) | [![pub points](https://img.shields.io/pub/points/cross_file)](https://pub.dev/packages/cross_file/score) | [![downloads](https://img.shields.io/pub/dm/cross_file)](https://pub.dev/packages/cross_file/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cross_file?label=)](https://github.com/flutter/flutter/labels/p%3A%20cross_file) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cross_file?label=)](https://github.com/flutter/packages/labels/p%3A%20cross_file) | | [cupertino\_icons](./third_party/packages/cupertino_icons/) | [![pub package](https://img.shields.io/pub/v/cupertino_icons.svg)](https://pub.dev/packages/cupertino_icons) | [![pub points](https://img.shields.io/pub/points/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino_icons?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino_icons) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_icons?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_icons) | +| [cupertino\_ui](./third_party/packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/f%3A%20cupertino?label=)](https://github.com/flutter/flutter/labels/f%3A%20cupertino) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | | [espresso](./packages/espresso/) | [![pub package](https://img.shields.io/pub/v/espresso.svg)](https://pub.dev/packages/espresso) | [![pub points](https://img.shields.io/pub/points/espresso)](https://pub.dev/packages/espresso/score) | [![downloads](https://img.shields.io/pub/dm/espresso)](https://pub.dev/packages/espresso/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20espresso?label=)](https://github.com/flutter/flutter/labels/p%3A%20espresso) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20espresso?label=)](https://github.com/flutter/packages/labels/p%3A%20espresso) | | [extension\_google\_sign\_in\_as\_googleapis\_auth](./packages/extension_google_sign_in_as_googleapis_auth/) | [![pub package](https://img.shields.io/pub/v/extension_google_sign_in_as_googleapis_auth.svg)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth) | [![pub points](https://img.shields.io/pub/points/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![downloads](https://img.shields.io/pub/dm/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/flutter/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/packages/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | | [file\_selector](./packages/file_selector/) | [![pub package](https://img.shields.io/pub/v/file_selector.svg)](https://pub.dev/packages/file_selector) | [![pub points](https://img.shields.io/pub/points/file_selector)](https://pub.dev/packages/file_selector/score) | [![downloads](https://img.shields.io/pub/dm/file_selector)](https://pub.dev/packages/file_selector/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20file_selector?label=)](https://github.com/flutter/flutter/labels/p%3A%20file_selector) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20file_selector?label=)](https://github.com/flutter/packages/labels/p%3A%20file_selector) | diff --git a/packages/cupertino_ui/CHANGELOG.md b/packages/cupertino_ui/CHANGELOG.md index 21a3480856b2..de9bfc1600b8 100644 --- a/packages/cupertino_ui/CHANGELOG.md +++ b/packages/cupertino_ui/CHANGELOG.md @@ -1,3 +1,3 @@ ## 0.0.1 -* Initial setup - coming soon! +* Initial setup of the `cupertino_ui` package, preparing for decoupling Cupertino widgets from the Flutter framework. diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index d1b8fbc85bab..b9b17ea7e56b 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -6,7 +6,7 @@ **Note:** This package will contain the cupertino library previously part of the Flutter framework itself (`package:flutter/cupertino.dart`). It is being decoupled to allow for faster iteration and a more modular ecosystem. -## 📦 What's (going to be) Inside? +## What's (going to be) Inside? This package will provide the Cupertino widgets you know and love, including but not limited to: @@ -16,7 +16,7 @@ This package will provide the Cupertino widgets you know and love, including but Once landed and published, look forward to updates from [iOS26](https://github.com/flutter/flutter/issues/170310)\! 🚀 -## 📢 Feedback & Roadmap +## Feedback & Roadmap We are currently migrating the Cupertino library out of the core framework. diff --git a/packages/cupertino_ui/pubspec.yaml b/packages/cupertino_ui/pubspec.yaml index dea56a311a36..c6567a1aeb1b 100644 --- a/packages/cupertino_ui/pubspec.yaml +++ b/packages/cupertino_ui/pubspec.yaml @@ -1,8 +1,8 @@ name: cupertino_ui -description: The Flutter Cupertino Design Library +description: The official Flutter Cupertino Design Library, implementing the iOS design system. version: 0.0.1 repository: https://github.com/flutter/packages/tree/main/packages/cupertino_ui -issue_tracker: https://github.com/flutter/flutter/issues?q=state%3Aopen%20label%3A%22f%3A%20cupertino%22 +issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aopen%20label%3A%22f%3A%20cupertino%22 environment: sdk: ^3.9.0 From 4517cb1b10db15df66d664399c4216888031a290 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 15:17:05 -0600 Subject: [PATCH 08/10] Copy pasta --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 835094aea1ce..cece06b5027b 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ These are the packages hosted in this repository: | [camera](./packages/camera/) | [![pub package](https://img.shields.io/pub/v/camera.svg)](https://pub.dev/packages/camera) | [![pub points](https://img.shields.io/pub/points/camera)](https://pub.dev/packages/camera/score) | [![downloads](https://img.shields.io/pub/dm/camera)](https://pub.dev/packages/camera/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20camera?label=)](https://github.com/flutter/flutter/labels/p%3A%20camera) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20camera?label=)](https://github.com/flutter/packages/labels/p%3A%20camera) | | [cross\_file](./packages/cross_file/) | [![pub package](https://img.shields.io/pub/v/cross_file.svg)](https://pub.dev/packages/cross_file) | [![pub points](https://img.shields.io/pub/points/cross_file)](https://pub.dev/packages/cross_file/score) | [![downloads](https://img.shields.io/pub/dm/cross_file)](https://pub.dev/packages/cross_file/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cross_file?label=)](https://github.com/flutter/flutter/labels/p%3A%20cross_file) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cross_file?label=)](https://github.com/flutter/packages/labels/p%3A%20cross_file) | | [cupertino\_icons](./third_party/packages/cupertino_icons/) | [![pub package](https://img.shields.io/pub/v/cupertino_icons.svg)](https://pub.dev/packages/cupertino_icons) | [![pub points](https://img.shields.io/pub/points/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino_icons?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino_icons) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_icons?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_icons) | -| [cupertino\_ui](./third_party/packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/f%3A%20cupertino?label=)](https://github.com/flutter/flutter/labels/f%3A%20cupertino) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | +| [cupertino\_ui](./packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/f%3A%20cupertino?label=)](https://github.com/flutter/flutter/labels/f%3A%20cupertino) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | | [espresso](./packages/espresso/) | [![pub package](https://img.shields.io/pub/v/espresso.svg)](https://pub.dev/packages/espresso) | [![pub points](https://img.shields.io/pub/points/espresso)](https://pub.dev/packages/espresso/score) | [![downloads](https://img.shields.io/pub/dm/espresso)](https://pub.dev/packages/espresso/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20espresso?label=)](https://github.com/flutter/flutter/labels/p%3A%20espresso) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20espresso?label=)](https://github.com/flutter/packages/labels/p%3A%20espresso) | | [extension\_google\_sign\_in\_as\_googleapis\_auth](./packages/extension_google_sign_in_as_googleapis_auth/) | [![pub package](https://img.shields.io/pub/v/extension_google_sign_in_as_googleapis_auth.svg)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth) | [![pub points](https://img.shields.io/pub/points/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![downloads](https://img.shields.io/pub/dm/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/flutter/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/packages/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | | [file\_selector](./packages/file_selector/) | [![pub package](https://img.shields.io/pub/v/file_selector.svg)](https://pub.dev/packages/file_selector) | [![pub points](https://img.shields.io/pub/points/file_selector)](https://pub.dev/packages/file_selector/score) | [![downloads](https://img.shields.io/pub/dm/file_selector)](https://pub.dev/packages/file_selector/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20file_selector?label=)](https://github.com/flutter/flutter/labels/p%3A%20file_selector) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20file_selector?label=)](https://github.com/flutter/packages/labels/p%3A%20file_selector) | From dead609adddbd0dc8d6c1cc0b3cb870ad21a3375 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 15:29:49 -0600 Subject: [PATCH 09/10] Once more with feeling... --- README.md | 2 +- packages/cupertino_ui/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cece06b5027b..3ac16c6a6634 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ These are the packages hosted in this repository: | [camera](./packages/camera/) | [![pub package](https://img.shields.io/pub/v/camera.svg)](https://pub.dev/packages/camera) | [![pub points](https://img.shields.io/pub/points/camera)](https://pub.dev/packages/camera/score) | [![downloads](https://img.shields.io/pub/dm/camera)](https://pub.dev/packages/camera/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20camera?label=)](https://github.com/flutter/flutter/labels/p%3A%20camera) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20camera?label=)](https://github.com/flutter/packages/labels/p%3A%20camera) | | [cross\_file](./packages/cross_file/) | [![pub package](https://img.shields.io/pub/v/cross_file.svg)](https://pub.dev/packages/cross_file) | [![pub points](https://img.shields.io/pub/points/cross_file)](https://pub.dev/packages/cross_file/score) | [![downloads](https://img.shields.io/pub/dm/cross_file)](https://pub.dev/packages/cross_file/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cross_file?label=)](https://github.com/flutter/flutter/labels/p%3A%20cross_file) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cross_file?label=)](https://github.com/flutter/packages/labels/p%3A%20cross_file) | | [cupertino\_icons](./third_party/packages/cupertino_icons/) | [![pub package](https://img.shields.io/pub/v/cupertino_icons.svg)](https://pub.dev/packages/cupertino_icons) | [![pub points](https://img.shields.io/pub/points/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino_icons?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino_icons) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_icons?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_icons) | -| [cupertino\_ui](./packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/f%3A%20cupertino?label=)](https://github.com/flutter/flutter/labels/f%3A%20cupertino) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | +| [cupertino\_ui](./packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | | [espresso](./packages/espresso/) | [![pub package](https://img.shields.io/pub/v/espresso.svg)](https://pub.dev/packages/espresso) | [![pub points](https://img.shields.io/pub/points/espresso)](https://pub.dev/packages/espresso/score) | [![downloads](https://img.shields.io/pub/dm/espresso)](https://pub.dev/packages/espresso/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20espresso?label=)](https://github.com/flutter/flutter/labels/p%3A%20espresso) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20espresso?label=)](https://github.com/flutter/packages/labels/p%3A%20espresso) | | [extension\_google\_sign\_in\_as\_googleapis\_auth](./packages/extension_google_sign_in_as_googleapis_auth/) | [![pub package](https://img.shields.io/pub/v/extension_google_sign_in_as_googleapis_auth.svg)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth) | [![pub points](https://img.shields.io/pub/points/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![downloads](https://img.shields.io/pub/dm/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/flutter/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/packages/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | | [file\_selector](./packages/file_selector/) | [![pub package](https://img.shields.io/pub/v/file_selector.svg)](https://pub.dev/packages/file_selector) | [![pub points](https://img.shields.io/pub/points/file_selector)](https://pub.dev/packages/file_selector/score) | [![downloads](https://img.shields.io/pub/dm/file_selector)](https://pub.dev/packages/file_selector/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20file_selector?label=)](https://github.com/flutter/flutter/labels/p%3A%20file_selector) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20file_selector?label=)](https://github.com/flutter/packages/labels/p%3A%20file_selector) | diff --git a/packages/cupertino_ui/pubspec.yaml b/packages/cupertino_ui/pubspec.yaml index c6567a1aeb1b..df913bbfc049 100644 --- a/packages/cupertino_ui/pubspec.yaml +++ b/packages/cupertino_ui/pubspec.yaml @@ -2,7 +2,7 @@ name: cupertino_ui description: The official Flutter Cupertino Design Library, implementing the iOS design system. version: 0.0.1 repository: https://github.com/flutter/packages/tree/main/packages/cupertino_ui -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aopen%20label%3A%22f%3A%20cupertino%22 +issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A%20cupertino%22 environment: sdk: ^3.9.0 From 1461025b8532f97d01e2ef4bef90241244958421 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Tue, 17 Feb 2026 16:53:13 -0600 Subject: [PATCH 10/10] ++ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ac16c6a6634..bc75bf7f9c59 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ These are the packages hosted in this repository: | [camera](./packages/camera/) | [![pub package](https://img.shields.io/pub/v/camera.svg)](https://pub.dev/packages/camera) | [![pub points](https://img.shields.io/pub/points/camera)](https://pub.dev/packages/camera/score) | [![downloads](https://img.shields.io/pub/dm/camera)](https://pub.dev/packages/camera/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20camera?label=)](https://github.com/flutter/flutter/labels/p%3A%20camera) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20camera?label=)](https://github.com/flutter/packages/labels/p%3A%20camera) | | [cross\_file](./packages/cross_file/) | [![pub package](https://img.shields.io/pub/v/cross_file.svg)](https://pub.dev/packages/cross_file) | [![pub points](https://img.shields.io/pub/points/cross_file)](https://pub.dev/packages/cross_file/score) | [![downloads](https://img.shields.io/pub/dm/cross_file)](https://pub.dev/packages/cross_file/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cross_file?label=)](https://github.com/flutter/flutter/labels/p%3A%20cross_file) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cross_file?label=)](https://github.com/flutter/packages/labels/p%3A%20cross_file) | | [cupertino\_icons](./third_party/packages/cupertino_icons/) | [![pub package](https://img.shields.io/pub/v/cupertino_icons.svg)](https://pub.dev/packages/cupertino_icons) | [![pub points](https://img.shields.io/pub/points/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_icons)](https://pub.dev/packages/cupertino_icons/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino_icons?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino_icons) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_icons?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_icons) | -| [cupertino\_ui](./packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | +| [cupertino\_ui](./packages/cupertino_ui/) | [![pub package](https://img.shields.io/pub/v/cupertino_ui.svg)](https://pub.dev/packages/cupertino_ui) | [![pub points](https://img.shields.io/pub/points/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![downloads](https://img.shields.io/pub/dm/cupertino_ui)](https://pub.dev/packages/cupertino_ui/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20cupertino_ui?label=)](https://github.com/flutter/flutter/labels/p%3A%20cupertino_ui) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20cupertino_ui?label=)](https://github.com/flutter/packages/labels/p%3A%20cupertino_ui) | | [espresso](./packages/espresso/) | [![pub package](https://img.shields.io/pub/v/espresso.svg)](https://pub.dev/packages/espresso) | [![pub points](https://img.shields.io/pub/points/espresso)](https://pub.dev/packages/espresso/score) | [![downloads](https://img.shields.io/pub/dm/espresso)](https://pub.dev/packages/espresso/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20espresso?label=)](https://github.com/flutter/flutter/labels/p%3A%20espresso) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20espresso?label=)](https://github.com/flutter/packages/labels/p%3A%20espresso) | | [extension\_google\_sign\_in\_as\_googleapis\_auth](./packages/extension_google_sign_in_as_googleapis_auth/) | [![pub package](https://img.shields.io/pub/v/extension_google_sign_in_as_googleapis_auth.svg)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth) | [![pub points](https://img.shields.io/pub/points/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![downloads](https://img.shields.io/pub/dm/extension_google_sign_in_as_googleapis_auth)](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/flutter/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20extension_google_sign_in_as_googleapis_auth?label=)](https://github.com/flutter/packages/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | | [file\_selector](./packages/file_selector/) | [![pub package](https://img.shields.io/pub/v/file_selector.svg)](https://pub.dev/packages/file_selector) | [![pub points](https://img.shields.io/pub/points/file_selector)](https://pub.dev/packages/file_selector/score) | [![downloads](https://img.shields.io/pub/dm/file_selector)](https://pub.dev/packages/file_selector/score) | [![GitHub issues by-label](https://img.shields.io/github/issues/flutter/flutter/p%3A%20file_selector?label=)](https://github.com/flutter/flutter/labels/p%3A%20file_selector) | [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr/flutter/packages/p%3A%20file_selector?label=)](https://github.com/flutter/packages/labels/p%3A%20file_selector) |