react-lgpd-consent 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,42 +4,35 @@
4
4
 
5
5
  <div>
6
6
  <a href="https://www.npmjs.com/package/react-lgpd-consent"><img src="https://img.shields.io/npm/v/react-lgpd-consent?style=for-the-badge&logo=npm&color=cb3837&logoColor=white" alt="NPM Version"></a>
7
- <a href="https://www.npmjs.com/package/react-lgpd-consent"><img src="https://img.shields.io/npm/dm/react-lgpd-consent?style=for-the-badge&logo=npm&color=ff6b35&logoColor=white" alt="Downloads"></a>
8
- <a href="https://github.com/lucianoedipo/react-lgpd-consent/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/react-lgpd-consent?style=for-the-badge&color=green&logoColor=white" alt="License"></a>
7
+ <a href="https://www.npmjs.com/package/react-lgpd-consent"><img src="https://img.shields.io/npm/dm/react-lgpd-consent?style=for-the-badge&logo=npm&color=ff6b35&logoColor=white" alt="Downloads"></a>
8
+ <a href="https://github.com/lucianoedipo/react-lgpd-consent/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/react-lgpd-consent?style=for-the-badge&color=green&logoColor=white" alt="License"></a>
9
+ <a href="https://lucianoedipo.github.io/react-lgpd-consent/storybook/"><img src="https://img.shields.io/badge/Storybook-Playground-ff4785?style=for-the-badge&logo=storybook&logoColor=white" alt="Storybook"></a>
9
10
  </div>
10
-
11
+
11
12
  <div>
12
13
  <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-Ready-3178c6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript Ready"></a>
13
14
  <a href="https://reactjs.org/"><img src="https://img.shields.io/badge/React-18+-61dafb?style=for-the-badge&logo=react&logoColor=white" alt="React 18+"></a>
14
15
  <a href="https://nextjs.org/"><img src="https://img.shields.io/badge/Next.js-Compatible-000000?style=for-the-badge&logo=next.js&logoColor=white" alt="Next.js Compatible"></a>
15
16
  </div>
16
17
 
17
- <br>
18
+ <br />
18
19
 
19
20
  <p>
20
21
  <a href="#-instalação"><strong>Instalação</strong></a> •
21
22
  <a href="#-uso-básico"><strong>Uso Básico</strong></a> •
22
- <a href="#-documentação-completa"><strong>Documentação</strong></a> •
23
+ <a href="./QUICKSTART.md"><strong>📚 Guia de Início Rápido</strong></a> •
24
+ <a href="#-documentação-completa"><strong>Documentação</strong></a> •
25
+ <a href="./README.en.md">🇺🇸 🇬🇧 English</a> •
23
26
  <a href="#-como-contribuir"><strong>Contribuir</strong></a>
24
27
  </p>
25
- </div>
26
-
27
- ---
28
-
29
- ## 🎯 Por que usar `react-lgpd-consent`?
30
28
 
31
- Esta biblioteca oferece uma solução robusta e flexível para gerenciar o consentimento de cookies em aplicações React, com foco total na **Lei Geral de Proteção de Dados (LGPD)** do Brasil.
32
-
33
- ### Principais Funcionalidades
29
+ <!-- Quickstart callout (mantido) -->
30
+ <p align="center">
31
+ <a href="./QUICKSTART.md"><img src="https://img.shields.io/badge/Quickstart-Iniciar%20R%C3%A1pido-blue?style=for-the-badge&logo=book" alt="Quickstart"></a>
32
+ </p>
34
33
 
35
- | Funcionalidade | Descrição |
36
- | -------------------------------- | ----------------------------------------------------------------------------------------------------- |
37
- | 🇧🇷 **Foco na LGPD** | Implementação baseada nas diretrizes da ANPD, com textos e categorias alinhados à lei brasileira. |
38
- | 🎨 **UI Automática e Customizável** | Componentes de UI (Banner e Modal) prontos para uso, baseados em Material-UI, e totalmente substituíveis. |
39
- | ⚙️ **Configuração Consciente** | A prop `categories` força a declaração explícita dos cookies utilizados, seguindo o princípio da minimização. |
40
- | 🧠 **Guia para Desenvolvedores** | Sistema que exibe avisos e sugestões no console (em ambiente de dev) para garantir a correta implementação. |
41
- | 🚀 **Integrações Nativas** | Carregamento automático de scripts como Google Analytics e GTM, condicionado ao consentimento do usuário. |
42
- | 🔒 **Auditoria e Transparência** | O cookie de consentimento armazena metadados como data, origem e versão para fins de auditoria. |
34
+ <p align="center"><strong>Comece por aqui:</strong> siga o <a href="./QUICKSTART.md">Guia de Início Rápido (QUICKSTART.md)</a> para um tutorial passo-a-passo, exemplos TypeScript, tabela de props e integração com MUI — recomendado para usuários novos.</p>
35
+ </div>
43
36
 
44
37
  ---
45
38
 
@@ -49,98 +42,70 @@ Esta biblioteca oferece uma solução robusta e flexível para gerenciar o conse
49
42
  npm install react-lgpd-consent @mui/material @emotion/react @emotion/styled js-cookie
50
43
  ```
51
44
 
52
- **Dependências Peer:**
53
-
54
- A biblioteca requer `react`, `react-dom`, `@mui/material` e `js-cookie` como dependências peer.
45
+ **Dependências peer:** `react`, `react-dom`, `@mui/material` e `js-cookie`.
55
46
 
56
47
  ---
57
48
 
58
49
  ## 📖 Uso Básico
59
50
 
60
- Envolva sua aplicação com o `ConsentProvider` e configure as categorias de cookies que você utiliza.
51
+ Envolva sua aplicação com o `ConsentProvider` (exemplo mínimo):
61
52
 
62
53
  ```tsx
63
- // Em seu arquivo principal (ex: App.tsx)
64
- import { ConsentProvider } from 'react-lgpd-consent';
54
+ import { ConsentProvider } from 'react-lgpd-consent'
65
55
 
66
- function App() {
56
+ export default function App() {
67
57
  return (
68
- <ConsentProvider
69
- categories={{
70
- // É obrigatório especificar as categorias que seu site usa.
71
- // A categoria 'necessary' é sempre incluída.
72
- enabledCategories: ['analytics', 'marketing'],
73
- }}
74
- >
75
- {/* O banner e o botão de preferências aparecerão automaticamente */}
76
- <SuaAplicacao />
58
+ <ConsentProvider categories={{ enabledCategories: ['analytics'] }}>
59
+ <YourApp />
77
60
  </ConsentProvider>
78
- );
61
+ )
79
62
  }
80
63
  ```
81
64
 
82
- ### Exemplo com Integração e Textos Customizados
65
+ ## Nota sobre ThemeProvider e tema padrão
66
+
67
+ 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`:
83
68
 
84
69
  ```tsx
85
- import {
86
- ConsentProvider,
87
- ConsentScriptLoader,
88
- createGoogleAnalyticsIntegration,
89
- } from 'react-lgpd-consent';
90
-
91
- // 1. Crie as integrações que você precisa
92
- const integrations = [
93
- createGoogleAnalyticsIntegration({
94
- measurementId: 'G-XXXXXXXXXX', // Substitua pelo seu ID
95
- }),
96
- ];
97
-
98
- function App() {
99
- return (
100
- <ConsentProvider
101
- categories={{ enabledCategories: ['analytics'] }}
102
- texts={{
103
- bannerMessage: 'Nós usamos cookies para analisar o tráfego e melhorar a sua experiência.',
104
- acceptAll: 'Aceitar',
105
- declineAll: 'Recusar',
106
- // Para conformidade com a ANPD, preencha os campos abaixo
107
- controllerInfo: 'Controlado por: Sua Empresa LTDA (CNPJ: XX.XXX.XXX/XXXX-XX)',
108
- contactInfo: 'Contato do DPO: dpo@suaempresa.com',
109
- }}
110
- onConsentGiven={(state) => {
111
- console.log('O usuário deu o primeiro consentimento!', state.preferences);
112
- }}
113
- >
114
- {/* 2. Adicione o loader de scripts para carregá-los após o consentimento */}
115
- <ConsentScriptLoader integrations={integrations} />
116
-
117
- <SuaAplicacao />
118
- </ConsentProvider>
119
- );
120
- }
70
+ import { ConsentProvider, createDefaultConsentTheme } from 'react-lgpd-consent'
71
+
72
+ // Aplica um tema de fallback somente para os componentes da lib
73
+ ;<ConsentProvider
74
+ theme={createDefaultConsentTheme()}
75
+ categories={{ enabledCategories: ['analytics'] }}
76
+ >
77
+ <App />
78
+ </ConsentProvider>
121
79
  ```
122
80
 
123
- ---
81
+ 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.
124
82
 
125
83
  ## 📚 Documentação Completa
126
84
 
127
85
  Para mais detalhes sobre customização, hooks e funcionalidades, consulte os seguintes guias:
128
86
 
87
+ ### 📋 Documentação Principal
88
+
89
+ - **[📚 Guia de Início Rápido (`QUICKSTART.md`)](./QUICKSTART.md)**: Tutorial passo a passo com exemplos práticos, tabela completa de props, debugging e integrações.
129
90
  - **[Guia da API (`API.md`)](./API.md)**: Referência completa de todos os componentes, hooks e tipos.
130
91
  - **[Guia de Conformidade (`CONFORMIDADE.md`)](./CONFORMIDADE.md)**: Detalhes sobre as funcionalidades de conformidade com a LGPD.
131
92
  - **[Guia de Integrações (`INTEGRACOES.md`)](./INTEGRACOES.md)**: Como usar as integrações nativas e criar as suas.
132
93
 
94
+ ### 🎨 Documentação Interativa (GitHub Pages)
95
+
96
+ - **[📖 Storybook - Playground Interativo](https://lucianoedipo.github.io/react-lgpd-consent/storybook/)**: Explore e teste todos os componentes em tempo real com controles interativos.
97
+ - **[⚙️ TypeDoc - Referência de API](https://lucianoedipo.github.io/react-lgpd-consent/docs/)**: Documentação completa da API gerada automaticamente.
98
+ - **[🏠 Portal de Documentação](https://lucianoedipo.github.io/react-lgpd-consent/)**: Página inicial com navegação entre todas as documentações.
99
+
133
100
  ---
134
101
 
135
102
  ## 🤝 Como Contribuir
136
103
 
137
- Contribuições são muito bem-vindas! Este é um projeto open-source para a comunidade brasileira.
138
-
139
- 1. **Reporte Bugs ou Sugira Melhorias**: Abra uma [Issue no GitHub](https://github.com/lucianoedipo/react-lgpd-consent/issues).
140
- 2. **Envie um Pull Request**: Siga as instruções no nosso [Guia de Desenvolvimento (`DEVELOPMENT.md`)](./DEVELOPMENT.md).
104
+ 1. Abra uma [Issue](https://github.com/lucianoedipo/react-lgpd-consent/issues) para bugs ou melhorias.
105
+ 2. Siga o Guia de Desenvolvimento em `DEVELOPMENT.md` para enviar um PR.
141
106
 
142
107
  ---
143
108
 
144
109
  ## 📄 Licença
145
110
 
146
- Este projeto está licenciado sob a **MIT License**. Veja o arquivo [LICENSE](./LICENSE) para mais detalhes.
111
+ MIT veja o arquivo `LICENSE`.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PreferencesModal
3
- } from "./chunk-GPLNN3FD.js";
3
+ } from "./chunk-MHCQFGRJ.js";
4
4
  export {
5
5
  PreferencesModal
6
6
  };