UNPKG

vue-ripple-directive

Version:
79 lines (52 loc) 2.16 kB
# Material Ripple Effect Material Ripple Effect as Vue Directive. <p align="center"> <img src="https://media.giphy.com/media/MfW6n0zLw2k7K/giphy.gif" /> </p> This directive it's meant to be used in any element in which you like to achieve such ripple effect. <a href="https://pygmyslowloris.github.io/vue-ripple-directive/"> Live Demo</a> ## Installation ``` npm install vue-ripple-directive --save ``` >### Important Notice >The directive will work better if the element where you attach it is **relative positioned**. >Although the directive will try to set `position: relative` if the element does not have this property. >This is because the ripple since v2.0.* is `position: absolute`, to avoid trailing issues when elements with the directive in the UI move. ## Options Optional parameter to pass to the directive. | Parameter | Type | Values | | :--------------- | :------- | :--------- | | `color-value` | String | <b>Default: 'rgba(0, 0, 0, 0.35)'</b>. <br> Accepts either HEX, RGB & RGBA values. For optimal look use RGBA with low opacity. | ## Modifiers By default this directive attaches a click handler to the element as well as the transition is set for 600ms. For those who wants to modify the same, just pass modifiers to the directive: ``` v-ripple.mouseover.500 ``` Can also modify only one ``` v-ripple.mouseover ``` ## Sample & Usage First you need to import the directive and add it to Vue. ``` import Ripple from 'vue-ripple-directive' Vue.directive('ripple', Ripple); ``` Then use on any element you want to achieve the effect. ``` <div v-ripple class="button is-primary">This is a button</div> ``` If you want a custom color just pass a color parameter as `string`. It's best if you use RGBA colors to achieve a greater effect. ``` <div v-ripple="'rgba(255, 255, 255, 0.35)'" class="button">I have different color</div> ``` ## Global settings You can set the default color and z-index for all your ripples as the following example ``` import Ripple from 'vue-ripple-directive' Ripple.color = 'rgba(255, 255, 255, 0.35)'; Ripple.zIndex = 55; Vue.directive('ripple', Ripple); ```