react-lgpd-consent - v0.4.4
    Preparing search index...

    Interface AdvancedConsentTexts

    Sistema de textos avançado com suporte a internacionalização e contextos específicos.

    Interface expandida que permite personalização granular de todas as mensagens da biblioteca. Suporta múltiplos idiomas, contextos específicos (e-commerce, SaaS, governo), variações de tom, e compliance completo com LGPD/ANPD.

    Types

    0.4.1

    0.4.1 - Nova interface com suporte avançado a i18n e contextos

    const multiLangTexts: AdvancedConsentTexts = {
    // Herda de ConsentTexts básico
    bannerMessage: 'Utilizamos cookies para melhorar sua experiência.',
    acceptAll: 'Aceitar todos',
    declineAll: 'Recusar',
    preferences: 'Preferências',
    modalTitle: 'Preferências de Cookies',
    modalIntro: 'Personalize suas preferências de cookies.',
    save: 'Salvar',
    necessaryAlwaysOn: 'Cookies necessários (sempre ativos)',

    // Textos expandidos
    variants: {
    formal: {
    bannerMessage: 'Este sítio utiliza cookies para otimizar a experiência de navegação.',
    acceptAll: 'Concordar com todos os cookies'
    },
    casual: {
    bannerMessage: '🍪 Olá! Usamos cookies para tornar tudo mais gostoso aqui.',
    acceptAll: 'Aceitar tudo'
    }
    },

    // Internacionalização
    i18n: {
    en: {
    bannerMessage: 'We use cookies to enhance your experience.',
    acceptAll: 'Accept All',
    declineAll: 'Decline'
    },
    es: {
    bannerMessage: 'Utilizamos cookies para mejorar su experiencia.',
    acceptAll: 'Aceptar Todo',
    declineAll: 'Rechazar'
    }
    }
    }
    interface AdvancedConsentTexts {
        accept?: string;
        acceptAll: string;
        accessibility?: {
            bannerLabel?: string;
            keyboardNavigation?: string;
            liveRegion?: string;
            modalLabel?: string;
            toggleState?: { disabled?: string; enabled?: string };
        };
        bannerMessage: string;
        brandingPoweredBy?: string;
        cancel?: string;
        categories?: {
            analytics?: { description?: string; examples?: string; name?: string };
            functional?: { description?: string; examples?: string; name?: string };
            marketing?: { description?: string; examples?: string; name?: string };
            necessary?: { description?: string; examples?: string; name?: string };
            performance?: { description?: string; examples?: string; name?: string };
        };
        close?: string;
        confirm?: string;
        contactInfo?: string;
        contexts?: {
            ecommerce?: {
                cartAbandonment?: string;
                paymentSecurity?: string;
                personalizedOffers?: string;
                productRecommendations?: string;
            };
            education?: {
                accessibility?: string;
                learningAnalytics?: string;
                parentalConsent?: string;
                studentProgress?: string;
            };
            government?: {
                accessibility?: string;
                citizenServices?: string;
                dataProtection?: string;
                transparency?: string;
            };
            saas?: {
                customerSupport?: string;
                featureUsage?: string;
                performanceMonitoring?: string;
                userAnalytics?: string;
            };
        };
        controllerInfo?: string;
        cookieDetails?: {
            noCookies?: string;
            tableHeaders?: {
                duration?: string;
                name?: string;
                provider?: string;
                purpose?: string;
                type?: string;
            };
            toggleDetails?: { collapse?: string; expand?: string };
        };
        dataTypes?: string;
        declineAll: string;
        feedback?: {
            consentUpdated?: string;
            cookiesRejected?: string;
            saveError?: string;
            saveSuccess?: string;
            settingsReset?: string;
        };
        i18n?: {
            de?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
            en?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
            es?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
            fr?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
            it?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
        };
        lawfulBasis?: string;
        loading?: string;
        modalIntro: string;
        modalTitle: string;
        necessaryAlwaysOn: string;
        policyLink?: string;
        preferences: string;
        preferencesButton?: string;
        preferencesDescription?: string;
        preferencesTitle?: string;
        reject?: string;
        retentionPeriod?: string;
        save: string;
        technical?: {
            browserSettings?: string;
            disablingImpact?: string;
            persistentCookies?: string;
            sessionCookies?: string;
            thirdPartyCookies?: string;
        };
        thirdPartySharing?: string;
        transferCountries?: string;
        userRights?: string;
        variants?: {
            casual?: Partial<
                Pick<
                    ConsentTexts,
                    "acceptAll"
                    | "bannerMessage"
                    | "declineAll"
                    | "modalTitle",
                >,
            >;
            concise?: Partial<
                Pick<
                    ConsentTexts,
                    "acceptAll"
                    | "bannerMessage"
                    | "declineAll"
                    | "modalTitle",
                >,
            >;
            detailed?: Partial<
                Pick<
                    ConsentTexts,
                    "acceptAll"
                    | "bannerMessage"
                    | "declineAll"
                    | "modalTitle",
                >,
            >;
            formal?: Partial<
                Pick<
                    ConsentTexts,
                    "acceptAll"
                    | "bannerMessage"
                    | "declineAll"
                    | "modalTitle",
                >,
            >;
        };
    }

    Hierarchy (View Summary)

    Index

    Properties

    accept?: string

    (Opcional) Texto alternativo aceitar.

    acceptAll: string

    Texto do botão para aceitar todos os cookies.

    accessibility?: {
        bannerLabel?: string;
        keyboardNavigation?: string;
        liveRegion?: string;
        modalLabel?: string;
        toggleState?: { disabled?: string; enabled?: string };
    }

    Labels ARIA e textos para leitores de tela

    Type Declaration

    • OptionalbannerLabel?: string

      Label do banner para leitores de tela

    • OptionalkeyboardNavigation?: string

      Instrução de navegação por teclado

    • OptionalliveRegion?: string

      Região live para anúncios dinâmicos

    • OptionalmodalLabel?: string

      Label do modal para leitores de tela

    • OptionaltoggleState?: { disabled?: string; enabled?: string }

      Estado do toggle de categoria

    bannerMessage: string

    Mensagem principal exibida no banner de consentimento.

    brandingPoweredBy?: string

    (Opcional) Texto "fornecido por".

    cancel?: string

    Texto para cancelar ação

    categories?: {
        analytics?: { description?: string; examples?: string; name?: string };
        functional?: { description?: string; examples?: string; name?: string };
        marketing?: { description?: string; examples?: string; name?: string };
        necessary?: { description?: string; examples?: string; name?: string };
        performance?: { description?: string; examples?: string; name?: string };
    }

    Textos específicos para cada categoria de cookie

    close?: string

    (Opcional) Texto do botão fechar.

    confirm?: string

    Texto para confirmar ação

    contactInfo?: string

    (Opcional) Informações de contato do DPO.

    contexts?: {
        ecommerce?: {
            cartAbandonment?: string;
            paymentSecurity?: string;
            personalizedOffers?: string;
            productRecommendations?: string;
        };
        education?: {
            accessibility?: string;
            learningAnalytics?: string;
            parentalConsent?: string;
            studentProgress?: string;
        };
        government?: {
            accessibility?: string;
            citizenServices?: string;
            dataProtection?: string;
            transparency?: string;
        };
        saas?: {
            customerSupport?: string;
            featureUsage?: string;
            performanceMonitoring?: string;
            userAnalytics?: string;
        };
    }

    Textos otimizados para diferentes contextos

    Type Declaration

    • Optionalecommerce?: {
          cartAbandonment?: string;
          paymentSecurity?: string;
          personalizedOffers?: string;
          productRecommendations?: string;
      }

      Contexto e-commerce

    • Optionaleducation?: {
          accessibility?: string;
          learningAnalytics?: string;
          parentalConsent?: string;
          studentProgress?: string;
      }

      Contexto educacional

    • Optionalgovernment?: {
          accessibility?: string;
          citizenServices?: string;
          dataProtection?: string;
          transparency?: string;
      }

      Contexto governamental

    • Optionalsaas?: {
          customerSupport?: string;
          featureUsage?: string;
          performanceMonitoring?: string;
          userAnalytics?: string;
      }

      Contexto SaaS

    controllerInfo?: string

    (Opcional) Informação sobre o controlador dos dados.

    cookieDetails?: {
        noCookies?: string;
        tableHeaders?: {
            duration?: string;
            name?: string;
            provider?: string;
            purpose?: string;
            type?: string;
        };
        toggleDetails?: { collapse?: string; expand?: string };
    }

    Cabeçalhos para tabela de detalhes de cookies

    Type Declaration

    • OptionalnoCookies?: string

      Texto quando não há cookies para mostrar

    • OptionaltableHeaders?: {
          duration?: string;
          name?: string;
          provider?: string;
          purpose?: string;
          type?: string;
      }
    • OptionaltoggleDetails?: { collapse?: string; expand?: string }

      Botão para expandir/colapsar detalhes

    dataTypes?: string

    (Opcional) Tipos de dados coletados.

    declineAll: string

    Texto do botão para recusar todos os cookies.

    feedback?: {
        consentUpdated?: string;
        cookiesRejected?: string;
        saveError?: string;
        saveSuccess?: string;
        settingsReset?: string;
    }

    Mensagens de feedback ao usuário

    Type Declaration

    • OptionalconsentUpdated?: string

      Consentimento atualizado

    • OptionalcookiesRejected?: string

      Cookies rejeitados

    • OptionalsaveError?: string

      Erro ao salvar preferências

    • OptionalsaveSuccess?: string

      Preferências salvas com sucesso

    • OptionalsettingsReset?: string

      Configurações resetadas

    i18n?: {
        de?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
        en?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
        es?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
        fr?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
        it?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>;
    }

    Suporte a múltiplos idiomas

    Type Declaration

    • Optionalde?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>

      Textos em alemão

    • Optionalen?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>

      Textos em inglês

    • Optionales?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>

      Textos em espanhol

    • Optionalfr?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>

      Textos em francês

    • Optionalit?: Partial<Omit<ConsentTexts, "i18n" | "variants" | "contexts">>

      Textos em italiano

    lawfulBasis?: string

    (Opcional) Base legal para o processamento.

    loading?: string

    Texto de carregamento

    modalIntro: string

    Texto introdutório do modal.

    modalTitle: string

    Título do modal de preferências.

    necessaryAlwaysOn: string

    Texto explicativo para cookies necessários.

    policyLink?: string

    (Opcional) Link para política de privacidade.

    preferences: string

    Texto do botão para abrir preferências.

    preferencesButton?: string

    (Opcional) Texto alternativo para botão de preferências.

    preferencesDescription?: string

    (Opcional) Descrição do modal.

    preferencesTitle?: string

    (Opcional) Título alternativo do modal.

    reject?: string

    (Opcional) Texto alternativo rejeitar.

    retentionPeriod?: string

    (Opcional) Prazo de armazenamento dos dados.

    save: string

    Texto do botão para salvar preferências.

    technical?: {
        browserSettings?: string;
        disablingImpact?: string;
        persistentCookies?: string;
        sessionCookies?: string;
        thirdPartyCookies?: string;
    }

    Informações técnicas sobre cookies

    Type Declaration

    • OptionalbrowserSettings?: string

      Como desabilitar cookies no navegador

    • OptionaldisablingImpact?: string

      Impacto de desabilitar cookies

    • OptionalpersistentCookies?: string

      Explicação sobre cookies persistentes

    • OptionalsessionCookies?: string

      Explicação sobre cookies de sessão

    • OptionalthirdPartyCookies?: string

      Explicação sobre cookies de terceiros

    thirdPartySharing?: string

    (Opcional) Compartilhamento com terceiros.

    transferCountries?: string

    (Opcional) Países para transferência de dados.

    userRights?: string

    (Opcional) Direitos do titular dos dados.

    variants?: {
        casual?: Partial<
            Pick<
                ConsentTexts,
                "acceptAll"
                | "bannerMessage"
                | "declineAll"
                | "modalTitle",
            >,
        >;
        concise?: Partial<
            Pick<
                ConsentTexts,
                "acceptAll"
                | "bannerMessage"
                | "declineAll"
                | "modalTitle",
            >,
        >;
        detailed?: Partial<
            Pick<
                ConsentTexts,
                "acceptAll"
                | "bannerMessage"
                | "declineAll"
                | "modalTitle",
            >,
        >;
        formal?: Partial<
            Pick<
                ConsentTexts,
                "acceptAll"
                | "bannerMessage"
                | "declineAll"
                | "modalTitle",
            >,
        >;
    }

    Diferentes variações de tom para a mesma mensagem

    Type Declaration

    • Optionalcasual?: Partial<
          Pick<
              ConsentTexts,
              "acceptAll"
              | "bannerMessage"
              | "declineAll"
              | "modalTitle",
          >,
      >

      Tom casual/amigável

    • Optionalconcise?: Partial<
          Pick<
              ConsentTexts,
              "acceptAll"
              | "bannerMessage"
              | "declineAll"
              | "modalTitle",
          >,
      >

      Tom conciso/direto

    • Optionaldetailed?: Partial<
          Pick<
              ConsentTexts,
              "acceptAll"
              | "bannerMessage"
              | "declineAll"
              | "modalTitle",
          >,
      >

      Tom detalhado/explicativo

    • Optionalformal?: Partial<
          Pick<
              ConsentTexts,
              "acceptAll"
              | "bannerMessage"
              | "declineAll"
              | "modalTitle",
          >,
      >

      Tom formal/profissional