• Stars
    star
    376
  • Rank 113,810 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿช ๐Ÿ‘ฎ Hackable EU Cookie Law Plugin for Vue.js

๐Ÿช ๐Ÿ‘ฎ Vue Cookie Law

Build Status npm vue2 license

ko-fi

EU Cookie Law Plugin for Vue.js

๐Ÿ“บ Demo

๐Ÿ”ง Install

yarn add vue-cookie-law

๐Ÿ‘ˆ Usage

<template>
  <footer>
    <cookie-law theme="dark-lime"></cookie-law>
  </footer>
</template>

<script>
  import CookieLaw from 'vue-cookie-law'
  export default {
    components: { CookieLaw }
  }
</script>

Slots

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>
  <div slot="message">
    Here is my message for more info <router-link to="legal-notes">Click here</router-link>
  </div>
</cookie-law>

Scoped Slot

For a more complex layout use the scoped slot

<cookie-law>
  <div slot-scope="props">
    <button class="skew" @click="props.accept"><span>I accept</span></button>
    <p>
      This site uses ๐Ÿช
    </p>
    <button class="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

Props

prop default type description
buttonText 'Got It!' String ๐Ÿ”˜ Well, its the button text
buttonLink String|Object Link to more infos. Simple href or a vue-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 are bottom or top
transitionName 'slideFromBottom' String Enter and leave transitions. Currently supported slideFromBottom, slideFromTop, fade
storageName 'cookie:accepted' String Name for the localStorage / cookie name. Defaults to cookie:accepted
storageType 'localStorage' String Type of storage, where to store 'cookies:accept': true. Can be localStorage (default) or cookies. 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 as path, domain, expires / max-age, samesite or secure. See tiny-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

Events

The default button will emit an accept event you can listen on if the user clicks the button.

<cookie-law v-on:accept="ThankYouMethod()"/>

๐Ÿ’… Themes

Cookie Law Themes

Custom Themes

You can easy create your own themes. The classes that need to be styled are:

  • .Cookie for the container
  • .Cookie__content for the content with message
  • .Cookie__button for the button

If you create your own theme, postfix the class.

.Cookie--mytheme {....}
.Cookie--mytheme .Cookie__button {....}
.Cookie--mytheme div.Cookie__button:hover {....}

And then pass your theme name to the component.

๐Ÿ“œ Changelog

Details changes for each release are documented in the CHANGELOG.md.

โ— Issues

Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.

๐Ÿ’ช Contribution

Please make sure to read the Contributing Guide and Code of Conduct before making a pull request.

ยฉ๏ธ License

MIT

Buy Me A Coffee

More Repositories

1

vue-chartjs

๐Ÿ“Š Vue.js wrapper for Chart.js
TypeScript
5,542
star
2

vue-parallax

๐ŸŒŒ Vue.js component for parallax image scroll effects
JavaScript
637
star
3

vue-password-strength-meter

๐Ÿ” Password strength meter based on zxcvbn in vue.js
JavaScript
560
star
4

vue-breakpoints

๐Ÿฌ ๐Ÿ™ˆ Vue.js utility component to show and hide components based on breakpoints
JavaScript
194
star
5

npm-stats

๐Ÿ“ˆ npm package statistics dashboard build with vue
Vue
113
star
6

shopware-api-client

๐Ÿ› Javascript API Client for Shopware
JavaScript
32
star
7

vue-observable

IntersectionObserver, MutationObserver and PerformanceObserver in Vue.js
JavaScript
24
star
8

wipfred

๐ŸšงManage your wip.chat todos with alfred
JavaScript
21
star
9

sketch-flip-size

๐Ÿ” FlipSize is a small Sketch plugin to flip the size of a shape, layer or artboard
JavaScript
17
star
10

vscode-icon

๐ŸŒ€ Round OSX icon for VSCode ๐Ÿš€
16
star
11

vue-chartjs-demo

๐Ÿ“Š ๐Ÿ“ˆ Github Pages with demo charts for vue-chartjs
JavaScript
16
star
12

alfred-git-snippets

Alfred Powerpack snippets for git commit messages that are awesome
11
star
13

colourhunt

๐ŸŽจCommunity driven colour palettes
Vue
10
star
14

wiviz

Wifi client probe analyzer & visualizer
JavaScript
10
star
15

vue-chartjs-vuex

Sample project for vue-chartjs with vuex
JavaScript
9
star
16

bs3stat

๐Ÿ“Š Small dashboard service for backup ๐Ÿ’พ
Vue
7
star
17

alibaba-discount-alert

๐Ÿšจ Alert service for aliexpress discounts
JavaScript
5
star
18

mina-hipchat

HipChat room notifications for mina deploy
Ruby
3
star
19

presentation-vuex-testing

๐Ÿ’ ๐Ÿ’ฌ Slides of my vuex testing talk
3
star
20

flipper-de

FlipperZero Database for german signals
3
star
21

hacker-zines

Zines, Newsletters and Stuff that may be older than you!
2
star
22

deepbook

A social network prototype build with laravel
PHP
1
star
23

vuex-notes-app

๐Ÿ““ Vue.js note app with vuex for testing purposes
JavaScript
1
star
24

vue-chartjs-quasar

JavaScript
1
star