v0.4.2
What's Changed
- feat(get-theme): add typing and overload to getTheme helper by @victorcrbt in #372
Breaking Changes
Para continuar utilizando o getTheme
sem problemas com o TypeScript, será necessário tipar o tema do Styled Components, mesmo que de forma genérica. Para fazer isso, crie um arquivo junto aos arquivos de definições de tipo (pode ser nomeado como styed-components.d.ts
), e adicione o seguinte conteúdo:
import 'styled-components';
declare module 'styled-components' {
export interface DefaultTheme {
[key: string]: any;
}
}
Desta forma, será possível continuar usando o acesso as propriedades por meio de string normalmente, e também será possível acessar por meio de função. Para tirar o máximo de proveito das definições de tipo, a interface DefaultTheme
deve possuir o formato que o tema segue. Caso o projeto utilize o formato de tema da template, é possível deixar o arquivo de definição de tipo desta forma:
import { ThemeType } from '~/modules';
import 'styled-components';
declare module 'styled-components' {
export interface DefaultTheme extends ThemeType {}
}
Desta forma, a IDE irá dar as sugestões de auto complete corretamente. Se algo no tema for diferente do padrão da template, basta sobreescrever dentro da interface DefaultTheme
.
Full Changelog: v0.4.1...v0.4.2