)]}'
{
  "commit": "49e5daf2adca85c065083edc71e0754976a4d82f",
  "tree": "ee7d19b169a2fc9173db261b606188c679c32636",
  "parents": [
    "635a8b78617255bd9557e0275d834bbe2a57ce89"
  ],
  "author": {
    "name": "Taha Tesser",
    "email": "tessertaha@gmail.com",
    "time": "Wed Aug 23 01:21:00 2023 +0300"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Tue Aug 22 15:30:18 2023 -0700"
  },
  "message": "Update default menu text styles for Material 3 (#131930)\n\nRelated https://github.com/flutter/flutter/issues/131676\n\n## Description\n\n#### Fix default input text style for `DropdownMenu`\n\n![dropdown_input](https://github.com/flutter/flutter/assets/48603081/301f8243-155a-4b8f-84a8-5e6b7bebb3bc)\n\n### Fix default text style for  `MenuAnchor`\u0027s menu items (which `DropdownMenu` uses for menu items)\n\n![dropdown_item](https://github.com/flutter/flutter/assets/48603081/6b5be81a-72fc-4705-a577-074c7a4cad8f)\n\n###  Default  `DropdownMenu` Input text style\n\n![Screenshot 2023-08-04 at 16 48 28](https://github.com/flutter/flutter/assets/48603081/bcd9da98-e74d-491e-ae64-6268ae0b3893)\n\n### Default `DropdownMenu` menu item text style\n\n![Screenshot 2023-08-04 at 16 50 19](https://github.com/flutter/flutter/assets/48603081/9592ca43-2854-45b5-8648-203ab65d9745)\n\n### Default `MenuAnchor` menu item text style\n\n![Screenshot 2023-08-04 at 14 34 28](https://github.com/flutter/flutter/assets/48603081/e87e1073-05f8-4dc7-a435-d864e9cce6ab)\n\n### Code sample\n\n\u003cdetails\u003e\n\u003csummary\u003eexpand to view the code sample\u003c/summary\u003e\n\n```dart\nimport \u0027package:flutter/material.dart\u0027;\n\n/// Flutter code sample for [DropdownMenu]s. The first dropdown menu has an outlined border.\n\nvoid main() \u003d\u003e runApp(const DropdownMenuExample());\n\nclass DropdownMenuExample extends StatefulWidget {\n  const DropdownMenuExample({super.key});\n\n  @override\n  State\u003cDropdownMenuExample\u003e createState() \u003d\u003e _DropdownMenuExampleState();\n}\n\nclass _DropdownMenuExampleState extends State\u003cDropdownMenuExample\u003e {\n  final TextEditingController colorController \u003d TextEditingController();\n  final TextEditingController iconController \u003d TextEditingController();\n  ColorLabel? selectedColor;\n  IconLabel? selectedIcon;\n\n  @override\n  Widget build(BuildContext context) {\n    final List\u003cDropdownMenuEntry\u003cColorLabel\u003e\u003e colorEntries \u003d\n        \u003cDropdownMenuEntry\u003cColorLabel\u003e\u003e[];\n    for (final ColorLabel color in ColorLabel.values) {\n      colorEntries.add(\n        DropdownMenuEntry\u003cColorLabel\u003e(\n            value: color, label: color.label, enabled: color.label !\u003d \u0027Grey\u0027),\n      );\n    }\n\n    final List\u003cDropdownMenuEntry\u003cIconLabel\u003e\u003e iconEntries \u003d\n        \u003cDropdownMenuEntry\u003cIconLabel\u003e\u003e[];\n    for (final IconLabel icon in IconLabel.values) {\n      iconEntries\n          .add(DropdownMenuEntry\u003cIconLabel\u003e(value: icon, label: icon.label));\n    }\n\n    return MaterialApp(\n      theme: ThemeData(\n        useMaterial3: true,\n        colorSchemeSeed: Colors.green,\n        // textTheme: const TextTheme(\n        //   bodyLarge: TextStyle(\n        //     fontWeight: FontWeight.bold,\n        //     fontStyle: FontStyle.italic,\n        //     decoration: TextDecoration.underline,\n        //   ),\n        // ),\n      ),\n      home: Scaffold(\n        body: SafeArea(\n          child: Column(\n            children: \u003cWidget\u003e[\n              const Text(\u0027DropdownMenus\u0027),\n              Padding(\n                padding: const EdgeInsets.symmetric(vertical: 20),\n                child: Row(\n                  mainAxisAlignment: MainAxisAlignment.center,\n                  children: \u003cWidget\u003e[\n                    DropdownMenu\u003cColorLabel\u003e(\n                      controller: colorController,\n                      label: const Text(\u0027Color\u0027),\n                      dropdownMenuEntries: colorEntries,\n                      onSelected: (ColorLabel? color) {\n                        setState(() {\n                          selectedColor \u003d color;\n                        });\n                      },\n                    ),\n                    const SizedBox(width: 20),\n                    DropdownMenu\u003cIconLabel\u003e(\n                      controller: iconController,\n                      enableFilter: true,\n                      leadingIcon: const Icon(Icons.search),\n                      label: const Text(\u0027Icon\u0027),\n                      dropdownMenuEntries: iconEntries,\n                      inputDecorationTheme: const InputDecorationTheme(\n                        filled: true,\n                        contentPadding: EdgeInsets.symmetric(vertical: 5.0),\n                      ),\n                      onSelected: (IconLabel? icon) {\n                        setState(() {\n                          selectedIcon \u003d icon;\n                        });\n                      },\n                    ),\n                  ],\n                ),\n              ),\n              const Text(\u0027Plain TextFields\u0027),\n              Padding(\n                padding: const EdgeInsets.symmetric(vertical: 20),\n                child: Row(\n                  mainAxisAlignment: MainAxisAlignment.center,\n                  children: \u003cWidget\u003e[\n                    SizedBox(\n                      width: 150,\n                      child: TextField(\n                          controller: TextEditingController(text: \u0027Blue\u0027),\n                          decoration: const InputDecoration(\n                            suffixIcon: Icon(Icons.arrow_drop_down),\n                            labelText: \u0027Color\u0027,\n                            border: OutlineInputBorder(),\n                          )),\n                    ),\n                    const SizedBox(width: 20),\n                    SizedBox(\n                      width: 150,\n                      child: TextField(\n                          controller: TextEditingController(text: \u0027Smile\u0027),\n                          decoration: const InputDecoration(\n                            prefixIcon: Icon(Icons.search),\n                            suffixIcon: Icon(Icons.arrow_drop_down),\n                            filled: true,\n                            labelText: \u0027Icon\u0027,\n                          )),\n                    ),\n                  ],\n                ),\n              ),\n              if (selectedColor !\u003d null \u0026\u0026 selectedIcon !\u003d null)\n                Row(\n                  mainAxisAlignment: MainAxisAlignment.center,\n                  children: \u003cWidget\u003e[\n                    Text(\n                        \u0027You selected a ${selectedColor?.label} ${selectedIcon?.label}\u0027),\n                    Padding(\n                      padding: const EdgeInsets.symmetric(horizontal: 5),\n                      child: Icon(\n                        selectedIcon?.icon,\n                        color: selectedColor?.color,\n                      ),\n                    )\n                  ],\n                )\n              else\n                const Text(\u0027Please select a color and an icon.\u0027)\n            ],\n          ),\n        ),\n      ),\n    );\n  }\n}\n\nenum ColorLabel {\n  blue(\u0027Blue\u0027, Colors.blue),\n  pink(\u0027Pink\u0027, Colors.pink),\n  green(\u0027Green\u0027, Colors.green),\n  yellow(\u0027Yellow\u0027, Colors.yellow),\n  grey(\u0027Grey\u0027, Colors.grey);\n\n  const ColorLabel(this.label, this.color);\n  final String label;\n  final Color color;\n}\n\nenum IconLabel {\n  smile(\u0027Smile\u0027, Icons.sentiment_satisfied_outlined),\n  cloud(\n    \u0027Cloud\u0027,\n    Icons.cloud_outlined,\n  ),\n  brush(\u0027Brush\u0027, Icons.brush_outlined),\n  heart(\u0027Heart\u0027, Icons.favorite);\n\n  const IconLabel(this.label, this.icon);\n  final String label;\n  final IconData icon;\n}\n\n```\n\n\u003c/details\u003e\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/1bc791697c9f09157cdbdf55001c115f654ed95e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "01b987f5a674c6385c0d99ac8f82437a5f9123ed",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "98571cdf8aafd40aadd523b525df6d25e6728130",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "4c9fdb5aa90bdeb0ceb1a2d167afbc792b5b2f2b",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "60099c64ca9af9cb453aafa42f6f5450708bd291",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
