Uma biblioteca React para gerenciamento de consentimento de cookies em conformidade com a LGPD.
Instalação • Uso Básico • 📚 Guia de Início Rápido • Documentação • 🇺🇸 🇬🇧 English • Contribuir
Comece por aqui: siga o Guia de Início Rápido (QUICKSTART.md) para um tutorial passo-a-passo, exemplos TypeScript, tabela de props e integração com MUI — recomendado para usuários novos.
npm install react-lgpd-consent @mui/material @emotion/react @emotion/styled js-cookie
Dependências peer: react
, react-dom
, @mui/material
e js-cookie
.
main
main
setPreference
e ScriptIntegration.category
agora usam string
ao invés de Category
Envolva sua aplicação com o ConsentProvider
(exemplo mínimo):
import { ConsentProvider } from 'react-lgpd-consent'
export default function App() {
return (
<ConsentProvider categories={{ enabledCategories: ['analytics'] }}>
<YourApp />
</ConsentProvider>
)
}
A biblioteca não cria um ThemeProvider
global automaticamente. Ela tenta herdar o tema do seu app quando você já possui um ThemeProvider
do MUI. Se você quiser aplicar explicitamente um tema de fallback para os componentes de consentimento, use a fábrica exportada createDefaultConsentTheme()
e passe via prop theme
:
import { ConsentProvider, createDefaultConsentTheme } from 'react-lgpd-consent'
// Aplica um tema de fallback somente para os componentes da lib
;<ConsentProvider
theme={createDefaultConsentTheme()}
categories={{ enabledCategories: ['analytics'] }}
>
<App />
</ConsentProvider>
Evite depender de criação de tema no import (isso evita side-effects e problemas em SSR). Se você precisar de compatibilidade retroativa com quem importava defaultConsentTheme
, entre em contato para adicionarmos um export compatível com deprecação documentada.
Para mais detalhes sobre customização, hooks e funcionalidades, consulte os seguintes guias:
QUICKSTART.md
): Tutorial passo a passo com exemplos práticos, tabela completa de props, debugging e integrações.
'use client'
, dynamic({ ssr: false })
e ordem dos provedores/estilos (MUI/Emotion) para evitar hydration mismatch.customCategories
— veja a seção “Categorias customizadas (customCategories)” no Quickstart.designTokens.layout.backdrop: 'auto'
para backdrop sensível ao tema no banner bloqueante.categories.enabledCategories
para clareza.policyLinkUrl
e/ou termsLinkUrl
apontarem para a página atual, o overlay bloqueante não é aplicado — garantindo legibilidade destas páginas.API.md
): Referência completa de todos os componentes, hooks e tipos.CONFORMIDADE.md
): Detalhes sobre as funcionalidades de conformidade com a LGPD.INTEGRACOES.md
): Como usar as integrações nativas e criar as suas.DEVELOPMENT.md
para enviar um PR.MIT — veja o arquivo LICENSE
.