npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vue-button-animation

v1.8.7

Published

Animated Buttons for Vue.js

Downloads

81

Readme

Vue Button Animation Components

This library is collection of Vue single-file components to render animated buttons.

Software License Latest Version on NPM npm

Installation

Using NPM:

$ npm i vue-button-animation

Demo

https://codesandbox.io/s/vue-button-animation-yb9tq

Usage

In your main.js file:

import VueButtonAnimation from 'vue-button-animation'

Vue.use(VueButtonAnimation);

In your components template:

  • button
    <button-basic>Button</button-basic>
  • a
    <a-basic>Button</a-basic>
  • radio
    <radio-basic value="dog" v-model="selectedAnimal">
      Dog
    </radio-basic>
    <radio-basic value="cat" v-model="selectedAnimal">
      Cat
    </radio-basic>
    <radio-basic value="rabbit" v-model="selectedAnimal">
      Rabbit
    </radio-basic>
  • checkbox
    <checkbox-basic value="1" v-model="selectedIds">
      Id-1
    </checkbox-basic>
    <checkbox-basic value="2" v-model="selectedIds">
      Id-2
    </checkbox-basic>
    <br>
    <checkbox-basic value="3" v-model="selectedIds">
      Id-3
    </checkbox-basic>
  • file
    <file-basic @change="onChangeFile">Select File</file-basic>

Components

  • button
    It acts as the button element. So it performs the basic attributes of button element like disabled.

    | Name | Available Props | |----------------|--------------------------------------------------------------------------| | button-basic | color, size, weight, width, height, loadingDot, circle, square | | button-press | color, size, weight, width, height, loadingDot | | button-neon | size, weight, width, height, loadingDot, hueRotate |

  • a
    It acts as the a element. So it performs the basic attributes of a element like href.

    | Name | Available Props | |----------------|--------------------------------------------------------------------------| | a-basic | color, size, weight, width, height, disabled, loadingDot, circle, square | | a-press | color, size, weight, width, height, disabled, loadingDot | | a-neon | size, weight, width, height, disabled, loadingDot, hueRotate |

  • radio
    It acts as the input type="radio".

    | Name | Available Props | |----------------|--------------------------------------------------------------------------| | radio-basic | color, size, id, name, value, checked, required, disabled |

  • checkbox
    It acts as the input type="checkbox".

    | Name | Available Props | |----------------|--------------------------------------------------------------------------| | checkbox-basic | color, size, id, name, value, checked, required, disabled |

  • file
    It acts as the input type="file".

    | Name | Available Props | |----------------|--------------------------------------------------------------------------| | checkbox-basic | color, size, id, name, accept, multiple, weight, width, height, disabled, loadingDot, circle, square |

Props

| Prop | Type (Range) | Default value | |---------------|---------------------------------------------------------------------------|---------------| | color | String (Predefined Colors) | primary | | size | String (ss, s, m, l) or Number | m | | weight | String (normal, bold, bolder, lighter, ...) or Number (100 ~ 900) | 800 | | width | String or Number | N/A | | height | String or Number | N/A | | disabled | Boolean | false | | loadingDot | Boolean | false | | hueRotate | String or Number | 0 | | circle | String or Number | N/A | | square | String or Number | N/A | | id | String | v-{component type}--{uuid}| | name | String | N/A | | value | String or Boolean | N/A | | checked | Boolean | false | | required | Boolean | false | | accept | String | * | | multiple | Boolean | false |

  • color - You can set button's color to a Predefined color And if you want to set button's color to another color, you can customize the class or change the style. By default, this is primary.

    Example:

    <button-basic>Button</button-basic>  <!-- By default, this is `primary`. -->
    <button-basic color="secondary">Button</button-basic>
    <button-basic color="white-border-3">Button</button-basic>
  • size - It means the font size or the size of button. If you enter a number or a string excluding unit, the unit is set to px. For Example, if you enter size="20" or :size="20", the size is set to 20px.
    If you enter a specific unit, the font size is set to that unit. For Example, If you enter size="10em", size="10rem", size="10px" or size="10pt", the each size is set to 10em, 10rem, 10px or 10pt.
    If you enter a ss, s, m, l or basic, the size is set to a Predefined size. By default, this is m.
    • ss : 0.75rem
    • s : 0.875rem
    • m : 1rem
    • l : 1.5rem
    • basic : font-size is 1rem, min-width is 120px and height is 40px.
    Example:
    <button-basic>Button</button-basic> <!-- By default, this is `m` -->
    <button-basic size="20">Button</button-basic> <!-- 20px -->
    <button-basic :size="20">Button</button-basic> <!-- 20px -->
    <button-basic size="20px">Button</button-basic> <!-- 20px -->
    <button-basic size="2em">Button</button-basic> <!-- 2em -->
    <button-basic size="1rem">Button</button-basic> <!-- 1rem -->
    <button-basic size="s">Button</button-basic> <!-- 0.875rem -->
  • weight - You can set the font weight between 100 and 900, regardless of whether the type of value is string or number. For example, you can enter weight="400" or :weight="400". Also you can enter a basic property like 'bold'. By default, this is 800.

    Example:

    <button-basic>Button</button-basic>  <!-- By default, this is `800`. -->
    <button-basic weight="400">Button</button-basic>
    <button-basic :weight="400">Button</button-basic>
    <button-basic weight="bold">Button</button-basic>
  • width - It means the button's min width. If you enter a number or a string excluding unit, the unit is set to px. If you enter a specific unit, the width is set to that unit. If you do not enter any width prop, the width is automatically calculated based on the length of button's text data and predefined padding value.

    Example:

    <button-basic>Button</button-basic> <!-- The width is automatically calculated -->
    <button-basic width="150">Button</button-basic> <!-- 150px -->
    <button-basic :width="150">Button</button-basic> <!-- 150px -->
    <button-basic width="150px">Button</button-basic> <!-- 150px -->
    <button-basic width="20em">Button</button-basic> <!-- 20em -->
    <button-basic width="30rem">Button</button-basic> <!-- 30rem -->
  • height - It means the button's height. If you enter a number or a string excluding unit, the unit is set to px. If you enter a specific unit, the height is set to that unit. If you do not enter any height prop, the height is automatically calculated based on the length of button's text data and predefined padding value.

    Example:

    <button-basic>Button</button-basic> <!-- The height is automatically calculated -->
    <button-basic height="40">Button</button-basic> <!-- 40px -->
    <button-basic :height="40">Button</button-basic> <!-- 40px -->
    <button-basic height="40px">Button</button-basic> <!-- 40px -->
    <button-basic height="3em">Button</button-basic> <!-- 3em -->
    <button-basic height="4rem">Button</button-basic> <!-- 4rem -->
  • disabled - If you want to set status of button to disabled, you can use disabled attribute in button element and disabled prop in a element.

    Example:

    <button-basic disabled>Button</button-basic>
    <button-basic :disabled="true">Button</button-basic>
    <button-basic :disabled="false">Button</button-basic>
    <a-basic disabled>Link</a-basic>
    <a-basic :disabled="true">Link</a-basic>
    <a-basic :disabled="false">Link</a-basic>
  • loadingDot - If you want to set status of button to loading, you can use loadingDot prop.

    Example:

    <button-basic loadingDot>Button</button-basic>
    <button-basic :loadingDot="true">Button</button-basic>
    <button-basic :loadingDot="false">Button</button-basic>
    <a-basic loadingDot>Link</a-basic>
    <a-basic :loadingDot="true">Link</a-basic>
    <a-basic :loadingDot="false">Link</a-basic>
  • hueRotate - You can use this prop to filter the color of the button. By default, this is 0. You can set the hueRotate between 0 and 359, regardless of whether the type of value is string or number. If you want to know about this feature, please visit MDN.

    Example:

    <button-neon :hueRotate="180">BUTTON</button-neon>
    <button-neon hueRotate="180">BUTTON</button-neon>
    <button-neon hueRotate="270">BUTTON</button-neon>
    <a-neon :hueRotate="180">LINK</a-neon>
    <a-neon hueRotate="180">LINK</a-neon>
    <a-neon hueRotate="270">LINK</a-neon>
  • circle / square - You can create circle or square buttons by using this prop. If you enter a number or a string excluding unit, the unit is set to px. If you enter a specific unit, the size of button is set to that unit. If the length of button's text data is longer than the button size, it is hidden.

    Example:

    <button-basic circle="10em">Button</button-basic>
    <button-basic :circle="100">Button</button-basic>
    <button-basic circle="100">Button</button-basic>
    <button-basic sqaure="10em">Button</button-basic>
    <button-basic :square="100">Button</button-basic>
    <button-basic square="100">Button</button-basic>

Predefined Colors

  • button-basic, a-basic
    • primary, secondary, success, danger, warning, info, light, dark, blue, green, orange, yellow, red, white, black, white-blue, file, cyan, navy, lightblue, lightsalmon, lightgray
    • white-border-[1~5], white-border-blue-[1~5], gray-border-[1~5], blue-border-[1~5], green-border-[1~5], orange-border-[1~5], yellow-border-[1~5]
  • button-press, a-press
    • primary, secondary, success, danger, warning, info, light, dark, blue, green, orange, yellow, red, white, black, white-blue, file, cyan, navy, lightblue, lightsalmon, lightgray
    • ~~white-border-[1~5], white-border-blue-[1~5], gray-border-[1~5], blue-border-[1~5], green-border-[1~5], orange-border-[1~5], yellow-border-[1~5]~~
  • radio-basic, checkbox-basic
    • primary, secondary, success, danger, warning, info, light, dark, blue, green, orange, yellow, red, white, black, ~~white-blue, file,~~ cyan, navy, lightblue, lightsalmon, lightgray
    • ~~white-border-[1~5], white-border-blue-[1~5], gray-border-[1~5], blue-border-[1~5], green-border-[1~5], orange-border-[1~5], yellow-border-[1~5]~~

Events

  • <button>, <a>

    | Event | Description | |------------|-------------| | click | The event occurs when the user clicks on an element | | dblclick | The event occurs when the user double-clicks on an element | | mousedown | The event occurs when the user presses a mouse button over an element | | mouseenter | The event occurs when the pointer is moved onto an element | | mouseleave | The event occurs when the pointer is moved out of an element | | mousemove | The event occurs when the pointer is moving while it is over an element | | mouseout | The event occurs when a user moves the mouse pointer out of an element, or out of one of its children | | mouseover | The event occurs when the pointer is moved onto an element, or onto one of its children | | mouseup | The event occurs when a user releases a mouse button over an element |

Tips

  • Containing Icon - If you want to render a button containing some icons, I recommend you to use the vue-material-design-icon library. the color of icon inside a button inherit the button's color even when button's status is hover.

    Example:

    <button-basic color="yellow-border-1">
    <menu-icon />
       Button
    </button-basic>
      
    <a-basic>
      Button
    <arrow-icon />
    </a-basic>

License

MIT