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

animate-styl

v1.0.1

Published

A port of a port of animate.css to Stylus

Downloads

143

Readme

Animate Styl (now on NPM!)

Just-add-water CSS animation

npm i animate-styl

disclaimer

So this is a fork of a fork. slang800 and Dan Eden deserve credit for their work on this, but I will be making some potentially substantial changes here.

animate-styl is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.

Usage

By default animate-styl doesn't auto generate all the keyframe animations and classes. There are 2 ways to tell animate-styl what animations you want to include in your project.

Using the config object

// i am using gulp here because i'm most familiar with it, 
// but you can use whatever build system you want here
gulp.task( 'stylus', function() {
  return gulp.src( './styl/main.styl' )
    .pipe( stylus( {
      use: animate({
        all: false, // generate all classes by default, like pulling in the entire animate.css file
        base: true, // generates base .animated class
        attentionSeekers: true,
        base: true,
        bling: true,
        bomb: true,
        bouncingEntrances: true,
        bouncingExits: true,
        fadingEntrances: true,
        fadingExits: true,
        flippers: true,
        lightspeed: true,
        magic: true,
        math: true,
        perspective: true,
        rotate: true,
        rotatingEntrances: true,
        rotatingExits: true,
        slidingEntrances: true,
        slidingExits: true,
        specials: true,
        zoomingEntrances: true,
        zoomingExits: true,
      }),
    } ) )
    .pipe( gulp.dest( './css' ) )
} )

and then in your stylus:

@require 'animate'
// your animation code is auto generated here

.bounce-in
  animation-name: bounceIn

The above is just to show all the options. Ideally you'd only pass in what you need, or, if you want everything, you can just pass in all: true.

Include/Exclude Animations without the config object

There's no need to make custom builds because with Stylus you can import everything you want, and nothing you don't.

For example, if you only use the slideInDown animation then you don't @require the whole library - just @require 'animate-stylus/sliders/slideInDown'. Or, if you want all the sliders, you can @require 'animate-stylus/sliders/*'. See the Stylus Docs for an explanation of file globbing.

HOWEVER, I feel like the ideal way to use this is to use the config object as part of your build step. Do whatever you want though.

Example of this method:

@require 'animate/lib/bling/*
// all bling animations here, but nothing else

Vendor Prefixes

I've left the code unprefixed so you can support whatever browsers you're targeting without having them chosen for you. I recommend using nib or auto-prefixer to add the prefixes.

Adding Animations with Class Names

I will be making a config option to auto-generate these based on your ideal naming convention, but until then here's a way you can do it yourself:

//list of animations that we are using
animations = (bounce slideInDown slideOutUp)

.animated
  animation-duration: 1s
  animation-fill-mode: both

for animation_name in animations
  .{animation_name}
    animation-name: animation_name

And then adding animations to elements with class names will work:

<div class='bounce'>This is bouncing</div>