- Notifications
You must be signed in to change notification settings - Fork42
🍪 👮 Hackable EU Cookie Law Plugin for Vue.js
License
apertureless/vue-cookie-law
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
EU Cookie Law Plugin for Vue.js
📺Demo
yarn add vue-cookie-law
<template><footer><cookie-lawtheme="dark-lime"></cookie-law></footer></template><script>importCookieLawfrom'vue-cookie-law'exportdefault{components:{ CookieLaw}}</script>
You can also pass in the message into a named slot. This way you can for example add<router-link> and other dynamic content.
<cookie-law><divslot="message"> Here is my message for more info<router-linkto="legal-notes">Click here</router-link></div></cookie-law>
For a more complex layout use thescoped slot
<cookie-law><divslot-scope="props"><buttonclass="skew"@click="props.accept"><span>I accept</span></button><p> This site uses 🍪</p><buttonclass="skew"@click="props.close"><span>Ignore me</span></button></div></cookie-law>
| methods | description |
|---|---|
| accept | Closes the cookie disclaimer and saves to localStorage |
| close | Only closes the cookie disclaimer. The disclaimer will reappear on the next page load. |
| open | Show disclaimer if user ignored him |
| revoke | Revoke previous user decision |
| isAccepted | To check anytime if cookies has been accepted |
| prop | default | type | description |
|---|---|---|---|
| buttonText | 'Got It!' | String | 🔘 Well, its the button text |
| buttonLink | String|Object | Link to more infos. Simple href or avue-router Location object | |
| buttonLinkText | 'More info' | String | Label of link button |
| buttonLinkNewTab | false | Boolean | If true, it opens the link in a new tab/window (href) |
| buttonClass | 'Cookie__button' | String | Custom class name for buttons |
| message | 'This website uses cookies to ensure you get the best experience on our website.' | String | Your message in the content area |
| theme | 'base' | String | Selected theme. You can also create a custom one |
| position | 'bottom' | String | Possible positions arebottom ortop |
| transitionName | 'slideFromBottom' | String | Enter and leave transitions. Currently supportedslideFromBottom,slideFromTop,fade |
| storageName | 'cookie:accepted' | String | Name for the localStorage / cookie name. Defaults tocookie:accepted |
| storageType | 'localStorage' | String | Type of storage, where to store 'cookies:accept': true. Can belocalStorage (default) orcookies. If LocalStorage is unsupported, then used Cookies. |
| cookieOptions | {} | Object | (Optional) The cookieOptions parameter is an object. And its property can be a valid cookie option, such aspath,domain,expires /max-age,samesite orsecure. Seetiny-cookie docs for details. |
| buttonDecline | false | Boolean | Display decline button |
| buttonDeclineText | 'Decline' | String | 🔘Decline button text |
| buttonDeclineClass | 'Cookie__button--decline' | String | Custom class name for decline button |
The default button will emit anaccept event you can listen on if the user clicks the button.
<cookie-lawv-on:accept="ThankYouMethod()"/>
You can easy create your own themes. The classes that need to be styled are:
.Cookiefor the container.Cookie__contentfor the content with message.Cookie__buttonfor the button
If you create your own theme, postfix the class.
.Cookie--mytheme {....}.Cookie--mytheme .Cookie__button {....}.Cookie--mythemediv.Cookie__button:hover {....}
And then pass your theme name to the component.
Details changes for each release are documented in theCHANGELOG.md.
Please make sure to read theIssue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
Please make sure to read theContributing Guide andCode of Conduct before making a pull request.
About
🍪 👮 Hackable EU Cookie Law Plugin for Vue.js
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.

