Repository: flutter
Issue: The size of `PopupMenuButton` is not adapted to the size of `PopupMenuItem`s
Labels: framework,f: material design,has reproducible steps,found in release: 3.7,found in release: 3.8,team-design,triaged-design

## Steps to Reproduce

You only need to copy the code into DartPad.
Create a `PopupMenuButton` with items with 23 a.
The popup size is not at the right size.
This bug is present on 3.7, beta and master.

**Expected results:** <!-- what did you want to see? -->

![image](https://user-images.githubusercontent.com/25029876/217014027-e52b8997-219f-4610-95dc-53e0b8dcc912.png)

**Actual results:** <!-- what did you see? -->

![image](https://user-images.githubusercontent.com/25029876/217013861-350b55ff-ab20-4bc4-b860-be9464ab9fd5.png)

<details>
<summary>Code sample material2</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    const label = 'aaaaaaaaaaaaaaaaaaaaaa';
    return MaterialApp(
      home: Scaffold(
        body: Row(
          children: [
            const Text('Not Fit'),
            PopupMenuButton(
              itemBuilder: (final context) => const [
                PopupMenuItem(
                  value: 0,
                  child: Text(label),
                ),
                PopupMenuItem(
                  value: 1,
                  child: Text(label + 'a'),
                ),
              ],
            ),
            const SizedBox(width: 30),
            const Text('Fit'),
            PopupMenuButton(
              itemBuilder: (final context) => const [
                PopupMenuItem(
                  value: 0,
                  child: Text(label),
                ),
                PopupMenuItem(
                  value: 1,
                  child: Text(label),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}
```

</details>

<details>
<summary>Code sample material3</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    const label = 'aaaaaaaaaaaaaaaaa';
    return MaterialApp(
      theme: ThemeData(useMaterial3: true),
      home: Scaffold(
        body: Row(
          children: [
            const Text('Not Fit'),
            PopupMenuButton(
              itemBuilder: (final context) => const [
                PopupMenuItem(
                  value: 0,
                  child: Text(label),
                ),
                PopupMenuItem(
                  value: 1,
                  child: Text('${label}a'),
                ),
              ],
            ),
            const SizedBox(width: 30),
            const Text('Fit'),
            PopupMenuButton(
              itemBuilder: (final context) => const [
                PopupMenuItem(
                  value: 0,
                  child: Text(label),
                ),
                PopupMenuItem(
                  value: 1,
                  child: Text(label),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}
```

</details>