@react-lgpd-consent/core 0.8.0 → 0.9.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 CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog - @react-lgpd-consent/core
2
2
 
3
+ ## 0.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#145](https://github.com/lucianoedipo/react-lgpd-consent/pull/145) [`2d772bc`](https://github.com/lucianoedipo/react-lgpd-consent/commit/2d772bcf72d16ead7faace93f2e71d11c7bfec12) Thanks [@lucianoedipo](https://github.com/lucianoedipo)! - feat: adiciona posicionamento configurável do banner e aprimora textos de consentimento
8
+
9
+ ### Melhorias de UX e Posicionamento
10
+ - **Posicionamento do banner**: novas props `position`, `anchor` e `offset` em `cookieBannerProps` permitem ajustar a posição do banner para evitar colisões com footers fixos, chat widgets e outros elementos flutuantes
11
+ - **Posicionamento do FAB**: prop `offset` em `floatingPreferencesButtonProps` possibilita afastar o botão flutuante de outros elementos da UI
12
+ - **Textos de consentimento**: aprimorados os textos padrão para comunicar claramente o uso de cookies necessários e categorias opcionais, melhorando a transparência LGPD/ANPD
13
+
14
+ ### Melhorias Técnicas
15
+ - **Storybook**: removidas stories MDX e adicionada configuração Vite para avisos de tamanho de chunks
16
+ - **TypeDoc**: removida execução shell em `run-typedoc.mjs` para compatibilidade multiplataforma
17
+ - **Bundle**: ajustados limites de tamanho no `react-lgpd-consent/package.json`
18
+ - **MUI Patch**: aplicado patch em `@mui/icons-material@7.3.6` para resolver problemas de compatibilidade com exports
19
+
20
+ ### Documentação
21
+ - Adicionada seção de posicionamento em `QUICKSTART.md` e `API.md`
22
+ - Atualizada `CONFORMIDADE.md` com ênfase na comunicação clara de categorias
23
+ - Aprimorada documentação de props em `DesignContext.tsx`
24
+ - Consolidados links entre pacotes em READMEs
25
+
26
+ ### Limpeza e Refinamentos
27
+ - Ajustados testes de parsing de cookies legados em `cookieUtils.test.ts`
28
+ - Removidos comentários desnecessários em `cookieDiscovery.ts`
29
+ - Refinado guidance para desenvolvedores em `developerGuidance.ts`
30
+
3
31
  ## 0.8.0
4
32
 
5
33
  ### Minor Changes
package/README.md CHANGED
@@ -133,8 +133,8 @@ Para documentação completa, exemplos e API reference:
133
133
 
134
134
  ## 🔗 Pacotes Relacionados
135
135
 
136
- - [`@react-lgpd-consent/mui`](../mui) - Componentes prontos usando Material-UI
137
- - [`react-lgpd-consent`](../react-lgpd-consent) - Pacote agregador (core + mui)
136
+ - [`@react-lgpd-consent/mui`](../mui/README.md) - Componentes prontos usando Material-UI
137
+ - [`react-lgpd-consent`](../react-lgpd-consent/README.md) - Pacote agregador (core + mui)
138
138
 
139
139
  ## 📄 Licença
140
140
 
package/dist/index.cjs CHANGED
@@ -118,7 +118,7 @@ var EXPANDED_DEFAULT_TEXTS = {
118
118
  // Variações de tom
119
119
  variants: {
120
120
  formal: {
121
- bannerMessage: "Este s\xEDtio eletr\xF4nico utiliza cookies para otimizar a experi\xEAncia de navega\xE7\xE3o.",
121
+ bannerMessage: "Este s\xEDtio eletr\xF4nico utiliza cookies necess\xE1rios e, mediante sua autoriza\xE7\xE3o, cookies opcionais para otimizar a experi\xEAncia de navega\xE7\xE3o.",
122
122
  acceptAll: "Concordar com todos os cookies",
123
123
  declineAll: "Recusar cookies opcionais",
124
124
  modalTitle: "Configura\xE7\xE3o de Cookies"
@@ -136,7 +136,7 @@ var EXPANDED_DEFAULT_TEXTS = {
136
136
  modalTitle: "Cookies"
137
137
  },
138
138
  detailed: {
139
- bannerMessage: "Utilizamos cookies e tecnologias similares para melhorar sua experi\xEAncia de navega\xE7\xE3o, personalizar conte\xFAdo, analisar tr\xE1fego e oferecer funcionalidades de redes sociais.",
139
+ bannerMessage: "Utilizamos cookies e tecnologias similares para melhorar sua experi\xEAncia de navega\xE7\xE3o, personalizar conte\xFAdo, analisar tr\xE1fego e oferecer funcionalidades de redes sociais. Os cookies necess\xE1rios permanecem ativos e os opcionais dependem da sua autoriza\xE7\xE3o.",
140
140
  acceptAll: "Aceitar todos os cookies e tecnologias",
141
141
  declineAll: "Recusar todos os cookies opcionais",
142
142
  modalTitle: "Centro de Prefer\xEAncias de Privacidade"
@@ -700,7 +700,7 @@ function removeConsentCookie(opts) {
700
700
  }
701
701
 
702
702
  // src/utils/dataLayerEvents.ts
703
- var LIBRARY_VERSION = "0.8.0";
703
+ var LIBRARY_VERSION = "0.9.0";
704
704
  function ensureDataLayer() {
705
705
  const currentWindow = globalThis.window;
706
706
  if (!currentWindow) return;
@@ -2013,10 +2013,7 @@ function useCategoryStatus(categoryId) {
2013
2013
  };
2014
2014
  }
2015
2015
  var DesignContext = React4__namespace.createContext(void 0);
2016
- function DesignProvider({
2017
- tokens,
2018
- children
2019
- }) {
2016
+ function DesignProvider({ tokens, children }) {
2020
2017
  return /* @__PURE__ */ jsxRuntime.jsx(DesignContext.Provider, { value: tokens, children });
2021
2018
  }
2022
2019
  function useDesignTokens() {
@@ -2038,19 +2035,19 @@ function createFullConsentState(consented, preferences, source, projectConfig, i
2038
2035
  }
2039
2036
  var BASE_TEXTS = {
2040
2037
  // Textos básicos
2041
- bannerMessage: "Usamos cookies necess\xE1rios para o funcionamento do site. Os demais cookies s\xE3o opcionais e voc\xEA pode aceitar, rejeitar ou ajustar suas prefer\xEAncias.",
2038
+ bannerMessage: "Usamos cookies necess\xE1rios para o funcionamento do site e, com sua autoriza\xE7\xE3o, cookies opcionais para melhorar sua experi\xEAncia. Voc\xEA pode aceitar todos, rejeitar os opcionais ou ajustar suas prefer\xEAncias.",
2042
2039
  acceptAll: "Aceitar todos",
2043
2040
  declineAll: "Rejeitar opcionais",
2044
2041
  preferences: "Prefer\xEAncias",
2045
2042
  policyLink: "Pol\xEDtica de privacidade",
2046
2043
  modalTitle: "Prefer\xEAncias de cookies",
2047
- modalIntro: "Cookies necess\xE1rios s\xE3o sempre ativos. As demais categorias s\xE3o opcionais e voc\xEA pode ativ\xE1-las ou desativ\xE1-las a qualquer momento.",
2044
+ modalIntro: "Cookies necess\xE1rios s\xE3o sempre ativos. As categorias opcionais s\xF3 ser\xE3o usadas com sua autoriza\xE7\xE3o e podem ser ativadas ou desativadas a qualquer momento.",
2048
2045
  save: "Salvar prefer\xEAncias",
2049
2046
  necessaryAlwaysOn: "Cookies necess\xE1rios (sempre ativos)",
2050
2047
  // Textos adicionais para UI customizada
2051
2048
  preferencesButton: "Gerenciar cookies",
2052
2049
  preferencesTitle: "Gerenciar prefer\xEAncias de cookies",
2053
- preferencesDescription: "Escolha quais categorias opcionais voc\xEA permite. Cookies necess\xE1rios permanecem sempre ativos.",
2050
+ preferencesDescription: "Escolha quais categorias opcionais voc\xEA permite. Cookies necess\xE1rios permanecem sempre ativos e voc\xEA pode mudar sua escolha quando quiser.",
2054
2051
  close: "Fechar",
2055
2052
  accept: "Aceitar",
2056
2053
  reject: "Rejeitar",
package/dist/index.d.cts CHANGED
@@ -2713,8 +2713,9 @@ declare function useCategoryStatus(categoryId: string): {
2713
2713
  * precisam acessar tokens de design. Permite overrides globais de design sem alterar
2714
2714
  * os componentes individuais, mantendo tree-shaking e performance.
2715
2715
  *
2716
- * @param tokens - Tokens de design opcionais para customização (cores, layouts, etc.)
2717
- * @param children - Componentes filhos que terão acesso aos tokens via contexto
2716
+ * @param props - Propriedades do DesignProvider.
2717
+ * @param props.tokens - Tokens de design opcionais para customização (cores, layouts, etc.)
2718
+ * @param props.children - Componentes filhos que terão acesso aos tokens via contexto
2718
2719
  *
2719
2720
  * @example Uso básico com tokens padrão
2720
2721
  * ```tsx
@@ -2752,10 +2753,11 @@ declare function useCategoryStatus(categoryId: string): {
2752
2753
  * @category Context
2753
2754
  * @since 0.1.0
2754
2755
  */
2755
- declare function DesignProvider({ tokens, children, }: Readonly<{
2756
+ interface DesignProviderProps {
2756
2757
  tokens?: DesignTokens;
2757
2758
  children: React$1.ReactNode;
2758
- }>): react_jsx_runtime.JSX.Element;
2759
+ }
2760
+ declare function DesignProvider({ tokens, children }: Readonly<DesignProviderProps>): react_jsx_runtime.JSX.Element;
2759
2761
  /**
2760
2762
  * Hook para acessar os tokens de design do contexto atual.
2761
2763
  *
package/dist/index.d.ts CHANGED
@@ -2713,8 +2713,9 @@ declare function useCategoryStatus(categoryId: string): {
2713
2713
  * precisam acessar tokens de design. Permite overrides globais de design sem alterar
2714
2714
  * os componentes individuais, mantendo tree-shaking e performance.
2715
2715
  *
2716
- * @param tokens - Tokens de design opcionais para customização (cores, layouts, etc.)
2717
- * @param children - Componentes filhos que terão acesso aos tokens via contexto
2716
+ * @param props - Propriedades do DesignProvider.
2717
+ * @param props.tokens - Tokens de design opcionais para customização (cores, layouts, etc.)
2718
+ * @param props.children - Componentes filhos que terão acesso aos tokens via contexto
2718
2719
  *
2719
2720
  * @example Uso básico com tokens padrão
2720
2721
  * ```tsx
@@ -2752,10 +2753,11 @@ declare function useCategoryStatus(categoryId: string): {
2752
2753
  * @category Context
2753
2754
  * @since 0.1.0
2754
2755
  */
2755
- declare function DesignProvider({ tokens, children, }: Readonly<{
2756
+ interface DesignProviderProps {
2756
2757
  tokens?: DesignTokens;
2757
2758
  children: React$1.ReactNode;
2758
- }>): react_jsx_runtime.JSX.Element;
2759
+ }
2760
+ declare function DesignProvider({ tokens, children }: Readonly<DesignProviderProps>): react_jsx_runtime.JSX.Element;
2759
2761
  /**
2760
2762
  * Hook para acessar os tokens de design do contexto atual.
2761
2763
  *
package/dist/index.js CHANGED
@@ -94,7 +94,7 @@ var EXPANDED_DEFAULT_TEXTS = {
94
94
  // Variações de tom
95
95
  variants: {
96
96
  formal: {
97
- bannerMessage: "Este s\xEDtio eletr\xF4nico utiliza cookies para otimizar a experi\xEAncia de navega\xE7\xE3o.",
97
+ bannerMessage: "Este s\xEDtio eletr\xF4nico utiliza cookies necess\xE1rios e, mediante sua autoriza\xE7\xE3o, cookies opcionais para otimizar a experi\xEAncia de navega\xE7\xE3o.",
98
98
  acceptAll: "Concordar com todos os cookies",
99
99
  declineAll: "Recusar cookies opcionais",
100
100
  modalTitle: "Configura\xE7\xE3o de Cookies"
@@ -112,7 +112,7 @@ var EXPANDED_DEFAULT_TEXTS = {
112
112
  modalTitle: "Cookies"
113
113
  },
114
114
  detailed: {
115
- bannerMessage: "Utilizamos cookies e tecnologias similares para melhorar sua experi\xEAncia de navega\xE7\xE3o, personalizar conte\xFAdo, analisar tr\xE1fego e oferecer funcionalidades de redes sociais.",
115
+ bannerMessage: "Utilizamos cookies e tecnologias similares para melhorar sua experi\xEAncia de navega\xE7\xE3o, personalizar conte\xFAdo, analisar tr\xE1fego e oferecer funcionalidades de redes sociais. Os cookies necess\xE1rios permanecem ativos e os opcionais dependem da sua autoriza\xE7\xE3o.",
116
116
  acceptAll: "Aceitar todos os cookies e tecnologias",
117
117
  declineAll: "Recusar todos os cookies opcionais",
118
118
  modalTitle: "Centro de Prefer\xEAncias de Privacidade"
@@ -676,7 +676,7 @@ function removeConsentCookie(opts) {
676
676
  }
677
677
 
678
678
  // src/utils/dataLayerEvents.ts
679
- var LIBRARY_VERSION = "0.8.0";
679
+ var LIBRARY_VERSION = "0.9.0";
680
680
  function ensureDataLayer() {
681
681
  const currentWindow = globalThis.window;
682
682
  if (!currentWindow) return;
@@ -1989,10 +1989,7 @@ function useCategoryStatus(categoryId) {
1989
1989
  };
1990
1990
  }
1991
1991
  var DesignContext = React4.createContext(void 0);
1992
- function DesignProvider({
1993
- tokens,
1994
- children
1995
- }) {
1992
+ function DesignProvider({ tokens, children }) {
1996
1993
  return /* @__PURE__ */ jsx(DesignContext.Provider, { value: tokens, children });
1997
1994
  }
1998
1995
  function useDesignTokens() {
@@ -2014,19 +2011,19 @@ function createFullConsentState(consented, preferences, source, projectConfig, i
2014
2011
  }
2015
2012
  var BASE_TEXTS = {
2016
2013
  // Textos básicos
2017
- bannerMessage: "Usamos cookies necess\xE1rios para o funcionamento do site. Os demais cookies s\xE3o opcionais e voc\xEA pode aceitar, rejeitar ou ajustar suas prefer\xEAncias.",
2014
+ bannerMessage: "Usamos cookies necess\xE1rios para o funcionamento do site e, com sua autoriza\xE7\xE3o, cookies opcionais para melhorar sua experi\xEAncia. Voc\xEA pode aceitar todos, rejeitar os opcionais ou ajustar suas prefer\xEAncias.",
2018
2015
  acceptAll: "Aceitar todos",
2019
2016
  declineAll: "Rejeitar opcionais",
2020
2017
  preferences: "Prefer\xEAncias",
2021
2018
  policyLink: "Pol\xEDtica de privacidade",
2022
2019
  modalTitle: "Prefer\xEAncias de cookies",
2023
- modalIntro: "Cookies necess\xE1rios s\xE3o sempre ativos. As demais categorias s\xE3o opcionais e voc\xEA pode ativ\xE1-las ou desativ\xE1-las a qualquer momento.",
2020
+ modalIntro: "Cookies necess\xE1rios s\xE3o sempre ativos. As categorias opcionais s\xF3 ser\xE3o usadas com sua autoriza\xE7\xE3o e podem ser ativadas ou desativadas a qualquer momento.",
2024
2021
  save: "Salvar prefer\xEAncias",
2025
2022
  necessaryAlwaysOn: "Cookies necess\xE1rios (sempre ativos)",
2026
2023
  // Textos adicionais para UI customizada
2027
2024
  preferencesButton: "Gerenciar cookies",
2028
2025
  preferencesTitle: "Gerenciar prefer\xEAncias de cookies",
2029
- preferencesDescription: "Escolha quais categorias opcionais voc\xEA permite. Cookies necess\xE1rios permanecem sempre ativos.",
2026
+ preferencesDescription: "Escolha quais categorias opcionais voc\xEA permite. Cookies necess\xE1rios permanecem sempre ativos e voc\xEA pode mudar sua escolha quando quiser.",
2030
2027
  close: "Fechar",
2031
2028
  accept: "Aceitar",
2032
2029
  reject: "Rejeitar",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-lgpd-consent/core",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Núcleo da biblioteca de consentimento LGPD para React - Estado, hooks e utilitários sem dependências de UI",
5
5
  "keywords": [
6
6
  "lgpd",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "js-cookie": "^3.0.5",
56
- "zod": "^4.2.1"
56
+ "zod": "^4.3.4"
57
57
  },
58
58
  "repository": {
59
59
  "type": "git",