A lightweight JavaScript plugin to handle cookie consent.
It is designed to help you comply with data privacy laws like EU Cookie Law, European GDPR or California CCPA.
// Module
import CookieConsent from "@klaxit/cookie-consent"
// or (Classic)
const CookieConsent = window.CookieConsent
// Initialize the popup and open it
const cc = new CookieConsent({
title: "We use cookies 🍪",
// ... other options
})
// Events
cc.on( "accept", () => console.log("Accepted !") )
cc.on( "reject", () => console.log("Rejected !") )
// Main accessors
console.log(cc.status) // accepted, rejected
console.log(cc.acceptedCategories) // ["essential", "analytics"]
// Re-open the popup to allow user to change its consent
cc.open()
Available configuration options are documented in default options.
We won't integrate custom themes BUT
we will do our best to keep current HTML structure and CSS classes in place. And use semantic versioning to indicate any breaking change. So you can rely on these to build your own !
To keep things as simple as possible, and because there are many ways to handle i18n, we didn't provide built-in i18n capabilities. But you can easily support multiple languages by doing something like this :
const userLang = navigator.language || navigator.userLanguage
const titles = {
"fr-FR": "Nous utilisons des cookies",
"default": "We use cookies"
}
const cc = new CookieConsent({
title: titles[userLang] || titles["default"],
// ...
})
We do our best to support these configurations.
DEVICE | BROWSER | VERSIONS |
---|---|---|
DESKTOP | Chrome | N / N-1 |
DESKTOP | Safari | N / N-1 |
DESKTOP | Firefox | N / N-1 |
DESKTOP | MS Edge | N / N-1 |
DESKTOP | Samsung internet | N / N-1 |
DESKTOP | Opera | N / N-1 |
DESKTOP | IE | 11 |
Minimum supported definition is 320 x 568.
Please see LICENSE