1
resposta

[Bug] Erro de tipagem no tailwind.config

Meu projeto é mais recente e o arquivo de confguração do tailwind vem em typescript. Quando vou inserir a arrow function, para deixar a opacidade dinâmica, mostrada na aula: 'Tratando Opacidade', recebo o seguinte erro de tipagem:

Type '({ opacityValue }: { opacityValue: any; }) => string' is not assignable to type 'string | RecursiveKeyValuePair<string, string>'.ts(2322)

meu código do tailwind.config.ts:

import type { Config } from 'tailwindcss'

export const getThemeColor = ({ opacityValue }: { opacityValue: string })=>
`rgba(var(--primary), ${opacityValue})`

const config: Config = {
  content: [
    './pages/**/*.{js,ts,jsx,tsx,mdx}',
    './components/**/*.{js,ts,jsx,tsx,mdx}',
    './app/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  theme: {
    extend: {
      colors: {
        light: '#ffffff',
        dark: '#f8f8f8',
        gray: {},
        theme: {
          primary: ({ opacityValue }) => `rgba(var(--primary), ${opacityValue})`,
        },
      }
    },
  },
  plugins: [],
}
export default config
1 resposta

Oii, Gildembergleite! Tudo bem?

O erro que está recebendo acontece porque há uma tentiva de usar uma função dentro do objeto de configuração do Tailwind CSS definindo o valor da cor primária, porém, no Tailwind é esperado que as cores sejam definidas como valores estáticos, e não como função.

Como sugestão, você pode criar uma cor personalizada em seu arquivo de configuração como, por exemplo:

 primary: 'var(--primary)', // Defina a cor primária como uma variável CSS

Feito isso, use a cor primária normalmente ajustando a opacidade conforme o teu gosto, um exemplo:

const minhaCor = `rgba(theme.primary, 0.5)`;

E um ponto de atenção: revise o código para constar que a variável --primary esteja definida corretamente.

Lembra-se que as sugestões são exemplos e precisam ser adaptadas de acordo com o código em sua totalidade. Faça os testes e observe qual funciona melhor para você.

Espero que dê certo. Qualquer dúvida, compartilho aqui no fórum.

Bons estudos, Gildembergleite!