Aula 14: Estilização Moderna e Componentes de UI 🎨
Nesta aula, vamos aprender como deixar nossa aplicação Angular bonita, profissional e responsiva, explorando o CSS isolado e as bibliotecas de componentes.
👗 Estilização Isolada (View Encapsulation)
Por padrão, o CSS que você escreve em um componente não vaza para o resto da aplicação. O Angular adiciona atributos únicos ao HTML para garantir esse isolamento.
Tipos de Encapsulamento
- Emulated (Padrão): Simula o isolamento via atributos.
- None: O CSS se torna global.
- ShadowDom: Usa a tecnologia nativa do browser para isolamento total.
📦 Bibliotecas de Componentes
Não precisamos reinventar a roda. Podemos usar bibliotecas que já trazem botões, modais e tabelas prontas.
- Angular Material: A biblioteca oficial seguindo o Material Design.
- PrimeNG: Uma das mais completas, com centenas de componentes.
- Tailwind CSS: Uma abordagem baseada em classes utilitárias que está dominando o mercado.
🛠️ Instalando Angular Material
Após instalado, basta importar os módulos (ou diretivas standalone) que deseja usar:
🌓 Variáveis CSS e Temas
Use variáveis CSS (--cor-primaria) para facilitar a criação de temas (Light/Dark Mode).
🌟 Animações no Angular
O Angular possui um módulo potente para animações de transição de estados.
graph LR
A[Estado: Inicial] --> |Transição| B[Estado: Final]
B --> |Trigger| C[Animação na Tela]
🚀 Prática: Interface Premium
Vamos transformar nossa listagem de produtos simples em uma vitrine de luxo:
1. Instale o Angular Material.
2. Use o MatCard para exibir os itens.
3. Adicione um MatToolbar como cabeçalho.
4. Implemente um botão que abre um MatDialog (modal) para ver mais detalhes.
🏁 Mini-Projeto da Aula
Crie uma página de perfil de usuário "Dark Mode" usando apenas variáveis CSS. O usuário deve conseguir alternar entre o tema claro e escuro clicando em um botão que altera uma classe no body da aplicação.