Form input
File input
Return File data directly without mixing selection with upload transport or queue state.Choose it deliberately
Use the component when its interaction contract matches the user task.
Use when
You need native file selection and policy feedback with predictable M3 behavior.
Avoid overloading
Do not move application business state, requests, or navigation rules into the component.
Composition
Sizing, labels, and neighboring elements should preserve visual hierarchy.
One primary meaning
Label and supporting content should communicate one task.
Stable geometry
Avoid unnecessary size or position changes during interaction.