From f3f689bcb5670ee1fe6ef778af005bb5a75f7700 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Mon, 10 Aug 2026 15:53:03 -0700 Subject: [PATCH 01/11] material readme --- packages/material_ui/README.md | 130 +++++++++++++++++++++++++++++---- 1 file changed, 115 insertions(+), 15 deletions(-) diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index c83917ec2baf..1e12e02c0edd 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -1,25 +1,125 @@ -# material\_ui +# material_ui -**Coming soon \- the official Material Design widget library for Flutter as its own standalone package\!** +The official Flutter Material Design library, implementing Google's [Material +Design](https://m3.material.io/) design system for Flutter applications. -`material_ui` will contain the standard collection of visual components (Buttons, Cards, AppBars, etc.) that implement Google's latest Material Design specification. +`material_ui` provides a complete, modern suite of visual components, motion, +typography, color systems, and theming tools to build beautiful and accessible +user interfaces on all screen sizes. -**Note:** This package will contain the material library previously part of the Flutter framework itself (`package:flutter/material.dart`). It is being decoupled to allow for faster iteration and a more modular ecosystem. +See also the +[`cupertino_ui`](https://github.com/flutter/packages/tree/main/packages/cupertino_ui) +package, which is Flutter's official iOS- and macOS-style design library. -## What's (going to be) inside? +## Migrating existing code to this package -This package will provide the Material widgets you know and love, including but not limited to: +`material_ui` was previously built directly into the core Flutter framework as +`package:flutter/material.dart`. It has been decoupled from the +[flutter/flutter](https://github.com/flutter/flutter) repository into its new +home here in `flutter/packages`. Follow the steps below to migrate: -* **Structure:** `Scaffold`, `AppBar`, `Drawer` -* **Inputs:** `FloatingActionButton`, `TextField`, `Slider` -* **Display:** `Card`, `Chip`, `ListTile` -* **Theming:** `ThemeData`, `ColorScheme` +### Step 1: Migrate imports -Once landed and published, look forward to updates from [Material 3 Expressive](https://github.com/flutter/flutter/issues/168813)\! 🚀 +We've included a data driven Dart fix to help users migrate. Simply run the +following command: -## Feedback & roadmap +```sh +dart fix --apply --code=migrate_design_widgets +``` -We are currently migrating the Material library out of the core framework. +This performs the equivalent of adding `material_ui` to your project and +changing imports of `package:flutter/material.dart` to +`package:material_ui/material_ui.dart`. -* **Follow the progress:** [Decoupling Github Project](https://github.com/orgs/flutter/projects/220) -* **Report bugs:** [Material issues in Flutter](https://github.com/flutter/flutter/issues?q=is%3Aopen%20is%3Aissue%20label%3A%22f%3A%20material%20design%22) +### Step 2: Migrate localization + +Don't use the `GlobalMaterialLocalizations` or `GlobalCupertinoLocalizations` +classes from flutter/flutter's `flutter_localizations` package. Instead, use the +new versions of these classes from `material_ui` and `cupertino_ui`, +respectively. + +### Step 3: Bridge legacy dependencies (if needed) + +If your app uses third-party packages or subtrees that still import and rely on +`package:flutter/material.dart`, use `MaterialUiCompatibilityBridge` to bridge +`ThemeData` and `MaterialLocalizations` so legacy widgets resolve correctly +within modern widget trees. + +Wrap your app using `MaterialApp.builder`: + +```dart +import 'package:material_ui/material_ui.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + theme: ThemeData( + colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF6750A4)), + ), + builder: (BuildContext context, Widget? child) { + return MaterialUiCompatibilityBridge(child: child!); + }, + home: const HomeScreen(), + ); + } +} +``` + +You can also wrap individual subtrees that contain legacy package widgets: + +```dart +Scaffold( + appBar: AppBar(title: const Text('Modern Screen')), + body: MaterialUiCompatibilityBridge( + child: LegacyPackageWidget(), + ), +) +``` + +--- + +## Getting Started + +See Flutter's main [getting started guide](https://flutter.dev/getting-started/) +for information about using Flutter and `material_ui`. + +## Features & Included Components + +`material_ui` contains the full set of Flutter Material widgets and services: + +* **App Structure & Navigation**: `MaterialApp`, `Scaffold`, `AppBar`, +`SliverAppBar`, `Drawer`, `NavigationDrawer`, `NavigationBar`, `NavigationRail`, +`BottomSheet`, `TabBar`, `SearchAnchor`, `SearchBar` +* **Buttons & Interaction**: `ElevatedButton`, `FilledButton`, `OutlinedButton`, +`TextButton`, `IconButton`, `FloatingActionButton`, `SegmentedButton`, +`ToggleButtons`, `PopupMenuButton`, `InkWell` +* **Inputs & Selection**: `TextField`, `TextFormField`, `Checkbox`, `Radio`, +`Switch`, `Slider`, `RangeSlider`, `DropdownMenu`, `DatePicker`, `TimePicker`, +`InputDecoration` +* **Display & Feedback**: `Card`, `Chip`, `ListTile`, `Badge`, `Divider`, +`DataTable`, `PaginatedDataTable`, `ProgressIndicator`, `SnackBar`, `Tooltip`, +`CarouselView` +* **Theming & Color**: `ThemeData`, `ColorScheme`, `TextTheme`, dynamic color +generation, Material 3 design tokens, typography, and motion easing curves +* **Internationalization**: `MaterialLocalizations` and +`GlobalMaterialLocalizations` for multi-locale support + +## Changelog +See the +[Changelog](https://github.com/flutter/packages/blob/main/packages/material_ui/CHANGELOG.md) +for a list of new features and breaking changes. + +## Documentation & Resources + +* [Material Design 3 Specification](https://m3.material.io/) +* [Flutter Material Widget Catalog](https://docs.flutter.dev/ui/widgets/material) +* [API Reference](https://pub.dev/documentation/material_ui/latest/) +* [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A%20material%20design%22) +* [Decoupling GitHub Project](https://github.com/orgs/flutter/projects/220) From 809d36c9c44ddc949e802043324cb2bab8963178 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Mon, 10 Aug 2026 16:02:14 -0700 Subject: [PATCH 02/11] cupertino_ui readme --- packages/cupertino_ui/README.md | 136 ++++++++++++++++++++++++++++---- 1 file changed, 122 insertions(+), 14 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index b63de4598733..c9be7559f6a4 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -1,24 +1,132 @@ -# cupertino\_ui +# cupertino_ui -**Coming soon \- the official Cupertino widget library for Flutter as its own standalone package\!** +The official Flutter Cupertino library, implementing Apple's [Human Interface +Guidelines](https://developer.apple.com/design/human-interface-guidelines/) for +Flutter applications. -`cupertino_ui` will contain the standard collection of high-fidelity visual components that implement the latest iOS design language (buttons, navigation bars, pickers, etc.). +`cupertino_ui` provides a complete, high-fidelity suite of visual components, +motion, typography, color systems, and theming tools to build authentic +iOS- and macOS-style user interfaces on all screen sizes. -**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. +See also the +[`material_ui`](https://github.com/flutter/packages/tree/main/packages/material_ui) +package, which is Flutter's official Material Design library. -## What's (going to be) inside? +## Migrating existing code to this package -This package will provide the Cupertino widgets you know and love, including but not limited to: +`cupertino_ui` was previously built directly into the core Flutter framework as +`package:flutter/cupertino.dart`. It has been decoupled from the +[flutter/flutter](https://github.com/flutter/flutter) repository into its new +home here in `flutter/packages`. Follow the steps below to migrate: -* **Structure:** `CupertinoPageScaffold`, `CupertinoNavigationBar` -* **Inputs:** `CupertinoButton`, `CupertinoTextField`, `CupertinoSwitch` -* **Dialogs:** `CupertinoAlertDialog`, `CupertinoActionSheet` +### Step 1: Migrate imports -Once landed and published, look forward to updates from [iOS26](https://github.com/flutter/flutter/issues/170310)\! 🚀 +We've included a data driven Dart fix to help users migrate. Simply run the +following command: -## Feedback & roadmap +```sh +dart fix --apply --code=migrate_design_widgets +``` -We are currently migrating the Cupertino library out of the core framework. +This performs the equivalent of adding `cupertino_ui` to your project and +changing imports of `package:flutter/cupertino.dart` to +`package:cupertino_ui/cupertino_ui.dart`. -* **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) +### Step 2: Migrate localization + +Don't use the `GlobalMaterialLocalizations` or `GlobalCupertinoLocalizations` +classes from flutter/flutter's `flutter_localizations` package. Instead, use the +new versions of these classes from `material_ui` and `cupertino_ui`, +respectively. + +### Step 3: Bridge legacy dependencies (if needed) + +If your app uses third-party packages or subtrees that still import and rely on +`package:flutter/cupertino.dart`, use `CupertinoUiCompatibilityBridge` to bridge +`CupertinoThemeData` and `CupertinoLocalizations` so legacy widgets resolve +correctly within modern widget trees. + +Wrap your app using `CupertinoApp.builder`: + +```dart +import 'package:cupertino_ui/cupertino_ui.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return CupertinoApp( + theme: const CupertinoThemeData( + primaryColor: CupertinoColors.systemIndigo, + ), + builder: (BuildContext context, Widget? child) { + return CupertinoUiCompatibilityBridge(child: child!); + }, + home: const HomeScreen(), + ); + } +} +``` + +You can also wrap individual subtrees that contain legacy package widgets: + +```dart +CupertinoPageScaffold( + navigationBar: const CupertinoNavigationBar( + middle: Text('Modern Screen'), + ), + child: CupertinoUiCompatibilityBridge( + child: LegacyPackageWidget(), + ), +) +``` + +--- + +## Getting Started + +See Flutter's main [getting started guide](https://flutter.dev/getting-started/) +for information about using Flutter and `cupertino_ui`. + +## Features & Included Components + +`cupertino_ui` contains the full set of Flutter Cupertino widgets and services: + +* **App Structure & Navigation**: `CupertinoApp`, `CupertinoPageScaffold`, +`CupertinoTabScaffold`, `CupertinoTabView`, `CupertinoNavigationBar`, +`CupertinoSliverNavigationBar`, `CupertinoTabBar`, `CupertinoPageRoute` +* **Buttons & Controls**: `CupertinoButton`, `CupertinoSegmentedControl`, +`CupertinoSlidingSegmentedControl`, `CupertinoContextMenu`, +`CupertinoContextMenuAction`, `CupertinoScrollbar` +* **Inputs & Selection**: `CupertinoTextField`, `CupertinoTextFormFieldRow`, +`CupertinoFormSection`, `CupertinoFormRow`, `CupertinoSwitch`, +`CupertinoSlider`, `CupertinoCheckbox`, `CupertinoRadio`, +`CupertinoSearchTextField` +* **Pickers & Dialogs**: `CupertinoPicker`, `CupertinoDatePicker`, +`CupertinoTimerPicker`, `CupertinoAlertDialog`, `CupertinoActionSheet`, +`CupertinoActionSheetAction`, `CupertinoPopupSurface` +* **Display & Feedback**: `CupertinoListSection`, `CupertinoListTile`, +`CupertinoActivityIndicator`, `CupertinoIcons`, `CupertinoFocusHalo` +* **Theming & Typography**: `CupertinoTheme`, `CupertinoThemeData`, +`CupertinoTextThemeData`, `CupertinoColors`, `CupertinoDynamicColor` +* **Internationalization**: `CupertinoLocalizations` and +`GlobalCupertinoLocalizations` for multi-locale support + +## Changelog + +See the +[Changelog](https://github.com/flutter/packages/blob/main/packages/cupertino_ui/CHANGELOG.md) +for a list of new features and breaking changes. + +## Documentation & Resources + +* [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/) +* [Flutter Cupertino Widget Catalog](https://docs.flutter.dev/ui/widgets/cupertino) +* [API Reference](https://pub.dev/documentation/cupertino_ui/latest/) +* [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A%20cupertino%22) +* [Decoupling GitHub Project](https://github.com/orgs/flutter/projects/220) From 13e307bf61106bcba3f79420d2d13cc311e9547d Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Mon, 10 Aug 2026 16:09:13 -0700 Subject: [PATCH 03/11] Changelogs --- .../pending_changelogs/change_2026_08_10_readme.yaml | 3 +++ .../pending_changelogs/change_2026_08_10_readme.yaml | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 packages/cupertino_ui/pending_changelogs/change_2026_08_10_readme.yaml create mode 100644 packages/material_ui/pending_changelogs/change_2026_08_10_readme.yaml diff --git a/packages/cupertino_ui/pending_changelogs/change_2026_08_10_readme.yaml b/packages/cupertino_ui/pending_changelogs/change_2026_08_10_readme.yaml new file mode 100644 index 000000000000..bcf3aba0e92c --- /dev/null +++ b/packages/cupertino_ui/pending_changelogs/change_2026_08_10_readme.yaml @@ -0,0 +1,3 @@ +changelog: | + - README updated for the full release of cupertino_ui. +version: patch diff --git a/packages/material_ui/pending_changelogs/change_2026_08_10_readme.yaml b/packages/material_ui/pending_changelogs/change_2026_08_10_readme.yaml new file mode 100644 index 000000000000..187961310f7e --- /dev/null +++ b/packages/material_ui/pending_changelogs/change_2026_08_10_readme.yaml @@ -0,0 +1,3 @@ +changelog: | + - README updated for the full release of material_ui. +version: patch From 489b0cf6d4fd177a686599def1eebbb6f6e4d63c Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 14:27:57 -0700 Subject: [PATCH 04/11] Correct label urls as of tomorrow when they will be created. --- packages/cupertino_ui/README.md | 2 +- packages/material_ui/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index c9be7559f6a4..aed6f6e3a7a3 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -128,5 +128,5 @@ for a list of new features and breaking changes. * [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/) * [Flutter Cupertino Widget Catalog](https://docs.flutter.dev/ui/widgets/cupertino) * [API Reference](https://pub.dev/documentation/cupertino_ui/latest/) -* [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A%20cupertino%22) +* [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22p%3A%20cupertino_ui%22) * [Decoupling GitHub Project](https://github.com/orgs/flutter/projects/220) diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index 1e12e02c0edd..732f36cdba14 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -121,5 +121,5 @@ for a list of new features and breaking changes. * [Material Design 3 Specification](https://m3.material.io/) * [Flutter Material Widget Catalog](https://docs.flutter.dev/ui/widgets/material) * [API Reference](https://pub.dev/documentation/material_ui/latest/) -* [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A%20material%20design%22) +* [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22p%3A%20material_ui%22) * [Decoupling GitHub Project](https://github.com/orgs/flutter/projects/220) From 1467e35201bb73d8620ef9d0b85d960b102a9f0d Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 15:19:53 -0700 Subject: [PATCH 05/11] Explain that cupertino's list of stuff isn't exhaustive. --- packages/cupertino_ui/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index aed6f6e3a7a3..8c6cc159e191 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -95,7 +95,8 @@ for information about using Flutter and `cupertino_ui`. ## Features & Included Components -`cupertino_ui` contains the full set of Flutter Cupertino widgets and services: +`cupertino_ui` contains a fully featured set of Flutter Cupertino widgets and +services, such as: * **App Structure & Navigation**: `CupertinoApp`, `CupertinoPageScaffold`, `CupertinoTabScaffold`, `CupertinoTabView`, `CupertinoNavigationBar`, From 00fd732701c659e879af01189449d2959eb85f2a Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 14:38:53 -0700 Subject: [PATCH 06/11] No ThemeData, no ToggleButtons needed --- packages/cupertino_ui/README.md | 3 --- packages/material_ui/README.md | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index 8c6cc159e191..49ecebe47a51 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -61,9 +61,6 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return CupertinoApp( - theme: const CupertinoThemeData( - primaryColor: CupertinoColors.systemIndigo, - ), builder: (BuildContext context, Widget? child) { return CupertinoUiCompatibilityBridge(child: child!); }, diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index 732f36cdba14..a5ef5bc6e8e3 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -60,9 +60,6 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( - theme: ThemeData( - colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF6750A4)), - ), builder: (BuildContext context, Widget? child) { return MaterialUiCompatibilityBridge(child: child!); }, @@ -99,7 +96,7 @@ for information about using Flutter and `material_ui`. `BottomSheet`, `TabBar`, `SearchAnchor`, `SearchBar` * **Buttons & Interaction**: `ElevatedButton`, `FilledButton`, `OutlinedButton`, `TextButton`, `IconButton`, `FloatingActionButton`, `SegmentedButton`, -`ToggleButtons`, `PopupMenuButton`, `InkWell` +`PopupMenuButton`, `InkWell` * **Inputs & Selection**: `TextField`, `TextFormField`, `Checkbox`, `Radio`, `Switch`, `Slider`, `RangeSlider`, `DropdownMenu`, `DatePicker`, `TimePicker`, `InputDecoration` From f65238e07b317e19de4f734e31ac248c258a4fa8 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 15:47:38 -0700 Subject: [PATCH 07/11] Review from Pierre --- packages/cupertino_ui/README.md | 10 ++++---- packages/material_ui/README.md | 41 ++++++++++++++++++--------------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index 49ecebe47a51..9929332a994f 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -5,7 +5,7 @@ Guidelines](https://developer.apple.com/design/human-interface-guidelines/) for Flutter applications. `cupertino_ui` provides a complete, high-fidelity suite of visual components, -motion, typography, color systems, and theming tools to build authentic +motion, typography, color system, and theming tools to build authentic iOS- and macOS-style user interfaces on all screen sizes. See also the @@ -32,7 +32,7 @@ This performs the equivalent of adding `cupertino_ui` to your project and changing imports of `package:flutter/cupertino.dart` to `package:cupertino_ui/cupertino_ui.dart`. -### Step 2: Migrate localization +### Step 2: Migrate localizations (if needed) Don't use the `GlobalMaterialLocalizations` or `GlobalCupertinoLocalizations` classes from flutter/flutter's `flutter_localizations` package. Instead, use the @@ -90,10 +90,10 @@ CupertinoPageScaffold( See Flutter's main [getting started guide](https://flutter.dev/getting-started/) for information about using Flutter and `cupertino_ui`. -## Features & Included Components +## Features -`cupertino_ui` contains a fully featured set of Flutter Cupertino widgets and -services, such as: +`cupertino_ui` contains everything you need to create a fully-featured iOS app, +such as: * **App Structure & Navigation**: `CupertinoApp`, `CupertinoPageScaffold`, `CupertinoTabScaffold`, `CupertinoTabView`, `CupertinoNavigationBar`, diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index a5ef5bc6e8e3..159809c138cf 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -4,7 +4,7 @@ The official Flutter Material Design library, implementing Google's [Material Design](https://m3.material.io/) design system for Flutter applications. `material_ui` provides a complete, modern suite of visual components, motion, -typography, color systems, and theming tools to build beautiful and accessible +typography, color system, and theming tools to build beautiful and accessible user interfaces on all screen sizes. See also the @@ -31,12 +31,20 @@ This performs the equivalent of adding `material_ui` to your project and changing imports of `package:flutter/material.dart` to `package:material_ui/material_ui.dart`. -### Step 2: Migrate localization +### Step 2: Migrate localizations (if needed) -Don't use the `GlobalMaterialLocalizations` or `GlobalCupertinoLocalizations` -classes from flutter/flutter's `flutter_localizations` package. Instead, use the -new versions of these classes from `material_ui` and `cupertino_ui`, -respectively. +If you are not currently using the GlobalMaterialLocalizations` or +`GlobalCupertinoLocalizations` classes from flutter/flutter's +`flutter_localizations` package, then you are already good to go. For those that +do need to migrate off of these classes, simply use the new versions of these +classes from `material_ui` and `cupertino_ui`, respectively. + +A typical app can use the following localization delegate from `material_ui` to +cover all of the localization strings in Flutter, Material, and Cupertino: + +```dart + localizationDelegates: GlobalMaterialLocalizations.delegates, +``` ### Step 3: Bridge legacy dependencies (if needed) @@ -87,22 +95,19 @@ Scaffold( See Flutter's main [getting started guide](https://flutter.dev/getting-started/) for information about using Flutter and `material_ui`. -## Features & Included Components +## Features -`material_ui` contains the full set of Flutter Material widgets and services: +`material_ui` contains everything you need to create a fully-featured Material +app, such as: * **App Structure & Navigation**: `MaterialApp`, `Scaffold`, `AppBar`, -`SliverAppBar`, `Drawer`, `NavigationDrawer`, `NavigationBar`, `NavigationRail`, -`BottomSheet`, `TabBar`, `SearchAnchor`, `SearchBar` -* **Buttons & Interaction**: `ElevatedButton`, `FilledButton`, `OutlinedButton`, -`TextButton`, `IconButton`, `FloatingActionButton`, `SegmentedButton`, -`PopupMenuButton`, `InkWell` -* **Inputs & Selection**: `TextField`, `TextFormField`, `Checkbox`, `Radio`, -`Switch`, `Slider`, `RangeSlider`, `DropdownMenu`, `DatePicker`, `TimePicker`, -`InputDecoration` +`NavigationBar`, `BottomSheet`, `TabBar`, `SearchAnchor`, `SearchBar`, `Dialog` +* **Buttons & Interaction**: `ElevatedButton`, `TextButton`, `IconButton`, +`FloatingActionButton`, `SegmentedButton`, `InkWell`, `MenuBar` +* **Inputs & Selection**: `TextField`, `Checkbox`, `Radio`, `Switch`, `Slider`, +`DropdownMenu`, `DatePicker`, `TimePicker` * **Display & Feedback**: `Card`, `Chip`, `ListTile`, `Badge`, `Divider`, -`DataTable`, `PaginatedDataTable`, `ProgressIndicator`, `SnackBar`, `Tooltip`, -`CarouselView` +`ProgressIndicator`, `SnackBar`, `Tooltip`, `CarouselView`, `VerticalDivider` * **Theming & Color**: `ThemeData`, `ColorScheme`, `TextTheme`, dynamic color generation, Material 3 design tokens, typography, and motion easing curves * **Internationalization**: `MaterialLocalizations` and From b8c71090e6ed73897ee3b19f7961fc76c8e31983 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 15:52:46 -0700 Subject: [PATCH 08/11] Tong review --- packages/cupertino_ui/README.md | 17 ++++++++++------- packages/material_ui/README.md | 17 ++++++++++------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index 9929332a994f..12fa5513234e 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -12,12 +12,16 @@ See also the [`material_ui`](https://github.com/flutter/packages/tree/main/packages/material_ui) package, which is Flutter's official Material Design library. +## New to the package? + +The standalone `cupertino_ui` package was previously built directly into the +core Flutter framework as `package:flutter/cupertino.dart`. It has been +decoupled from the [flutter/flutter](https://github.com/flutter/flutter) +repository into its new home here in `flutter/packages`. + ## Migrating existing code to this package -`cupertino_ui` was previously built directly into the core Flutter framework as -`package:flutter/cupertino.dart`. It has been decoupled from the -[flutter/flutter](https://github.com/flutter/flutter) repository into its new -home here in `flutter/packages`. Follow the steps below to migrate: +Follow the steps below to migrate: ### Step 1: Migrate imports @@ -92,8 +96,8 @@ for information about using Flutter and `cupertino_ui`. ## Features -`cupertino_ui` contains everything you need to create a fully-featured iOS app, -such as: +The `cupertino_ui` package contains everything you need to create a +fully-featured iOS app, such as: * **App Structure & Navigation**: `CupertinoApp`, `CupertinoPageScaffold`, `CupertinoTabScaffold`, `CupertinoTabView`, `CupertinoNavigationBar`, @@ -127,4 +131,3 @@ for a list of new features and breaking changes. * [Flutter Cupertino Widget Catalog](https://docs.flutter.dev/ui/widgets/cupertino) * [API Reference](https://pub.dev/documentation/cupertino_ui/latest/) * [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22p%3A%20cupertino_ui%22) -* [Decoupling GitHub Project](https://github.com/orgs/flutter/projects/220) diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index 159809c138cf..257843c0884f 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -11,12 +11,16 @@ See also the [`cupertino_ui`](https://github.com/flutter/packages/tree/main/packages/cupertino_ui) package, which is Flutter's official iOS- and macOS-style design library. +## New to the package? + +The standalone `material_ui` package was previously built directly into the core +Flutter framework as `package:flutter/material.dart`. It has been decoupled from +the [flutter/flutter](https://github.com/flutter/flutter) repository into its +new home here in `flutter/packages`. + ## Migrating existing code to this package -`material_ui` was previously built directly into the core Flutter framework as -`package:flutter/material.dart`. It has been decoupled from the -[flutter/flutter](https://github.com/flutter/flutter) repository into its new -home here in `flutter/packages`. Follow the steps below to migrate: +Follow the steps below to migrate: ### Step 1: Migrate imports @@ -97,8 +101,8 @@ for information about using Flutter and `material_ui`. ## Features -`material_ui` contains everything you need to create a fully-featured Material -app, such as: +The `material_ui` packcage contains everything you need to create a +fully-featured Material app, such as: * **App Structure & Navigation**: `MaterialApp`, `Scaffold`, `AppBar`, `NavigationBar`, `BottomSheet`, `TabBar`, `SearchAnchor`, `SearchBar`, `Dialog` @@ -124,4 +128,3 @@ for a list of new features and breaking changes. * [Flutter Material Widget Catalog](https://docs.flutter.dev/ui/widgets/material) * [API Reference](https://pub.dev/documentation/material_ui/latest/) * [Issue Tracker](https://github.com/flutter/flutter/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22p%3A%20material_ui%22) -* [Decoupling GitHub Project](https://github.com/orgs/flutter/projects/220) From ca8b85c912b41889a27037be4cd6231cffe35a18 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 16:11:33 -0700 Subject: [PATCH 09/11] New and migrating sections fix --- packages/cupertino_ui/README.md | 14 ++++++++++++-- packages/material_ui/README.md | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index 12fa5513234e..96060e947714 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -14,13 +14,23 @@ package, which is Flutter's official Material Design library. ## New to the package? +Install the package with the following command: + +```dart +flutter add cupertino_ui +``` + +See Flutter's main [getting started +guide](https://flutter.dev/getting-started/) for information about using Flutter +and `cupertino_ui`. + +## Migrating existing code to this package + The standalone `cupertino_ui` package was previously built directly into the core Flutter framework as `package:flutter/cupertino.dart`. It has been decoupled from the [flutter/flutter](https://github.com/flutter/flutter) repository into its new home here in `flutter/packages`. -## Migrating existing code to this package - Follow the steps below to migrate: ### Step 1: Migrate imports diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index 257843c0884f..1677c76c26ea 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -13,13 +13,23 @@ package, which is Flutter's official iOS- and macOS-style design library. ## New to the package? +Install the package with the following command: + +```dart +flutter add material_ui +``` + +See Flutter's main [getting started +guide](https://flutter.dev/getting-started/) for information about using Flutter +and `material_ui`. + +## Migrating existing code to this package + The standalone `material_ui` package was previously built directly into the core Flutter framework as `package:flutter/material.dart`. It has been decoupled from the [flutter/flutter](https://github.com/flutter/flutter) repository into its new home here in `flutter/packages`. -## Migrating existing code to this package - Follow the steps below to migrate: ### Step 1: Migrate imports From 89baea1c81a53b766b21ec10aa2ec85de06f6760 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Tue, 11 Aug 2026 16:18:52 -0700 Subject: [PATCH 10/11] Deduplicate getting started section --- packages/cupertino_ui/README.md | 5 ----- packages/material_ui/README.md | 5 ----- 2 files changed, 10 deletions(-) diff --git a/packages/cupertino_ui/README.md b/packages/cupertino_ui/README.md index 96060e947714..6480d867787e 100644 --- a/packages/cupertino_ui/README.md +++ b/packages/cupertino_ui/README.md @@ -99,11 +99,6 @@ CupertinoPageScaffold( --- -## Getting Started - -See Flutter's main [getting started guide](https://flutter.dev/getting-started/) -for information about using Flutter and `cupertino_ui`. - ## Features The `cupertino_ui` package contains everything you need to create a diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index 1677c76c26ea..14953098c4ff 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -104,11 +104,6 @@ Scaffold( --- -## Getting Started - -See Flutter's main [getting started guide](https://flutter.dev/getting-started/) -for information about using Flutter and `material_ui`. - ## Features The `material_ui` packcage contains everything you need to create a From 33bb5eca3c5e2e7c0be735d1029ca922c583dd39 Mon Sep 17 00:00:00 2001 From: Justin McCandless Date: Wed, 12 Aug 2026 08:06:18 -0700 Subject: [PATCH 11/11] Missing tick mark --- packages/material_ui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/material_ui/README.md b/packages/material_ui/README.md index 14953098c4ff..2d558ae72c85 100644 --- a/packages/material_ui/README.md +++ b/packages/material_ui/README.md @@ -47,7 +47,7 @@ changing imports of `package:flutter/material.dart` to ### Step 2: Migrate localizations (if needed) -If you are not currently using the GlobalMaterialLocalizations` or +If you are not currently using the `GlobalMaterialLocalizations` or `GlobalCupertinoLocalizations` classes from flutter/flutter's `flutter_localizations` package, then you are already good to go. For those that do need to migrate off of these classes, simply use the new versions of these