react-lgpd-consent 0.1.11 → 0.1.12

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PreferencesModal
3
- } from "./chunk-LRMSFSP2.js";
3
+ } from "./chunk-V54LZT2Q.js";
4
4
  export {
5
5
  PreferencesModal
6
6
  };
@@ -55,12 +55,10 @@ var defaultConsentTheme = createTheme({
55
55
  palette: {
56
56
  primary: {
57
57
  main: "#1976d2",
58
- // Azul institucional
59
58
  contrastText: "#ffffff"
60
59
  },
61
60
  secondary: {
62
61
  main: "#dc004e",
63
- // Rosa/vermelho para ações importantes
64
62
  contrastText: "#ffffff"
65
63
  },
66
64
  background: {
@@ -84,7 +82,6 @@ var defaultConsentTheme = createTheme({
84
82
  button: {
85
83
  fontWeight: 500,
86
84
  textTransform: "none"
87
- // Manter capitalização original
88
85
  }
89
86
  },
90
87
  components: {
@@ -123,7 +120,7 @@ var defaultConsentTheme = createTheme({
123
120
  // src/context/ConsentContext.tsx
124
121
  import { jsx, jsxs } from "react/jsx-runtime";
125
122
  var PreferencesModal = React.lazy(
126
- () => import("./PreferencesModal-IHXZDNYT.js").then((m) => ({
123
+ () => import("./PreferencesModal-IFKCHTF2.js").then((m) => ({
127
124
  default: m.PreferencesModal
128
125
  }))
129
126
  );
@@ -371,7 +368,7 @@ function Branding({ variant, hidden = false }) {
371
368
  /* @__PURE__ */ jsx2(
372
369
  Link,
373
370
  {
374
- href: "https://ledipo.eti.br",
371
+ href: "https://www.ledipo.eti.br",
375
372
  target: "_blank",
376
373
  rel: "noopener noreferrer",
377
374
  sx: (theme) => ({
package/dist/index.cjs CHANGED
@@ -81,12 +81,10 @@ var init_theme = __esm({
81
81
  palette: {
82
82
  primary: {
83
83
  main: "#1976d2",
84
- // Azul institucional
85
84
  contrastText: "#ffffff"
86
85
  },
87
86
  secondary: {
88
87
  main: "#dc004e",
89
- // Rosa/vermelho para ações importantes
90
88
  contrastText: "#ffffff"
91
89
  },
92
90
  background: {
@@ -110,7 +108,6 @@ var init_theme = __esm({
110
108
  button: {
111
109
  fontWeight: 500,
112
110
  textTransform: "none"
113
- // Manter capitalização original
114
111
  }
115
112
  },
116
113
  components: {
@@ -165,7 +162,7 @@ function Branding({ variant, hidden = false }) {
165
162
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
166
163
  import_Link.default,
167
164
  {
168
- href: "https://ledipo.eti.br",
165
+ href: "https://www.ledipo.eti.br",
169
166
  target: "_blank",
170
167
  rel: "noopener noreferrer",
171
168
  sx: (theme) => ({
@@ -671,16 +668,16 @@ function CookieBanner({
671
668
  init_PreferencesModal();
672
669
 
673
670
  // src/components/FloatingPreferencesButton.tsx
671
+ var import_CookieOutlined = __toESM(require("@mui/icons-material/CookieOutlined"), 1);
674
672
  var import_Fab = __toESM(require("@mui/material/Fab"), 1);
675
673
  var import_Tooltip = __toESM(require("@mui/material/Tooltip"), 1);
676
- var import_Settings = __toESM(require("@mui/icons-material/Settings"), 1);
677
674
  var import_styles3 = require("@mui/material/styles");
678
675
  init_useConsent();
679
676
  var import_jsx_runtime5 = require("react/jsx-runtime");
680
677
  function FloatingPreferencesButton({
681
678
  position = "bottom-right",
682
679
  offset = 24,
683
- icon = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_Settings.default, {}),
680
+ icon = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_CookieOutlined.default, {}),
684
681
  tooltip,
685
682
  FabProps,
686
683
  hideWhenConsented = false
@@ -695,7 +692,6 @@ function FloatingPreferencesButton({
695
692
  const styles = {
696
693
  position: "fixed",
697
694
  zIndex: 1200
698
- // Abaixo do modal mas acima do conteúdo
699
695
  };
700
696
  switch (position) {
701
697
  case "bottom-left":
package/dist/index.d.cts CHANGED
@@ -6,6 +6,16 @@ import { FabProps } from '@mui/material/Fab';
6
6
  import * as React$1 from 'react';
7
7
  import * as _mui_material_styles from '@mui/material/styles';
8
8
 
9
+ /**
10
+ * Props para o componente CookieBanner.
11
+ *
12
+ * @property policyLinkUrl URL da política de privacidade (opcional).
13
+ * @property debug Força exibição do banner para QA/debug (opcional).
14
+ * @property blocking Se true, bloqueia interação até decisão do usuário (default: true).
15
+ * @property hideBranding Se true, oculta o branding "fornecido por LÉdipO.eti.br" (opcional).
16
+ * @property SnackbarProps Props adicionais para o componente MUI Snackbar (opcional).
17
+ * @property PaperProps Props adicionais para o componente MUI Paper (opcional).
18
+ */
9
19
  interface CookieBannerProps {
10
20
  policyLinkUrl?: string;
11
21
  debug?: boolean;
@@ -14,29 +24,79 @@ interface CookieBannerProps {
14
24
  SnackbarProps?: Partial<SnackbarProps>;
15
25
  PaperProps?: Partial<PaperProps>;
16
26
  }
27
+ /**
28
+ * Banner de consentimento de cookies conforme LGPD.
29
+ *
30
+ * Exibe mensagem informativa, botões de ação e link para política de privacidade.
31
+ * Compatível com modo bloqueante (overlay) e não bloqueante (Snackbar).
32
+ *
33
+ * - Textos em pt-BR, customizáveis via contexto.
34
+ * - Acessível e responsivo.
35
+ * - Branding opcional.
36
+ *
37
+ * @param props Propriedades do banner de consentimento.
38
+ */
17
39
  declare function CookieBanner({ policyLinkUrl, debug, blocking, // Por padrão, bloqueia até decisão
18
40
  hideBranding, SnackbarProps, PaperProps, }: Readonly<CookieBannerProps>): react_jsx_runtime.JSX.Element | null;
19
41
 
42
+ /**
43
+ * Props para o componente PreferencesModal.
44
+ *
45
+ * @property DialogProps Props opcionais para customizar o Dialog do Material-UI.
46
+ * @property hideBranding Se true, oculta o branding "fornecido por LÉdipO.eti.br".
47
+ */
20
48
  interface PreferencesModalProps {
21
49
  DialogProps?: Partial<DialogProps>;
22
50
  hideBranding?: boolean;
23
51
  }
52
+ /**
53
+ * Modal de preferências de cookies.
54
+ *
55
+ * Permite ao usuário ajustar suas preferências de consentimento para cookies analíticos e de marketing.
56
+ * Utiliza Material-UI Dialog, switches para cada categoria e textos customizáveis via contexto.
57
+ * Acessível, responsivo e compatível com SSR.
58
+ *
59
+ * @param props Props do modal, incluindo customização do Dialog e opção de ocultar branding.
60
+ */
24
61
  declare function PreferencesModal({ DialogProps, hideBranding, }: Readonly<PreferencesModalProps>): react_jsx_runtime.JSX.Element;
25
62
 
63
+ /**
64
+ * Props para o componente FloatingPreferencesButton.
65
+ *
66
+ * Permite configurar posição, ícone, tooltip, e comportamento de exibição do botão flutuante
67
+ * para abrir o modal de preferências de cookies LGPD.
68
+ *
69
+ * Todos os campos são opcionais e possuem valores padrão.
70
+ */
26
71
  interface FloatingPreferencesButtonProps {
27
72
  /** Posição do botão flutuante. Padrão: 'bottom-right' */
28
73
  position?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';
29
74
  /** Offset da borda em pixels. Padrão: 24 */
30
75
  offset?: number;
31
- /** Ícone customizado. Padrão: SettingsIcon */
76
+ /** Ícone customizado. Padrão: CookieOutlined */
32
77
  icon?: React.ReactNode;
33
- /** Tooltip customizado */
78
+ /** Tooltip customizado exibido ao passar o mouse */
34
79
  tooltip?: string;
35
- /** Props do Fab do MUI */
80
+ /** Props adicionais para o Fab do MUI */
36
81
  FabProps?: Partial<FabProps>;
37
82
  /** Se deve esconder quando consentimento já foi dado. Padrão: false */
38
83
  hideWhenConsented?: boolean;
39
84
  }
85
+ /**
86
+ * Botão flutuante para abrir o modal de preferências de cookies.
87
+ *
88
+ * Permite ao usuário acessar rapidamente as configurações de consentimento LGPD.
89
+ * Pode ser posicionado em qualquer canto da tela e customizado via props.
90
+ *
91
+ * @param position Posição do botão na tela. Padrão: 'bottom-right'.
92
+ * @param offset Distância da borda em pixels. Padrão: 24.
93
+ * @param icon Ícone customizado para o botão. Padrão: CookieOutlined.
94
+ * @param tooltip Texto do tooltip exibido ao passar o mouse. Padrão: 'Gerenciar Preferências de Cookies'.
95
+ * @param FabProps Props adicionais para o componente Fab do MUI.
96
+ * @param hideWhenConsented Se verdadeiro, esconde o botão após consentimento. Padrão: false.
97
+ *
98
+ * @returns JSX.Element | null
99
+ */
40
100
  declare function FloatingPreferencesButton({ position, offset, icon, tooltip, FabProps, hideWhenConsented, }: Readonly<FloatingPreferencesButtonProps>): react_jsx_runtime.JSX.Element | null;
41
101
 
42
102
  /**
@@ -62,6 +122,25 @@ interface ConsentState {
62
122
  }
63
123
  /**
64
124
  * Textos utilizados na interface de consentimento.
125
+ *
126
+ * @remarks
127
+ * Esta interface define todos os textos exibidos na UI do banner e modal de consentimento.
128
+ * Os campos opcionais permitem adequação à ANPD e customização conforme necessidade do projeto.
129
+ *
130
+ * @property bannerMessage - Mensagem principal exibida no banner de consentimento.
131
+ * @property acceptAll - Texto do botão para aceitar todos os cookies.
132
+ * @property declineAll - Texto do botão para recusar todos os cookies.
133
+ * @property preferences - Texto do botão para abrir preferências.
134
+ * @property policyLink - (Opcional) Link para política de privacidade.
135
+ * @property modalTitle - Título do modal de preferências.
136
+ * @property modalIntro - Texto introdutório do modal.
137
+ * @property save - Texto do botão para salvar preferências.
138
+ * @property necessaryAlwaysOn - Texto explicativo para cookies necessários.
139
+ * @property controllerInfo - (Opcional) Informação sobre o controlador dos dados.
140
+ * @property dataTypes - (Opcional) Tipos de dados coletados.
141
+ * @property thirdPartySharing - (Opcional) Compartilhamento com terceiros.
142
+ * @property userRights - (Opcional) Direitos do titular dos dados.
143
+ * @property contactInfo - (Opcional) Informações de contato do DPO.
65
144
  */
66
145
  interface ConsentTexts {
67
146
  bannerMessage: string;
@@ -142,8 +221,44 @@ interface ConsentContextValue {
142
221
  resetConsent: () => void;
143
222
  }
144
223
 
224
+ /**
225
+ * Provider principal do contexto de consentimento LGPD.
226
+ *
227
+ * Gerencia o estado global de consentimento de cookies, preferências do usuário,
228
+ * textos customizáveis e integração com SSR. Permite customização do modal de preferências,
229
+ * callbacks externos e opções de cookie.
230
+ *
231
+ * @param props Propriedades do ConsentProvider (ver ConsentProviderProps)
232
+ * @returns JSX.Element
233
+ *
234
+ * @example
235
+ * <ConsentProvider>
236
+ * <App />
237
+ * </ConsentProvider>
238
+ */
145
239
  declare function ConsentProvider({ initialState, texts: textsProp, theme, PreferencesModalComponent, preferencesModalProps, disableAutomaticModal, hideBranding, onConsentGiven, onPreferencesSaved, cookie: cookieOpts, children, }: Readonly<ConsentProviderProps>): react_jsx_runtime.JSX.Element;
146
240
 
241
+ /**
242
+ * Hook principal para acessar e manipular o estado de consentimento de cookies.
243
+ *
244
+ * Retorna o estado atual do consentimento, preferências do usuário e métodos para
245
+ * aceitar, recusar, modificar ou resetar consentimentos. Ideal para integração
246
+ * com componentes customizados ou lógica de negócio.
247
+ *
248
+ * @returns {ConsentContextValue} Estado e ações do consentimento.
249
+ *
250
+ * @example
251
+ * const {
252
+ * consented,
253
+ * preferences,
254
+ * acceptAll,
255
+ * rejectAll,
256
+ * setPreference,
257
+ * openPreferences,
258
+ * closePreferences,
259
+ * resetConsent,
260
+ * } = useConsent();
261
+ */
147
262
  declare function useConsent(): ConsentContextValue;
148
263
  /**
149
264
  * Hook para acessar textos customizados do ConsentProvider.
@@ -162,14 +277,27 @@ declare function ConsentGate(props: Readonly<{
162
277
  }>): react_jsx_runtime.JSX.Element | null;
163
278
 
164
279
  /**
165
- * Carrega um script dinamicamente após consentimento finalizado.
166
- * Aguarda que o usuário tome uma decisão definitiva (banner fechado ou preferências salvas).
280
+ * Carrega dinamicamente um script externo após o consentimento do usuário ser finalizado.
281
+ *
282
+ * Aguarda até que o usuário tome uma decisão definitiva (banner fechado ou preferências salvas)
283
+ * antes de inserir o script na página. Permite restringir o carregamento por categoria de consentimento.
284
+ *
285
+ * @param id - Identificador único do elemento script a ser criado.
286
+ * @param src - URL do script externo.
287
+ * @param category - Categoria de consentimento exigida para o script ('analytics', 'marketing' ou null).
288
+ * @param attrs - Atributos adicionais a serem aplicados ao elemento script.
289
+ * @returns Promise que resolve quando o script é carregado ou rejeita se o consentimento não for dado.
167
290
  */
168
291
  declare function loadScript(id: string, src: string, category?: 'analytics' | 'marketing' | null, attrs?: Record<string, string>): Promise<void>;
169
292
 
170
293
  /**
171
- * Tema padrão para os componentes de consentimento.
172
- * Baseado no design system da ANPD/governo brasileiro.
294
+ * Tema padrão utilizado pelos componentes de consentimento da biblioteca.
295
+ *
296
+ * Inclui configurações de cores, tipografia e estilos para componentes Material-UI,
297
+ * garantindo aparência consistente e acessível conforme guidelines LGPD.
298
+ *
299
+ * @remarks
300
+ * Pode ser sobrescrito via ThemeProvider externo se necessário.
173
301
  */
174
302
  declare const defaultConsentTheme: _mui_material_styles.Theme;
175
303
 
package/dist/index.d.ts CHANGED
@@ -6,6 +6,16 @@ import { FabProps } from '@mui/material/Fab';
6
6
  import * as React$1 from 'react';
7
7
  import * as _mui_material_styles from '@mui/material/styles';
8
8
 
9
+ /**
10
+ * Props para o componente CookieBanner.
11
+ *
12
+ * @property policyLinkUrl URL da política de privacidade (opcional).
13
+ * @property debug Força exibição do banner para QA/debug (opcional).
14
+ * @property blocking Se true, bloqueia interação até decisão do usuário (default: true).
15
+ * @property hideBranding Se true, oculta o branding "fornecido por LÉdipO.eti.br" (opcional).
16
+ * @property SnackbarProps Props adicionais para o componente MUI Snackbar (opcional).
17
+ * @property PaperProps Props adicionais para o componente MUI Paper (opcional).
18
+ */
9
19
  interface CookieBannerProps {
10
20
  policyLinkUrl?: string;
11
21
  debug?: boolean;
@@ -14,29 +24,79 @@ interface CookieBannerProps {
14
24
  SnackbarProps?: Partial<SnackbarProps>;
15
25
  PaperProps?: Partial<PaperProps>;
16
26
  }
27
+ /**
28
+ * Banner de consentimento de cookies conforme LGPD.
29
+ *
30
+ * Exibe mensagem informativa, botões de ação e link para política de privacidade.
31
+ * Compatível com modo bloqueante (overlay) e não bloqueante (Snackbar).
32
+ *
33
+ * - Textos em pt-BR, customizáveis via contexto.
34
+ * - Acessível e responsivo.
35
+ * - Branding opcional.
36
+ *
37
+ * @param props Propriedades do banner de consentimento.
38
+ */
17
39
  declare function CookieBanner({ policyLinkUrl, debug, blocking, // Por padrão, bloqueia até decisão
18
40
  hideBranding, SnackbarProps, PaperProps, }: Readonly<CookieBannerProps>): react_jsx_runtime.JSX.Element | null;
19
41
 
42
+ /**
43
+ * Props para o componente PreferencesModal.
44
+ *
45
+ * @property DialogProps Props opcionais para customizar o Dialog do Material-UI.
46
+ * @property hideBranding Se true, oculta o branding "fornecido por LÉdipO.eti.br".
47
+ */
20
48
  interface PreferencesModalProps {
21
49
  DialogProps?: Partial<DialogProps>;
22
50
  hideBranding?: boolean;
23
51
  }
52
+ /**
53
+ * Modal de preferências de cookies.
54
+ *
55
+ * Permite ao usuário ajustar suas preferências de consentimento para cookies analíticos e de marketing.
56
+ * Utiliza Material-UI Dialog, switches para cada categoria e textos customizáveis via contexto.
57
+ * Acessível, responsivo e compatível com SSR.
58
+ *
59
+ * @param props Props do modal, incluindo customização do Dialog e opção de ocultar branding.
60
+ */
24
61
  declare function PreferencesModal({ DialogProps, hideBranding, }: Readonly<PreferencesModalProps>): react_jsx_runtime.JSX.Element;
25
62
 
63
+ /**
64
+ * Props para o componente FloatingPreferencesButton.
65
+ *
66
+ * Permite configurar posição, ícone, tooltip, e comportamento de exibição do botão flutuante
67
+ * para abrir o modal de preferências de cookies LGPD.
68
+ *
69
+ * Todos os campos são opcionais e possuem valores padrão.
70
+ */
26
71
  interface FloatingPreferencesButtonProps {
27
72
  /** Posição do botão flutuante. Padrão: 'bottom-right' */
28
73
  position?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';
29
74
  /** Offset da borda em pixels. Padrão: 24 */
30
75
  offset?: number;
31
- /** Ícone customizado. Padrão: SettingsIcon */
76
+ /** Ícone customizado. Padrão: CookieOutlined */
32
77
  icon?: React.ReactNode;
33
- /** Tooltip customizado */
78
+ /** Tooltip customizado exibido ao passar o mouse */
34
79
  tooltip?: string;
35
- /** Props do Fab do MUI */
80
+ /** Props adicionais para o Fab do MUI */
36
81
  FabProps?: Partial<FabProps>;
37
82
  /** Se deve esconder quando consentimento já foi dado. Padrão: false */
38
83
  hideWhenConsented?: boolean;
39
84
  }
85
+ /**
86
+ * Botão flutuante para abrir o modal de preferências de cookies.
87
+ *
88
+ * Permite ao usuário acessar rapidamente as configurações de consentimento LGPD.
89
+ * Pode ser posicionado em qualquer canto da tela e customizado via props.
90
+ *
91
+ * @param position Posição do botão na tela. Padrão: 'bottom-right'.
92
+ * @param offset Distância da borda em pixels. Padrão: 24.
93
+ * @param icon Ícone customizado para o botão. Padrão: CookieOutlined.
94
+ * @param tooltip Texto do tooltip exibido ao passar o mouse. Padrão: 'Gerenciar Preferências de Cookies'.
95
+ * @param FabProps Props adicionais para o componente Fab do MUI.
96
+ * @param hideWhenConsented Se verdadeiro, esconde o botão após consentimento. Padrão: false.
97
+ *
98
+ * @returns JSX.Element | null
99
+ */
40
100
  declare function FloatingPreferencesButton({ position, offset, icon, tooltip, FabProps, hideWhenConsented, }: Readonly<FloatingPreferencesButtonProps>): react_jsx_runtime.JSX.Element | null;
41
101
 
42
102
  /**
@@ -62,6 +122,25 @@ interface ConsentState {
62
122
  }
63
123
  /**
64
124
  * Textos utilizados na interface de consentimento.
125
+ *
126
+ * @remarks
127
+ * Esta interface define todos os textos exibidos na UI do banner e modal de consentimento.
128
+ * Os campos opcionais permitem adequação à ANPD e customização conforme necessidade do projeto.
129
+ *
130
+ * @property bannerMessage - Mensagem principal exibida no banner de consentimento.
131
+ * @property acceptAll - Texto do botão para aceitar todos os cookies.
132
+ * @property declineAll - Texto do botão para recusar todos os cookies.
133
+ * @property preferences - Texto do botão para abrir preferências.
134
+ * @property policyLink - (Opcional) Link para política de privacidade.
135
+ * @property modalTitle - Título do modal de preferências.
136
+ * @property modalIntro - Texto introdutório do modal.
137
+ * @property save - Texto do botão para salvar preferências.
138
+ * @property necessaryAlwaysOn - Texto explicativo para cookies necessários.
139
+ * @property controllerInfo - (Opcional) Informação sobre o controlador dos dados.
140
+ * @property dataTypes - (Opcional) Tipos de dados coletados.
141
+ * @property thirdPartySharing - (Opcional) Compartilhamento com terceiros.
142
+ * @property userRights - (Opcional) Direitos do titular dos dados.
143
+ * @property contactInfo - (Opcional) Informações de contato do DPO.
65
144
  */
66
145
  interface ConsentTexts {
67
146
  bannerMessage: string;
@@ -142,8 +221,44 @@ interface ConsentContextValue {
142
221
  resetConsent: () => void;
143
222
  }
144
223
 
224
+ /**
225
+ * Provider principal do contexto de consentimento LGPD.
226
+ *
227
+ * Gerencia o estado global de consentimento de cookies, preferências do usuário,
228
+ * textos customizáveis e integração com SSR. Permite customização do modal de preferências,
229
+ * callbacks externos e opções de cookie.
230
+ *
231
+ * @param props Propriedades do ConsentProvider (ver ConsentProviderProps)
232
+ * @returns JSX.Element
233
+ *
234
+ * @example
235
+ * <ConsentProvider>
236
+ * <App />
237
+ * </ConsentProvider>
238
+ */
145
239
  declare function ConsentProvider({ initialState, texts: textsProp, theme, PreferencesModalComponent, preferencesModalProps, disableAutomaticModal, hideBranding, onConsentGiven, onPreferencesSaved, cookie: cookieOpts, children, }: Readonly<ConsentProviderProps>): react_jsx_runtime.JSX.Element;
146
240
 
241
+ /**
242
+ * Hook principal para acessar e manipular o estado de consentimento de cookies.
243
+ *
244
+ * Retorna o estado atual do consentimento, preferências do usuário e métodos para
245
+ * aceitar, recusar, modificar ou resetar consentimentos. Ideal para integração
246
+ * com componentes customizados ou lógica de negócio.
247
+ *
248
+ * @returns {ConsentContextValue} Estado e ações do consentimento.
249
+ *
250
+ * @example
251
+ * const {
252
+ * consented,
253
+ * preferences,
254
+ * acceptAll,
255
+ * rejectAll,
256
+ * setPreference,
257
+ * openPreferences,
258
+ * closePreferences,
259
+ * resetConsent,
260
+ * } = useConsent();
261
+ */
147
262
  declare function useConsent(): ConsentContextValue;
148
263
  /**
149
264
  * Hook para acessar textos customizados do ConsentProvider.
@@ -162,14 +277,27 @@ declare function ConsentGate(props: Readonly<{
162
277
  }>): react_jsx_runtime.JSX.Element | null;
163
278
 
164
279
  /**
165
- * Carrega um script dinamicamente após consentimento finalizado.
166
- * Aguarda que o usuário tome uma decisão definitiva (banner fechado ou preferências salvas).
280
+ * Carrega dinamicamente um script externo após o consentimento do usuário ser finalizado.
281
+ *
282
+ * Aguarda até que o usuário tome uma decisão definitiva (banner fechado ou preferências salvas)
283
+ * antes de inserir o script na página. Permite restringir o carregamento por categoria de consentimento.
284
+ *
285
+ * @param id - Identificador único do elemento script a ser criado.
286
+ * @param src - URL do script externo.
287
+ * @param category - Categoria de consentimento exigida para o script ('analytics', 'marketing' ou null).
288
+ * @param attrs - Atributos adicionais a serem aplicados ao elemento script.
289
+ * @returns Promise que resolve quando o script é carregado ou rejeita se o consentimento não for dado.
167
290
  */
168
291
  declare function loadScript(id: string, src: string, category?: 'analytics' | 'marketing' | null, attrs?: Record<string, string>): Promise<void>;
169
292
 
170
293
  /**
171
- * Tema padrão para os componentes de consentimento.
172
- * Baseado no design system da ANPD/governo brasileiro.
294
+ * Tema padrão utilizado pelos componentes de consentimento da biblioteca.
295
+ *
296
+ * Inclui configurações de cores, tipografia e estilos para componentes Material-UI,
297
+ * garantindo aparência consistente e acessível conforme guidelines LGPD.
298
+ *
299
+ * @remarks
300
+ * Pode ser sobrescrito via ThemeProvider externo se necessário.
173
301
  */
174
302
  declare const defaultConsentTheme: _mui_material_styles.Theme;
175
303
 
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  useConsent,
7
7
  useConsentHydration,
8
8
  useConsentTexts
9
- } from "./chunk-LRMSFSP2.js";
9
+ } from "./chunk-V54LZT2Q.js";
10
10
 
11
11
  // src/components/CookieBanner.tsx
12
12
  import Button from "@mui/material/Button";
@@ -115,15 +115,15 @@ function CookieBanner({
115
115
  }
116
116
 
117
117
  // src/components/FloatingPreferencesButton.tsx
118
+ import CookieOutlined from "@mui/icons-material/CookieOutlined";
118
119
  import Fab from "@mui/material/Fab";
119
120
  import Tooltip from "@mui/material/Tooltip";
120
- import SettingsIcon from "@mui/icons-material/Settings";
121
121
  import { useTheme } from "@mui/material/styles";
122
122
  import { jsx as jsx2 } from "react/jsx-runtime";
123
123
  function FloatingPreferencesButton({
124
124
  position = "bottom-right",
125
125
  offset = 24,
126
- icon = /* @__PURE__ */ jsx2(SettingsIcon, {}),
126
+ icon = /* @__PURE__ */ jsx2(CookieOutlined, {}),
127
127
  tooltip,
128
128
  FabProps,
129
129
  hideWhenConsented = false
@@ -138,7 +138,6 @@ function FloatingPreferencesButton({
138
138
  const styles = {
139
139
  position: "fixed",
140
140
  zIndex: 1200
141
- // Abaixo do modal mas acima do conteúdo
142
141
  };
143
142
  switch (position) {
144
143
  case "bottom-left":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-lgpd-consent",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Biblioteca de consentimento de cookies (LGPD) para React e Next.js, com contexto, banner e modal personalizáveis usando MUI.",
5
5
  "keywords": [
6
6
  "lgpd",