Skip to content

v0.4.2

Compare
Choose a tag to compare
@victorcrbt victorcrbt released this 07 Mar 12:43
· 35 commits to master since this release
78a1b8f

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