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 🙏

© 2025 – Pkg Stats / Ryan Hefner

vuenimate

v0.3.4

Published

A Lightweight and Versatile Vue Animation Library

Readme

Vuenimate

Elevate your Vue applications with vuenimate, a carefully crafted library of Vue animation components. Enhance user interfaces with fluid, engaging animations that are easy to integrate and customize.

Features

  • Seamless Integration: Works out-of-the-box with any Vue project.
  • Customizable: Extensive configuration options for each animation.
  • Performance Optimized: Ensures smooth animations for a responsive UI.
  • Diverse Animation Set: Choose from a wide range of animation types.
  • Reactive & Controllable: Animations respond dynamically to user interactions.

Installation

Install vuenimate using npm:

npm install vuenimate

Usage

Import and use vuenimate in your Vue components:

<template>
<va-fade-in-up>
    <hero-section></hero-section>
</va-fade-in-up>
</template>

<script>
import { VaFadeInUp } from 'vuenimate';

export default {
  components: {
    VaFadeInUp
  }
};
</script>

You can also specify animation properties with the config prop.

<template>
<va-fade-in-up :config="{duration: 2000, delay: 50}">
    <hero-section></hero-section>
</va-fade-in-up>
</template>

Using triggers you can specify when do you want your animation to start, the default trigger is on mount.

<template>
<va-fade-in-up on-click> //This animation will start when we click firstElementChild (in this case, hero-section)
    <hero-section></hero-section>
</va-fade-in-up>
</template>

You can start an animation when you scroll to the element and it is visible on the page using on-scroll-to-element. You can specify the threshold which indicate how much of the element should be visible to start animation.

<template>
<va-fade-in-up on-scroll-to-element :threashold="0.3"> //hero-section will fade in when 0.3 of it is visible on scroll
    <hero-section></hero-section>
</va-fade-in-up>
</template>

API Reference

Below are some of the components available in vuenimate (more animations coming soon):

<va-fade-in-up>
<va-fade-in-down>
<va-fade-in-left>
<va-fade-in-right>
<va-fade-out-up> (Coming Soon)
<va-fade-out-down> (Coming Soon)
<va-fade-out-left> (Coming Soon)
<va-fade-out-right> (Coming Soon)
<va-slide-in-up> (Coming Soon)
<va-slide-in-down> (Coming Soon)
<va-slide-in-left> (Coming Soon)
<va-slide-in-right> (Coming Soon)
<va-slide-out-up> (Coming Soon)
<va-slide-out-down> (Coming Soon)
<va-slide-out-left> (Coming Soon)
<va-slide-out-right> (Coming Soon)
<va-zoom-in> (Coming Soon)
<va-zoom-out> (Coming Soon)
<va-bounce-in> (Coming Soon)
<va-bounce-out> (Coming Soon)
<va-bounce-in-up> (Coming Soon)
<va-bounce-in-down> (Coming Soon)
<va-bounce-in-left> (Coming Soon)
<va-bounce-in-right> (Coming Soon)
<va-bounce-out-up> (Coming Soon)
<va-bounce-out-down> (Coming Soon)
<va-bounce-out-left> (Coming Soon)
<va-bounce-out-right> (Coming Soon)
<va-rotate-in> (Coming Soon)
<va-rotate-out> (Coming Soon)
<va-flip-in-x> (Coming Soon)
<va-flip-in-y> (Coming Soon)
<va-flip-out-x> (Coming Soon)
<va-flip-out-y> (Coming Soon)
<va-roll-in> (Coming Soon)
<va-roll-out> (Coming Soon)
<va-light-speed-in> (Coming Soon)
<va-light-speed-out> (Coming Soon)
<va-swing> (Coming Soon)
<va-shake> (Coming Soon)
<va-tada> (Coming Soon)
<va-wobble> (Coming Soon)
<va-jello> (Coming Soon)
<va-heart-beat> (Coming Soon)
Props:

config: a configuration object with basic css animation properties.

//config object for <va-fade-in-up> component, each component has its config object
config = {
        duration: 1000, //animation duration in ms
        delay: 0, //animation delay in ms
        easing: "ease-out", //animation easing type
        iterations: 1, // animation number of iteration
        fill: "forwards", //animation fill type
        offset: 20, // this is the number of pixels to move
      };
// Similar structure as above for each component
Events:

animation-ended: Emitted when the animation is complete. This is true to all animations.

Triggers:
on-click
on-double-click
on-right-click
on-mouse-down
on-mouse-up
on-mouse-move
on-mouse-over
on-mouse-out
on-mouse-enter
on-mouse-leave
on-touch-start
on-touch-move
on-touch-end
on-touch-cancel
on-focus
on-blur
on-key-press
on-key-down
on-key-up
on-scroll
on-drag
on-drag-start
on-drag-end
on-drag-enter
on-drag-leave
on-drag-over
on-drop
on-change
on-input
on-submit
on-resize
on-wheel
on-scroll-to-element
Customization:

You can use the <va-base> component to make different types of custom animations. The VaBase component has a keyframes property in its config prop, you can set it to whatever animation you want to make.

config = {
        duration: 1000,
        delay: 0,
        easing: "ease",
        iterations: 1,
        fill: "forwards",
        keyframes: [
          { transform: "translateY(0)", opacity: 1 },
          { transform: "translateY(-100%)", opacity: 0 },
        ], //CSS keyframes Array
      };

You can set the keyframes values as you would set it when using the Browser Web Animations API.

Contributing

Contributions to vuenimate are welcome! Please read our contributing guide for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

  • Vue community
  • Contributors and maintainers of vuenimate