Cria um objeto de preferências de consentimento inicial baseado na configuração de categorias do projeto.
Optional
config: ProjectCategoriesConfigA configuração de categorias do projeto. Se não fornecida, um padrão será usado.
O valor padrão para categorias não essenciais. Por padrão, false
para conformidade LGPD (rejeitar por padrão).
Um objeto ConsentPreferences
com as categorias e seus valores iniciais.
Esta função é crucial para inicializar o estado de consentimento. Ela garante que apenas as categorias
definidas no ConsentProvider
sejam incluídas no objeto de preferências (tanto categorias padrão
em enabledCategories
quanto customCategories
), alinhando-se ao princípio de minimização de dados da LGPD.
Since v0.4.0: inclui categorias de config.customCategories
na inicialização.
// Gera preferências com 'analytics' e 'marketing' desabilitados por padrão
const initialPrefs = createProjectPreferences({
enabledCategories: ['analytics', 'marketing']
})
// Result: { necessary: true, analytics: false, marketing: false }
// Inclui categorias customizadas
const initialWithCustom = createProjectPreferences({
enabledCategories: ['analytics'],
customCategories: [
{ id: 'abTesting', name: 'AB Testing', description: 'Experimentos de interface' },
],
})
// Result: { necessary: true, analytics: false, abTesting: false }
// Gera preferências com todas as categorias habilitadas
const allAcceptedPrefs = createProjectPreferences(
{ enabledCategories: ['analytics', 'marketing'] },
true
)
// Result: { necessary: true, analytics: true, marketing: true }
Funções utilitárias para criação e validação de preferências de projeto. Inclui criação de preferências, obtenção de categorias e validação.
Category
Utils
Since
0.4.1