🌱 Seed

Customizando Temas

Você não precisa modificar os arquivos do tema para personalizar componentes. O Seed carrega componentes em camadas — o que você colocar em src/components/ sempre tem prioridade sobre o tema.

Como funciona a sobreposição

Quando o Seed carrega os componentes, ele segue esta ordem:

```
1. themes/<nome>/components/   ← base (tema)
2. src/components/             ← suas customizações (sempre vence)
```

Se você criar um componente com o mesmo nome em src/components/, ele substitui silenciosamente o do tema. O tema original não é alterado — o Seed simplesmente usa a sua versão.

Alterando o visual de um componente

A forma mais comum de customizar é criar uma versão do componente em src/components/ com as classes que você quer. Por exemplo, para deixar os botões com bordas arredondadas:

```yaml
# themes/seed-theme/components/button/button.yaml (original — não mexa)
button:
  tag: button
  class: inline-flex items-center px-4 py-2 rounded-lg font-medium
  variant:
    primary: bg-indigo-600 text-white hover:bg-indigo-700
```
```yaml
# src/components/button/button.yaml (sua versão)
button:
  tag: button
  class: inline-flex items-center px-4 py-2 rounded-full font-bold
  variant:
    primary: bg-emerald-600 text-white hover:bg-emerald-700
    secondary: bg-gray-100 text-gray-900 hover:bg-gray-200
```

O .template do botão original continua sendo usado — você só sobrescreveu as classes e variantes. Se quiser também mudar a estrutura HTML, crie um button.template junto.

Adicionando componentes novos

Componentes criados em src/components/ ficam disponíveis junto com os do tema. Não há conflito — o nome é único no projeto.

```
src/components/
  destaque/
    destaque.yaml       ← novo componente exclusivo do seu projeto
    destaque.template
```

Sobrescrevendo assets do tema

Arquivos em src/assets/ têm prioridade sobre os do tema. Se o tema tem themes/seed-theme/assets/seed-ui.css e você criar src/assets/seed-ui.css, o Seed usa o seu arquivo.

Útil para sobrescrever variáveis CSS ou adicionar estilos globais sem modificar o tema:

```
src/assets/
  seed-ui.css    ← substitui o CSS do tema com o mesmo nome
  extras.css     ← arquivo adicional (inclua no front matter do layout)
```

Quando fazer fork do tema

Sobreposição local (src/components/) é ideal para ajustes pontuais — um componente aqui, outro ali. Se você precisar mudar a maioria dos componentes ou a identidade visual completa, vale mais a pena fazer um fork:

Com fork, você tem controle total. A desvantagem é que atualizações do tema original precisam ser aplicadas manualmente.

⚠️

Evite editar diretamente os arquivos dentro de themes/<nome>/. Se você rodar seed theme-update, tudo que foi alterado lá será substituído pela versão mais recente do tema.

Feito com ❤️ e Seed