react-lgpd-consent 0.4.3 → 0.5.0
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/CHANGELOG.md +93 -0
- package/README.en.md +15 -0
- package/README.md +28 -0
- package/dist/core.cjs +12 -0
- package/dist/core.d.cts +2 -0
- package/dist/core.d.ts +2 -0
- package/dist/core.js +1 -0
- package/dist/index.cjs +6 -1085
- package/dist/index.d.cts +1 -3775
- package/dist/index.d.ts +1 -3775
- package/dist/index.js +1 -930
- package/dist/integrations.cjs +66 -0
- package/dist/integrations.d.cts +1 -0
- package/dist/integrations.d.ts +1 -0
- package/dist/integrations.js +1 -0
- package/dist/mui.cjs +12 -0
- package/dist/mui.d.cts +1 -0
- package/dist/mui.d.ts +1 -0
- package/dist/mui.js +1 -0
- package/package.json +42 -80
- package/dist/FloatingPreferencesButton-4AGBXNHH.cjs +0 -11
- package/dist/FloatingPreferencesButton-IY7TFD7D.js +0 -2
- package/dist/PreferencesModal-5KNHWW57.js +0 -2
- package/dist/PreferencesModal-YBCWCVUI.cjs +0 -11
- package/dist/chunk-25XEI2DZ.cjs +0 -193
- package/dist/chunk-FJKRAERJ.cjs +0 -119
- package/dist/chunk-N3QOW4SA.js +0 -178
- package/dist/chunk-ORI4PLVG.cjs +0 -1899
- package/dist/chunk-PJFGQMCI.js +0 -92
- package/dist/chunk-RWT2ORFE.js +0 -1840
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,99 @@ Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
|
|
|
4
4
|
|
|
5
5
|
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.0.0/), e este projeto segue [Semantic Versioning](https://semver.org/lang/pt-BR/).
|
|
6
6
|
|
|
7
|
+
## [0.4.5] - 2025-10-25 — DataLayer Events e CI/CD
|
|
8
|
+
|
|
9
|
+
### 📊 **DataLayer Events para Google Tag Manager**
|
|
10
|
+
|
|
11
|
+
- **Eventos Padronizados**: Implementado contrato de eventos `consent_initialized` e `consent_updated` no `window.dataLayer`
|
|
12
|
+
- `consent_initialized`: Disparado após hidratação inicial do `ConsentProvider`
|
|
13
|
+
- `consent_updated`: Disparado quando usuário altera preferências via banner, modal ou API
|
|
14
|
+
- Payload inclui: `event`, `consent_version`, `timestamp` (ISO 8601), `categories`, `origin`, `changed_categories`
|
|
15
|
+
|
|
16
|
+
- **Rastreamento de Origem**: Campo `origin` identifica fonte da mudança de consentimento
|
|
17
|
+
- `'banner'`: Decisão feita no CookieBanner
|
|
18
|
+
- `'modal'`: Ajuste feito no PreferencesModal
|
|
19
|
+
- `'reset'`: Reset programático via API
|
|
20
|
+
- `'programmatic'`: Mudança via `setPreference()` ou `acceptAll()`
|
|
21
|
+
|
|
22
|
+
- **API Pública**: Novas funções exportadas para uso customizado
|
|
23
|
+
- `pushConsentInitializedEvent(categories: ConsentPreferences)`
|
|
24
|
+
- `pushConsentUpdatedEvent(categories: ConsentPreferences, origin: ConsentEventOrigin, previousCategories?: ConsentPreferences)`
|
|
25
|
+
- Tipos: `ConsentEventOrigin`, `ConsentInitializedEvent`, `ConsentUpdatedEvent`, `ConsentEvent`
|
|
26
|
+
|
|
27
|
+
- **Integração Automática**: Eventos disparados automaticamente pelo `ConsentContext`
|
|
28
|
+
- Ref `previousPreferencesRef` rastreia estado anterior para calcular `changed_categories`
|
|
29
|
+
- Logger integrado para debug de eventos em desenvolvimento
|
|
30
|
+
- SSR-safe: não quebra quando `window` é undefined
|
|
31
|
+
|
|
32
|
+
- **Documentação GTM**: Seção completa adicionada em `INTEGRACOES.md`
|
|
33
|
+
- Schemas dos eventos com exemplos
|
|
34
|
+
- Passo a passo de configuração do Google Tag Manager
|
|
35
|
+
- Exemplos TypeScript de triggers e tags customizados
|
|
36
|
+
- Casos de uso: auditoria LGPD, análise de conversão, triggers condicionais
|
|
37
|
+
|
|
38
|
+
### 🔧 **CI/CD e Build**
|
|
39
|
+
|
|
40
|
+
- **Migração para pnpm**: Workflows atualizados de npm para pnpm
|
|
41
|
+
- `ci.yml`: Adicionado `pnpm/action-setup@v4`, substituído `npm ci` por `pnpm install --frozen-lockfile`
|
|
42
|
+
- `package-check.yml`: Migrado para pnpm
|
|
43
|
+
- `publish-github-packages.yml`: Migrado para pnpm
|
|
44
|
+
- `deploy-docs.yml`: Migrado para pnpm
|
|
45
|
+
- **Problema Resolvido**: Conflitos `ERESOLVE` com `@eslint/js` eliminados
|
|
46
|
+
- `.gitignore`: Adicionado `package-lock.json` para evitar conflitos
|
|
47
|
+
|
|
48
|
+
- **Dependências**: Adicionado `@eslint/js@9.38.0` para resolver missing dependency error
|
|
49
|
+
|
|
50
|
+
### 🧪 **Testes**
|
|
51
|
+
|
|
52
|
+
- **dataLayerEvents.test.ts**: 10 novos testes cobrindo eventos dataLayer
|
|
53
|
+
- Push de eventos `consent_initialized` e `consent_updated`
|
|
54
|
+
- Cálculo correto de `changed_categories`
|
|
55
|
+
- Diferentes origens (banner, modal, reset, programmatic)
|
|
56
|
+
- Inicialização do dataLayer se não existir
|
|
57
|
+
- SSR-safety (não quebra quando window é undefined)
|
|
58
|
+
- Formato ISO 8601 de timestamps
|
|
59
|
+
- **Solução de Isolamento**: Testes usam estratégia de "pegar último evento" para evitar acúmulo entre testes
|
|
60
|
+
|
|
61
|
+
### 📚 **Documentação**
|
|
62
|
+
|
|
63
|
+
- **INTEGRACOES.md**: Nova seção "Eventos dataLayer (Google Tag Manager)" com 200+ linhas
|
|
64
|
+
- **README.md**: Seção "Novidades v0.4.5" com resumo de features
|
|
65
|
+
- **README.en.md**: Tradução da seção "What's New in v0.4.5"
|
|
66
|
+
- **tsconfig.typedoc.json**: Corrigido para excluir `*.test.ts` (além de `*.test.tsx`)
|
|
67
|
+
- **API Pública**: Exportações documentadas com TSDoc completo
|
|
68
|
+
|
|
69
|
+
### 📦 **Build**
|
|
70
|
+
|
|
71
|
+
- **Versão**: Bump de `0.4.4` → `0.4.5`
|
|
72
|
+
- **Tamanho**: Build otimizado mantém tree-shaking e SSR-safety
|
|
73
|
+
- ESM: `dist/index.js` ~32.59 KB
|
|
74
|
+
- CJS: `dist/index.cjs` ~38.17 KB
|
|
75
|
+
- Types: `dist/index.d.ts` ~132.13 KB
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## [0.4.4] - 2025-10-06 — Correções de CI/CD e Publicação
|
|
80
|
+
|
|
81
|
+
### 🔧 **Correções de CI/CD**
|
|
82
|
+
|
|
83
|
+
- **Workflow de Publicação npm**: Corrigido bug que impedia publicação mesmo quando tag estava na `main`
|
|
84
|
+
- **Problema**: `git fetch --depth=1` limitava histórico e falhava verificação de ancestralidade
|
|
85
|
+
- **Solução**: Removido `--depth=1` do fetch, aproveitando `fetch-depth: 0` do checkout
|
|
86
|
+
- **Impacto**: Tags criadas após merge para `main` agora são publicadas corretamente no npm
|
|
87
|
+
|
|
88
|
+
### 📊 **Integração com Codecov**
|
|
89
|
+
|
|
90
|
+
- **Upload de Coverage**: Adicionado `codecov/codecov-action@v5` ao workflow CI
|
|
91
|
+
- Envia relatórios de cobertura automaticamente para Codecov
|
|
92
|
+
- Token configurado via `secrets.CODECOV_TOKEN`
|
|
93
|
+
- Integração com badge de coverage no README
|
|
94
|
+
|
|
95
|
+
### 📚 **Documentação**
|
|
96
|
+
|
|
97
|
+
- **Badges**: Badge de coverage já configurado no README (v0.4.3) agora recebe dados em tempo real
|
|
98
|
+
- **Workflows**: Documentação inline sobre fetch depth e verificação de ancestralidade
|
|
99
|
+
|
|
7
100
|
## [0.4.3] - 2025-10-06 — Otimizações de Performance e Qualidade
|
|
8
101
|
|
|
9
102
|
### 🚀 **Melhorias de Performance**
|
package/README.en.md
CHANGED
|
@@ -50,6 +50,21 @@ npm install react-lgpd-consent @mui/material @emotion/react @emotion/styled js-c
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
+
## ✨ What's New in v0.4.5
|
|
54
|
+
|
|
55
|
+
### 📊 DataLayer Events for Google Tag Manager
|
|
56
|
+
- **Standardized Events**: `consent_initialized` and `consent_updated` automatically dispatched
|
|
57
|
+
- **Origin Tracking**: Identifies whether decision came from banner, modal, reset, or programmatic API
|
|
58
|
+
- **LGPD Audit**: Complete change history with `changed_categories` and ISO 8601 timestamps
|
|
59
|
+
- **GTM Integration**: Full documentation with trigger and tag examples
|
|
60
|
+
- **Public API**: Exported `pushConsentInitializedEvent` and `pushConsentUpdatedEvent` functions
|
|
61
|
+
|
|
62
|
+
### 🔧 CI/CD Improvements
|
|
63
|
+
- **Migration to pnpm**: Workflows updated from npm to pnpm, resolving dependency conflicts
|
|
64
|
+
- **Optimized Build**: Faster and more reliable pipeline
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
53
68
|
## 📖 Basic Usage
|
|
54
69
|
|
|
55
70
|
Wrap your app with `ConsentProvider` (minimal example):
|
package/README.md
CHANGED
|
@@ -52,6 +52,34 @@ npm install react-lgpd-consent @mui/material @emotion/react @emotion/styled js-c
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
+
## ✨ Novidades v0.4.5
|
|
56
|
+
|
|
57
|
+
### 📊 DataLayer Events para Google Tag Manager
|
|
58
|
+
- **Eventos Padronizados**: `consent_initialized` e `consent_updated` disparados automaticamente
|
|
59
|
+
- **Rastreamento de Origem**: Identifica se decisão veio do banner, modal, reset ou API programática
|
|
60
|
+
- **Auditoria LGPD**: Histórico completo de mudanças com `changed_categories` e timestamps ISO 8601
|
|
61
|
+
- **Integração GTM**: Documentação completa com exemplos de triggers e tags
|
|
62
|
+
- **API Pública**: Funções `pushConsentInitializedEvent` e `pushConsentUpdatedEvent` exportadas
|
|
63
|
+
|
|
64
|
+
### 🔧 Melhorias de CI/CD
|
|
65
|
+
- **Migração para pnpm**: Workflows atualizados de npm para pnpm, resolvendo conflitos de dependências
|
|
66
|
+
- **Build Otimizado**: Pipeline mais rápido e confiável
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## ✨ Novidades v0.4.4
|
|
71
|
+
|
|
72
|
+
### 🔧 CI/CD e Publicação
|
|
73
|
+
- **Workflow de Publicação**: Corrigido bug que impedia publicação automática no npm quando tags eram criadas após merge para `main`
|
|
74
|
+
- **Codecov Integration**: Adicionado upload automático de coverage reports para melhor visualização de cobertura de testes
|
|
75
|
+
- **Badge de Coverage**: Agora atualizado em tempo real via Codecov
|
|
76
|
+
|
|
77
|
+
### 📊 Qualidade e Confiabilidade
|
|
78
|
+
- **Publicação Confiável**: Tags agora são publicadas corretamente quando commit está no histórico da `main`
|
|
79
|
+
- **Visibilidade de Cobertura**: Integração completa com Codecov para tracking de qualidade
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
55
83
|
## ✨ Novidades v0.4.1
|
|
56
84
|
|
|
57
85
|
### 🎨 Design Tokens Expandidos
|
package/dist/core.cjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@react-lgpd-consent/core');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(core).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return core[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
package/dist/core.d.cts
ADDED
package/dist/core.d.ts
ADDED
package/dist/core.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@react-lgpd-consent/core';
|