Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

redshift

A JavaScript UX framework. Handles animation, UI physics and user input tracking.

animation, ux, ui, redshift, canvas animation, jquery animation, dom animation, dom, pointer tracking, mouse, mouse tracking, touch, touch tracking, physics, interaction, svg

readme

Redshift

Anything in, anywhere out

Redshift is a JavaScript UX framework. It can be used for animations, UI physics, and input tracking.

It provides DOM support for ease-of-use but provides the ability to work with raw numbers and custom callbacks for total creative freedom. On the web, on the server, anywhere.

Download | API | Guides | Twitter

Flexible

  • Animate any property without waiting for explicit support.
  • Seamless hand-off between user input, animation and physics.
  • Work with your favourite technology or framework (DOM, Node, jQuery, Canvas, Three.js, WebSockets etc).

Extendable

  • Create custom Input handlers for Oculus/Leap/anything.
  • Add custom easing bezier curves.
  • Expand our native DOM attr and CSS support with your own custom value input/output routes.

Performant

  • Uses and exposes a single requestAnimationFrame thread.
  • Never hits the DOM, leaving you in total control of performance.
  • Over 20% smaller than Velocity.js, 72% smaller than GreenSock TweenMax. Boom shak shakalaka.

Get started

changelog

Change log

Redshift adheres to Semantic Versioning. Change log added v1.4.0.

[2.1.1] 2015-06-11

Fixed

  • Change Action rubix from "seek" to "play" onEnd.

[2.1.0] 2015-06-11

Added

  • Added .seek() method to Actions.

[2.0.5] 2015-06-02

Added

  • ActionGroup returns array of values when a getter is called.

[2.0.4] 2015-06-01

Fixed

  • onStart regression from 2.0.0 - only firing for 'values' route.

[2.0.3] 2015-06-01

Fixed

  • Fixing hasChanged regression, prevented .run() from stopping automatically.

[2.0.2] 2015-06-01

Fixed

  • Adding Alpha property to all split color values (default: 1), in case a value has mixed RGB and RGBA properties.

[2.0.1] 2015-06-01

Added

  • CSS values travelling through a splitter (ie backgroundColor is split into RGB values) can be set as functions like normal values.

[2.0.0] 2015-06-01

Changed

  • Upgraded stepped easing algorithm.
  • Action.hasChanged set to true when Action.isActive(true)

Removed

  • .props() method removed - properties now saved directly to Action object.
  • .data() functionality removed, just set properties of Action instead.
  • .flip() is now .flipValues().

[1.4.1] 2015-05-31

Fixed

  • ActionGroup.stagger() wasn't returning this

[1.4.0] 2015-05-31

Added

  • Action Groups for controlling multiple Actions at once.
  • Stagger method for Action Groups.
  • DOM selection support for creating Actions prepopulated with DOM elements.

Fixed

  • Calling .play(preset) while Action was in progress failed to add that call to the play queue.
  • Added check for Process timers before clearing as clearTimeout is costing ~.4ms.