Tema
Todos os arquivos CSS e SCSS no Raaghu Design System agora usam raaghu-react-themes como a única fonte de verdade para todos os valores relacionados ao tema.
📊 Estatísticas de Integração
- 📁 Total de Componentes: 60 componentes RDS
- 🎨 Arquivos SCSS Criados: 60 folhas de estilo de componentes
- 🔧 Arquivos Atualizados: 41 componentes atualizados para usar variáveis de tema
- 🏷️ Variáveis de Tema: 348 usos de variáveis de tema em todos os componentes
- 📚 Arquivos de Documentação: 6 arquivos de documentação abrangentes criados
🎯 O Que Foi Alcançado
1. Arquitetura CSS/SCSS Completa ✅
- Cada componente tem seu arquivo SCSS correspondente com nomenclatura consistente
- Estrutura de arquivos:
rds-{componente}/rds-{componente}.scss - Metodologia BEM com prefixos RDS:
.rds-{componente}__elemento--modificador
2. Sistema de Tema Centralizado ✅
- Criado
custom-properties.scsscom mais de 150 tokens de design - Todos os componentes agora usam propriedades personalizadas CSS dos temas
- Ponto de contato único para todos os valores de estilização
- Troca fácil de tema (claro, escuro)
3. Ferramentas Automatizadas ✅
generate-scss.js- Gera automaticamente arquivos SCSS para novos componentesupdate-theme-variables.js- Atualiza automaticamente os componentes para usar variáveis de tema- Padrões e convenções consistentes em todos os arquivos
🎨 Exemplos de Integração de Tema
Antes da Integração (Valores Codificados)
.rds-button {
background-color: #1976d2;
padding: 8px 16px;
border-radius: 4px;
transition: all 0.2s ease;
}
Após a Integração (Variáveis de Tema) ✨
.rds-button {
background-color: var(--rds-button-primary-bg);
padding: var(--rds-spacing-sm) var(--rds-spacing-md);
border-radius: var(--rds-border-radius-sm);
transition: all var(--rds-transition-base);
}
🔗 Fluxo de Ponto de Contato Único
graph TD
A[raaghu-react-themes/src/styles/] --> B[variables/color-variables.scss]
A --> C[themes/light.scss]
A --> D[themes/dark.scss]
A --> F[custom-properties.scss]
F --> G[CSS Custom Properties]
G --> H[Todos os Componentes RDS]
H --> I[rds-button.scss]
H --> J[rds-card.scss]
H --> K[rds-alert.scss]
H --> L[... mais 57 componentes]
🛠️ Experiência do Desenvolvedor
Importar Tema em Sua Aplicação
import '@waiin/raaghu-react/raaghu-react-themes/src/styles/themes/light.scss';
Usar Variáveis de Tema nos Componentes
.my-component {
// Cores
background-color: var(--rds-background-paper);
color: var(--rds-text-primary);
border: 1px solid var(--rds-border-default);
// Espaçamento
padding: var(--rds-spacing-md);
// Tipografia
font-family: var(--rds-font-family-base);
font-size: var(--rds-font-size-md);
// Efeitos
box-shadow: var(--rds-elevation-2);
transition: all var(--rds-transition-base);
}
Trocar de Tema Facilmente
// Tema claro
import 'raaghu-react-themes/src/styles/themes/light.scss';
// Tema escuro
import 'raaghu-react-themes/src/styles/themes/dark.scss';
📈 Benefícios Alcançados
✅ Consistência
Todos os componentes usam a mesma paleta de cores, escala de espaçamento, tipografia e padrões de interação.
✅ Manutenibilidade
Altere um valor de cor ou espaçamento em um único lugar e veja a mudança refletida em mais de 60 componentes.
✅ Troca de Tema
Alterne facilmente entre os temas claro e escuro sem precisar reconstruir.
✅ Produtividade do Desenvolvedor
Nomes de variáveis claros e semânticos tornam o desenvolvimento mais rápido e intuitivo.