As propriedades para configurar o provider.
Obrigatório. Define as categorias de cookies que seu projeto utiliza, em conformidade com o princípio de minimização da LGPD.
Objeto para customizar todos os textos exibidos na UI.
Se true
, exibe um overlay que impede a interação com o site até uma decisão do usuário.
Callback executado na primeira vez que o usuário dá o consentimento.
Callback executado sempre que o usuário salva novas preferências.
Desativa as mensagens de orientação no console em ambiente de desenvolvimento.
Desabilita o botão flutuante para reabrir as preferências.
Permite substituir o componente de banner padrão por um customizado.
Permite substituir o modal de preferências padrão por um customizado.
Objeto de tema do Material-UI para estilizar os componentes padrão.
Estado inicial para hidratação em SSR, evitando o "flash" do banner.
Opções para customizar o nome, duração e outros atributos do cookie de consentimento.
A aplicação ou parte dela que terá acesso ao contexto de consentimento.
0.1.0 Provider principal da biblioteca. Envolva sua aplicação com este componente para habilitar o gerenciamento de consentimento.
Este provider gerencia o estado de consentimento, renderiza a UI (banner, modal) e fornece o contexto para todos os hooks, como o useConsent
.
A configuração é feita através de props, permitindo desde um uso "zero-config" (além da prop obrigatória categories
) até customizações avançadas.
// Uso básico
<ConsentProvider categories={{ enabledCategories: ['analytics'] }}>
<MyApp />
</ConsentProvider>
// Uso avançado com UI customizada e callbacks
<ConsentProvider
categories={{ enabledCategories: ['analytics', 'marketing'] }}
blocking={true}
texts={{ bannerMessage: 'Usamos cookies!' }}
onPreferencesSaved={(prefs) => console.log('Preferências salvas:', prefs)}
CookieBannerComponent={MeuBannerCustomizado}
>
<MyApp />
</ConsentProvider>
Provider global de consentimento. Deve envolver sua aplicação para fornecer contexto de consentimento.