Commit: Componentizando File Input

Nesta aula, vamos componentizar o componente de Upload de uma maneira semelhante ao que fizemos com o Input. Isso nos permitirá reutilizar partes específicas do componente em diferentes lugares. Vamos seguir o padrão de composição, criando os componentes Root, Trigger, ImagePreview e Control, cada um com suas funcionalidades específicas. Ao final, teremos um componente de Upload flexível e customizável, que poderá ser utilizado em diferentes contextos.