2.1.1 ā€¢ Published 5 years ago

vue-cookie-law-with-type v2.1.1

Weekly downloads
15
License
MIT
Repository
github
Last release
5 years ago

šŸŖ šŸ‘® Vue Cookie Law

Build Status npm vue2 license

EU Cookie Law Plugin for Vue.js

šŸ“ŗ Demo

šŸ”§ Install

npm i vue-cookie-law-with-type

šŸ‘ˆ 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>
methodsdescription
acceptCloses the cookie disclaimer and saves to localStorage
closeOnly closes the cookie disclaimer. The disclaimer will reappear on the next page load.
openShow disclaimer if user ignored him

Props

propdefaulttypedescription
buttonText'Got It!'StringšŸ”˜ Well, its the button text
buttonLinkString|ObjectLink to more infos. Simple href or a vue-router Location object
buttonLinkText'More info'StringLabel of link button
buttonLinkNewTabfalseBooleanIf true, it opens the link in a new tab/window (href)
buttonClass'Cookie__button'StringCustom class name for buttons
message'This website uses cookies to ensure you get the best experience on our website.'StringYour message in the content area
theme'base'StringSelected theme. You can also create a custom one
position'bottom'StringPossible positions are bottom or top
transitionName'slideFromBottom'StringEnter and leave transitions. Currently supported slideFromBottom, slideFromTop, fade
storageNamecookies:acceptStringKey for cookies or local storage
storageType'localStorage'StringType of storage, where to store 'cookies:accept': true. Can be localStorage (default), cookies or both. If LocalStorage is unsupported, then used Cookies.

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.