@rayels/loi25-core
v1.0.1
Published
Loi 25 Quebec cookie consent manager — lightweight, bilingual, GDPR/Loi 25 compliant. By Rayels Consulting.
Maintainers
Readme
@rayels/loi25-core
FR | English
Bannière de consentement aux cookies légère et bilingue pour la Loi 25 du Québec (Projet de loi 64). Zéro dépendance. Vanilla JS. Fonctionne partout.
Par Rayels Consulting — Agence numérique à Montréal
Installation
npm install @rayels/loi25-coreUtilisation
const Loi25 = require('@rayels/loi25-core');
Loi25.init({
lang: 'fr', // 'fr' ou 'en'
position: 'bottom', // 'bottom' ou 'top'
theme: 'light', // 'light' ou 'dark'
privacyPolicyUrl: '/politique-de-confidentialite'
});Ou via CDN :
<script src="https://unpkg.com/@rayels/loi25-core"></script>
<script>
Loi25.init({ lang: 'fr' });
</script>Vérifier le consentement
if (Loi25.isAnalyticsAllowed()) {
// Charger Google Analytics, Meta Pixel, etc.
}API
Loi25.init(config) // Afficher la bannière
Loi25.getConsent() // Retourne 'all' | 'necessary' | null
Loi25.setConsent(level) // Définir le consentement
Loi25.revokeConsent() // Révoquer (la bannière réapparaît)
Loi25.isAnalyticsAllowed() // true si consentement === 'all'Options
| Option | Type | Défaut | Description |
|--------|------|--------|-------------|
| lang | 'fr' \| 'en' | 'fr' | Langue |
| position | 'bottom' \| 'top' | 'bottom' | Position |
| theme | 'light' \| 'dark' | 'light' | Thème |
| privacyPolicyUrl | string | '/politique-de-confidentialite' | Lien confidentialité |
| poweredByLink | boolean | true | Afficher "Propulsé par Rayels" |
| onAcceptAll | function | — | Callback accepter tout |
| onAcceptNecessary | function | — | Callback nécessaire seulement |
Aussi disponible
@rayels/loi25— Composant React / Next.js- Plugin WordPress
- Extension Chrome
- Snippets VS Code
Licence
MIT — Rayels Consulting
English
Lightweight, bilingual cookie consent banner for Quebec's Law 25 (Bill 64). Zero dependencies. Vanilla JS. Works everywhere.
By Rayels Consulting — Montreal Digital Agency
Install
npm install @rayels/loi25-coreUsage
const Loi25 = require('@rayels/loi25-core');
Loi25.init({
lang: 'fr', // 'fr' or 'en'
position: 'bottom', // 'bottom' or 'top'
theme: 'light', // 'light' or 'dark'
privacyPolicyUrl: '/politique-de-confidentialite'
});Or via CDN:
<script src="https://unpkg.com/@rayels/loi25-core"></script>
<script>
Loi25.init({ lang: 'fr' });
</script>Check consent
if (Loi25.isAnalyticsAllowed()) {
// Load Google Analytics, Meta Pixel, etc.
}API
Loi25.init(config) // Show banner
Loi25.getConsent() // Returns 'all' | 'necessary' | null
Loi25.setConsent(level) // Manually set consent
Loi25.revokeConsent() // Revoke (banner reappears)
Loi25.isAnalyticsAllowed() // true if consent === 'all'Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| lang | 'fr' \| 'en' | 'fr' | Language |
| position | 'bottom' \| 'top' | 'bottom' | Position |
| theme | 'light' \| 'dark' | 'light' | Theme |
| privacyPolicyUrl | string | '/politique-de-confidentialite' | Privacy policy link |
| poweredByLink | boolean | true | Show "Powered by Rayels" |
| onAcceptAll | function | — | Callback on accept all |
| onAcceptNecessary | function | — | Callback on necessary only |
Also available
@rayels/loi25— React / Next.js component- WordPress Plugin
- Chrome Extension
- VS Code Snippets
License
MIT — Rayels Consulting
