Code Monkey home page Code Monkey logo

vue-cookie-law's Introduction

๐Ÿช ๐Ÿ‘ฎ 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

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
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.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.