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

wavy-canvas

v0.0.7

Published

Create a wave animation on the canvas

Downloads

14

Readme

Wavy Canvas

npm version GitHub version

Small library which gives you ability to create a wave animation on the <canvas>.

Includes hidpi-canvas-polyfill (src) by @jondavidjohn

Can be easily used in AMD / CommonJS / ES6 / legacy environments.

"A picture is worth a thousand words"

Wavy canvas in action

Demo

Open http://codepen.io/hinok/pen/xOwrKJ

Usage

Options

You must set at least either selector or selectorEl option and radiuses, duration options.

var wavy = new Wavy(options);
  • hexFillColor, {string}, defaults #ff0000, optional - Background hex color of waves
  • hexStrokeColor {string}, defaults inherits from hexFillColor, optional - Stroke hex color of waves
  • onlyWaves {boolean}, defaults false, optional - Whether should render only waves with transparent background or not
  • radiuses {Array}, required - Next radiuses of rendered waves
  • duration {number}, required - How long waves animation should take in ms (mili seconds)
  • selector {string}, optional - A selector of a DOM element where <canvas> should be appended.
  • selectorEl {Element}, optional - A DOM element where <canvas> should be appended. Overrides selector option
  • centerWaveSelector {string}, defaults .js-wavy-center, optional - A selector of a DOM element which set center (source) of waves. Must be a child of DOM element set by properties: selector or selectorEl
  • centerWave {Object}, optional - An object containing props x, y which indicate center of waves. Overrides centerWaveSelector option.

Regular usage

new Wavy({
  hexStrokeColor: '#fff',
  radiuses: [10, 20, 30],
  duration: 3000,
  selector: '.js-dom-element'
});

All options

new Wavy({
  hexFillColor: '#fff',
  hexStrokeColor: '#fff',
  onlyWaves: false,
  radiuses: [10, 20, 30],
  duration: 5000,
  selector: '.js-dom-element',
  selectorEl: document.querySelector('.js-other-dom-element'),
  centerWave: {
    x: 500,
    y: 500
  },
  centerWaveSelector: '.js-child-of-dom-element'
});

For more details look at demo folder.

ES2015 / ES6

import Wavy from 'wavy-canvas/src/Wavy';

const wavy = new Wavy({
    radiuses: [10, 30, 50, 80, 120, 160, 200, 280],
    hexFillColor: '#fff',
    hexStrokeColor: '#fff',
    duration: 4000,
    selector: '.js-where-should-I-append-canvas-element'
});

wavy.start();

ES5

var wavy = new window.Wavy({
    radiuses: [10, 30, 50, 80, 120, 160, 200, 280],
    hexFillColor: '#fff',
    hexStrokeColor: '#fff',
    duration: 4000,
    selector: '.js-where-should-I-append-canvas-element'
});

wavy.start();

Size

Javascript

wavy.js | wavy.js (gzip) | wavy.min.js | wavy.min.js (gzip) -------- | -------------- | ----------- | ------------------ 33.94 KB | 8.64 KB | 16.47 KB | 5.19 KB

CSS

style.css | style.css (gzip) --------- | ---------------- 327 B | 205 B 0.33 KB | 0.21 KB

Development

npm install         # quite obvious... ¯\_( ͠° ͟ʖ °͠ )_/¯
npm start           # starts server, opens browser, watches for files changes
npm run build       # build js and scss

License

MIT