Commit 0efbecb
Allow label to be used to compute InputDecorator Intrinsic width (flutter#178101)
## Description
This PR adds `InputDecorator.maintainLabelSize` (similar to
`InputDecorator.maintainHintSize`) to allow the label to be used in the
intrinsic width calculation (if could be used for the intrinsic height
calculation later if needed).
I opted for this flag (and defaulting to false) because changing the
default calculation would probably break various usages.
See
flutter#178099 (comment)
for why this change will be helpful to simplify and fix DropdownMenu
implementation.
## Before
The label might be cut off:
<img width="126" height="71" alt="Screenshot 2025-11-05 at 20 16 43"
src="https://github.com/user-attachments/assets/61d9f817-5c58-43f9-9307-976f9c124ec7"
/>
## After
The label is entirely visible because it is part of the intrinsic width
calculation:
<img width="126" height="71" alt="Screenshot 2025-11-05 at 20 16 09"
src="https://github.com/user-attachments/assets/47360e17-3cde-4f05-8a6b-cc9e86644ffc"
/>
## Related Issue
Fixes [DropdownMenu menu panel does not close when pressing ESC and
requestFocusOnTap is
false](flutter#177993)
Part of flutter#123797
## Tests
- Adds 4 tests.
- Updates 1 non-related test where I spotted some nits.1 parent bd6f555 commit 0efbecb
File tree
2 files changed
+129
-14
lines changed- packages/flutter
- lib/src/material
- test/material
2 files changed
+129
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
596 | 596 | | |
597 | 597 | | |
598 | 598 | | |
| 599 | + | |
599 | 600 | | |
600 | 601 | | |
601 | 602 | | |
| |||
622 | 623 | | |
623 | 624 | | |
624 | 625 | | |
| 626 | + | |
625 | 627 | | |
626 | 628 | | |
627 | 629 | | |
| |||
656 | 658 | | |
657 | 659 | | |
658 | 660 | | |
| 661 | + | |
659 | 662 | | |
660 | 663 | | |
661 | 664 | | |
| |||
683 | 686 | | |
684 | 687 | | |
685 | 688 | | |
| 689 | + | |
686 | 690 | | |
687 | 691 | | |
688 | 692 | | |
689 | 693 | | |
690 | 694 | | |
691 | 695 | | |
692 | | - | |
693 | | - | |
| 696 | + | |
694 | 697 | | |
695 | 698 | | |
696 | 699 | | |
| |||
1212 | 1215 | | |
1213 | 1216 | | |
1214 | 1217 | | |
1215 | | - | |
| 1218 | + | |
1216 | 1219 | | |
1217 | 1220 | | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
1218 | 1224 | | |
1219 | 1225 | | |
1220 | 1226 | | |
| |||
1227 | 1233 | | |
1228 | 1234 | | |
1229 | 1235 | | |
1230 | | - | |
| 1236 | + | |
1231 | 1237 | | |
1232 | 1238 | | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
1233 | 1242 | | |
1234 | 1243 | | |
1235 | 1244 | | |
| |||
2651 | 2660 | | |
2652 | 2661 | | |
2653 | 2662 | | |
| 2663 | + | |
2654 | 2664 | | |
2655 | 2665 | | |
2656 | 2666 | | |
| |||
2787 | 2797 | | |
2788 | 2798 | | |
2789 | 2799 | | |
| 2800 | + | |
2790 | 2801 | | |
2791 | 2802 | | |
2792 | 2803 | | |
| |||
2884 | 2895 | | |
2885 | 2896 | | |
2886 | 2897 | | |
| 2898 | + | |
2887 | 2899 | | |
2888 | 2900 | | |
2889 | 2901 | | |
| |||
3174 | 3186 | | |
3175 | 3187 | | |
3176 | 3188 | | |
3177 | | - | |
| 3189 | + | |
3178 | 3190 | | |
3179 | | - | |
3180 | | - | |
| 3191 | + | |
| 3192 | + | |
3181 | 3193 | | |
3182 | 3194 | | |
3183 | 3195 | | |
3184 | 3196 | | |
| 3197 | + | |
| 3198 | + | |
| 3199 | + | |
| 3200 | + | |
| 3201 | + | |
| 3202 | + | |
| 3203 | + | |
| 3204 | + | |
| 3205 | + | |
3185 | 3206 | | |
3186 | 3207 | | |
3187 | 3208 | | |
| |||
3893 | 3914 | | |
3894 | 3915 | | |
3895 | 3916 | | |
| 3917 | + | |
3896 | 3918 | | |
3897 | 3919 | | |
3898 | 3920 | | |
| |||
3953 | 3975 | | |
3954 | 3976 | | |
3955 | 3977 | | |
| 3978 | + | |
3956 | 3979 | | |
3957 | 3980 | | |
3958 | 3981 | | |
| |||
4077 | 4100 | | |
4078 | 4101 | | |
4079 | 4102 | | |
| 4103 | + | |
4080 | 4104 | | |
4081 | 4105 | | |
4082 | 4106 | | |
| |||
4139 | 4163 | | |
4140 | 4164 | | |
4141 | 4165 | | |
| 4166 | + | |
4142 | 4167 | | |
4143 | 4168 | | |
4144 | 4169 | | |
| |||
4199 | 4224 | | |
4200 | 4225 | | |
4201 | 4226 | | |
| 4227 | + | |
4202 | 4228 | | |
4203 | 4229 | | |
4204 | 4230 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9411 | 9411 | | |
9412 | 9412 | | |
9413 | 9413 | | |
| 9414 | + | |
| 9415 | + | |
| 9416 | + | |
| 9417 | + | |
| 9418 | + | |
| 9419 | + | |
| 9420 | + | |
| 9421 | + | |
| 9422 | + | |
| 9423 | + | |
| 9424 | + | |
| 9425 | + | |
| 9426 | + | |
| 9427 | + | |
| 9428 | + | |
| 9429 | + | |
| 9430 | + | |
| 9431 | + | |
| 9432 | + | |
| 9433 | + | |
| 9434 | + | |
9414 | 9435 | | |
9415 | | - | |
| 9436 | + | |
9416 | 9437 | | |
9417 | | - | |
| 9438 | + | |
| 9439 | + | |
9418 | 9440 | | |
9419 | | - | |
| 9441 | + | |
| 9442 | + | |
| 9443 | + | |
| 9444 | + | |
| 9445 | + | |
| 9446 | + | |
| 9447 | + | |
| 9448 | + | |
| 9449 | + | |
| 9450 | + | |
| 9451 | + | |
| 9452 | + | |
| 9453 | + | |
| 9454 | + | |
| 9455 | + | |
| 9456 | + | |
| 9457 | + | |
| 9458 | + | |
| 9459 | + | |
| 9460 | + | |
| 9461 | + | |
| 9462 | + | |
| 9463 | + | |
| 9464 | + | |
| 9465 | + | |
| 9466 | + | |
| 9467 | + | |
| 9468 | + | |
| 9469 | + | |
| 9470 | + | |
| 9471 | + | |
| 9472 | + | |
| 9473 | + | |
| 9474 | + | |
| 9475 | + | |
| 9476 | + | |
| 9477 | + | |
| 9478 | + | |
| 9479 | + | |
| 9480 | + | |
| 9481 | + | |
| 9482 | + | |
| 9483 | + | |
| 9484 | + | |
| 9485 | + | |
| 9486 | + | |
| 9487 | + | |
| 9488 | + | |
| 9489 | + | |
| 9490 | + | |
| 9491 | + | |
| 9492 | + | |
| 9493 | + | |
| 9494 | + | |
| 9495 | + | |
9420 | 9496 | | |
| 9497 | + | |
| 9498 | + | |
| 9499 | + | |
| 9500 | + | |
| 9501 | + | |
| 9502 | + | |
| 9503 | + | |
| 9504 | + | |
| 9505 | + | |
9421 | 9506 | | |
| 9507 | + | |
| 9508 | + | |
| 9509 | + | |
| 9510 | + | |
| 9511 | + | |
| 9512 | + | |
9422 | 9513 | | |
9423 | 9514 | | |
9424 | 9515 | | |
9425 | | - | |
| 9516 | + | |
9426 | 9517 | | |
9427 | 9518 | | |
9428 | 9519 | | |
9429 | 9520 | | |
9430 | 9521 | | |
9431 | | - | |
9432 | | - | |
9433 | | - | |
| 9522 | + | |
9434 | 9523 | | |
9435 | 9524 | | |
9436 | 9525 | | |
| |||
0 commit comments