UNPKG

redshift

Version:

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

1 lines 30.7 kB
!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){window.redshift=n(29)},function(t,e,n){"use strict";var r=["scope","dom"],i=function(t){return-1!==r.indexOf(t)},s=function(t){return Object.prototype.toString.call(t).slice(8,-1)};t.exports={hasChanged:function(t,e){var n=!1,r="";for(r in e)t.hasOwnProperty(r)&&e.hasOwnProperty(r)?t[r]!==e[r]&&(n=!0):n=!0;return n},isNum:function(t){return"number"==typeof t},isObj:function(t){return"object"==typeof t},isFunc:function(t){return"Function"===s(t)},isString:function(t){return"string"==typeof t},isRelativeValue:function(t){return t&&t.indexOf&&t.indexOf("=")>0},isArray:function(t){return"Array"===s(t)},copy:function(t){return this.isArray(t)?this.copyArray(t):this.copyObject(t)},copyObject:function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=this.isObj(t[n])&&!i(n)?this.copy(t[n]):t[n]);return e},copyArray:function(t){for(var e=[],n=t.length,r=0,r=0;n>r;r++)e[r]=this.isObj(t[r])?this.copy(t[r]):t[r];return e},merge:function(t,e){return this.isArray(t)?this.copyArray(e):this.mergeObject(t,e)},mergeObject:function(t,e){var n=this.isObj(t),r=n?this.copy(t):this.copy(e),s="";if(n)for(s in e)e.hasOwnProperty(s)&&(r[s]=this.isObj(e[s])&&!i(s)?this.merge(t[s],e[s]):e[s]);return r},splitValUnit:function(t){var e=t.match(/(-?\d*\.?\d*)(.*)/);return{value:parseFloat(e[1]),unit:e[2]}},stepProgress:function(t,e){var n=1/(e-1),r=1-1/e,i=Math.min(t/r,1);return Math.floor(i/n)*n},currentTime:function(){return"undefined"!=typeof performance?performance.now():(new Date).getTime()}}},function(t,e,n){"use strict";var r=n(1),i={angle:function(t,e){var n=e?t:{x:0,y:0},r=e||t,i={x:r.x-n.x,y:r.y-n.y};return this.angleFromCenter(i.x,i.y)},angleFromCenter:function(t,e){return this.radiansToDegrees(Math.atan2(e,t))},degreesToRadians:function(t){return t*Math.PI/180},dilate:function(t,e,n){return t+(e-t)*n},distance:function(t,e){return"number"==typeof t?this.distance1D(t,e):this.distance2D(t,e)},distance1D:function(t,e){var n="number"==typeof e,r=n?t:0,i=n?e:t;return o(i-r)},distance2D:function(t,e){var n="object"==typeof e,r=n?t:{x:0,y:0},i=n?e:t,s={x:o(i.x-r.x),y:o(i.y-r.y)};return this.hypotenuse(s.x,s.y)},hypotenuse:function(t,e){var n=t*t,r=e*e,i=n+r;return Math.sqrt(i)},offset:function(t,e){var n={};for(var r in e)e.hasOwnProperty(r)&&(t.hasOwnProperty(r)?n[r]=e[r]-t[r]:n[r]=0);return s(n.x)&&s(n.y)&&(n.angle=this.angle(t,e),n.distance=this.distance2D(t,e)),n},pointFromAngleAndDistance:function(t,e,n){var r={};return r.x=n*Math.cos(e)+t.x,r.y=n*Math.sin(e)+t.y,r},progress:function(t,e,n){var r="number"==typeof n,i=r?e:0,s=r?n:e,o=s-i,u=(t-i)/o;return u},radiansToDegrees:function(t){return 180*t/Math.PI},relativeValue:function(t,e){var n=t,i=e.split("="),s=i[0],o=r.splitValUnit(i[1]);switch(s){case"+":n+=o.value;break;case"-":n-=o.value;break;case"*":n*=o.value;break;case"/":n/=o.value}return o.unit&&(n+=o.unit),n},restricted:function(t,e,n){var r=void 0!==e?Math.max(t,e):t;return r=void 0!==n?Math.min(r,n):r},speedPerFrame:function(t,e){return s(t)?t/(1e3/e):0},speedPerSecond:function(t,e){return t*(1e3/e)},value:function(t,e,n){var r="number"==typeof n,i=r?e:0,s=r?n:e;return-t*i+t*s+i},valueEased:function(t,e,n,r){var i=r(t);return this.value(i,e,n)}},s=r.isNum,o=Math.abs;t.exports=i},function(t,e,n){"use strict";var r="X",i="Y",s="transformPerspective",o="scale",u="rotate",a={colors:["Red","Green","Blue","Alpha"],positions:[r,i,"Z"],dimensions:["Top","Right","Bottom","Left"],shadow:[r,i,"Radius","Spread","Color"],valueProps:["current","to","start","min","max"],transformFuncs:["translate",o,u,"skew",s],transformProps:{}};!function(){var t=a.transformFuncs,e=a.transformProps,n=t.length,r=0,i=function(t){var n=a.positions,r=0;if(n)for(;r<n.length;r++)e[t+n[r]]=!0};for(e[u]=e[o]=e[s]=!0;n>r;r++)i(t[r])}(),t.exports=a},function(t,e,n){"use strict";var r=n(5),i=n(7),s=250,o="linear",u=function(t){this.actions=t||[]},a=u.prototype;a.stagger=function(t,e,n,i){var u=this,a=this.actions.length,c=-1;return this._stagger=this._stagger||new r,e=e||s,i=i||o,this._stagger.stop().play({values:{i:{current:c,to:a-1}},round:!0,onChange:function(e){var r=e.i;if(r===c+1)u.actions[r][t](n);else for(var i=c+1;r>=i;i++)u.actions[i][t](n);c=r}},e*a,i),this},a.add=function(t){this.actions.push(new r(t))},function(){for(var t in r.prototype)a[t]=i(t)}(),t.exports=u},function(t,e,n){"use strict";var r=n(8),i=n(53),s=n(19),o=n(13),u=n(18),a=n(6),c=n(24),h=n(25),f=n(1),p=n(41),l=function(t,e){return e&&e!==a.defaultRoute?t+"."+e:t},v=function(){var t=this;t.values={},this.scope=this,t.setProp(h),t.resetProps(),t.process=new o(function(e,n){t.isActive()&&u(t,e,n)}),t.queue=new s,t.output={},t.set(r.generic.apply(t,arguments))};v.prototype={play:function(){var t=r.play.apply(this,arguments);return this.isActive()?this.queue.add.apply(this.queue,arguments):(this.set(t,"to"),this.start("play")),this},set:function(t,e){var n=this;return this.resetProps(),this.clearOrder(),this.setProp(t),e=e||"current",a.shard(function(r,i){var s,o={},u={},a={route:r.name};for(var c in i)if(i.hasOwnProperty(c))if(s=i[c],f.isObj(s)?(u=s,u.name=c):(u={name:c},u[e]=s),u=f.merge(a,u),r.preprocess){o=r.preprocess(c,u,n,t);for(var h in o)n.setValue(h,o[h],t,r.name,!0)}else n.setValue(c,u,t,r.name,!0)},t),n.resetOrigins(),n},resetOrigins:function(){var t=this.values,e="";for(e in t)t.hasOwnProperty(e)&&(t[e].origin=t[e].current)},start:function(t){var e=this.input;return this.resetProgress(),t&&(this.rubix=t),"track"!==t&&e&&e.stop&&e.stop(),this.activate(),this},stop:function(){return this.queue.clear(),this.pause(),this},pause:function(){var t=this,e=this.input;return t.isActive(!1),t.process.stop(),e&&e.stop&&e.stop(),t},seek:function(t){return this.elapsed=this.duration*t,this.isActive()||(this.rubix="seek",this.activate()),this},activate:function(){this.isActive(!0),this.started=f.currentTime()+this.delay,this.framestamp=this.started,this.firstFrame=!0,this.process.start()},resume:function(){var t=this;return t.started=f.currentTime(),t.framestamp=t.started,t.isActive(!0),t.process.start(),t},reset:function(){var t=this,e=t.values;t.resetProgress();for(var n in e)e[n].reset();return t},resetProgress:function(){return this.elapsed=1===this.playDirection?0:this.duration,this.started=f.currentTime(),this},reverse:function(){var t=this.values;this.playDirection=-1*this.playDirection;for(var e in t)t.hasOwnProperty(e)&&t[e].retarget();return this},flipValues:function(){var t=this.values;this.elapsed=this.duration-this.elapsed;for(var e in t)t[e].flip();return this},toggle:function(){return this.isActive()?this.pause():this.resume(),this},next:function(){for(var t=this,e=[{key:"loop",callback:t.reset},{key:"yoyo",callback:t.reverse},{key:"flip",callback:t.flipValues}],n=e.length,r=!1,i=0;n>i;++i)if(t.checkNextStep(e[i].key,e[i].callback)){r=!0;break}return r||t.playNext()?t.isActive(!0):t.stop(),t},checkNextStep:function(t,e){var n="Count",r=!1,i=this[t],s=this[t+n],o=i===!0;return(o||f.isNum(i))&&(++s,this[t+n]=s,(o||i>=s)&&(e.call(this),r=!0)),r},playNext:function(){var t=!1,e=this.queue.next(this.playDirection);return f.isArray(e)&&(this.set(r.generic.apply(this,e),"to").reset(),t=!0),t},setValue:function(t,e,n,r,s){var o=this.getValue(t,r);return t=l(t,r),o?(s&&o.resetProps(),o.set(e,n)):this.values[t]=new i(t,e,n,this),this},getValue:function(t,e){return t=l(t,e),this.values[t]},setProp:function(t,e){var n=arguments.length>1,r=a.getName(),i=n?{}:t,s="";n&&(i[t]=e);for(s in i)i.hasOwnProperty(s)&&s!=r&&(this[s]=i[s]);return this},resetProps:function(){return this.setProp(c),this},isActive:function(t){var e=void 0!==t?t:this.active;return t===!0&&(this.hasChanged=t),this.active=e,e},updateOrder:function(t,e,n){var r,i;n=n||"order",i=this[n]=this[n]||[],r=i.indexOf(t),(-1===r||e)&&(i.push(t),-1!==r&&i.splice(r,1))},clearOrder:function(){this.order=[]},style:function(t,e){var n,r,i=2===arguments.length;return e=i?e:t,t=i?t:"dom",n=this[t],n&&(r=p(n,e)),r===!1?this:r}},t.exports=v},function(t,e,n){"use strict";var r,i=n(23),s=[],o=function(t){return s.indexOf(t)>-1?!0:!1},u={add:function(t,e){return s.push(t),r=s.length,e.makeDefault&&(this.defaultRoute=t),e.name=t,i[t]=e,this},shard:function(t,e){for(var n="",o=0;r>o;o++)n=s[o],(e&&e[n]||!e)&&t(i[n],e[n])},all:i,getName:function(t){return void 0!==t&&o(t)?t:this.defaultRoute}};t.exports=u},function(t,e,n){"use strict";t.exports=function(t){return function(){for(var e,n,r=this.actions.length,i=0,s=!1,o=[];r>i;i++)e=this.actions[i],n=e[t].apply(e,arguments),n!=e&&(s=!0,o.push(n));return s?o:this}}},function(t,e,n){"use strict";var r=n(1),i=n(9),s=n(28),o="string",u="number",a="object",c=function(){var t={},e=[],n=arguments[0],s=arguments[1],u=0,c=[].slice.call(arguments),h=1;if(typeof n==o){if(e=n.split(" "),u=e.length,t=i.getDefined(e[0]),u>1)for(;u>h;h++)c.shift(),c.unshift(e[h]),this.queue.add.apply(this.queue,c);typeof s==a&&(t=r.merge(t,s))}else typeof n==a&&(t=n);return t.playDirection=1,t};t.exports={play:function(){var t,e=c.apply(this,arguments),n=arguments.length,i=0,s="";for(e.loopCount=e.yoyoCount=e.flipCount=0;n>i;i++)t=arguments[i],s=typeof t,s==o&&0!==i?e.ease=t:s==u?e.duration=t:r.isFunc(t)&&(e.onEnd=t);return e},track:function(){for(var t={},e=arguments.length,n=e-1,u=arguments[n],a=0;n>a;a++)t=typeof arguments[a]===o?i.getDefined(arguments[a]):r.merge(t,arguments[a]);return u=u.current?u:new s(u),t.input=u,t.inputOrigin||(t.inputOrigin=u.get()),t},generic:c}},function(t,e,n){"use strict";var r=n(1),i=function(t){for(var e=t.split(o),n=e.length,r=e[0],i=1;n>i;i++)e[i]=r+=o+e[i];return e},s={},o=".",u=function(){};u.prototype={add:function(t,e){var n={},i="";r.isObj(t)?n=t:n[t]=e;for(i in n)n.hasOwnProperty(i)&&(s[i]=n[i])},getDefined:function(t){for(var e={},n={},o=i(t),u=o.length,a=0;u>a;a++)n=s[o[a]],n&&(e=r.merge(e,n));return e}},t.exports=new u},function(t,e,n){t.exports={}},function(t,e,n){"use strict";var r=n(2),i=n(1),s=r.speedPerFrame;t.exports={velocity:function(t,e){return t.velocity-s(t.deceleration,e)+s(t.acceleration,e)},glide:function(t,e,n){var r=-i.currentTime()-n,s=-t.to*Math.exp(r/t.timeConstant);return t.to+s-t.current},friction:function(t,e){var n=s(t.velocity,e)*(1-t.friction);return r.speedPerSecond(n,e)},spring:function(t,e){var n=t.to-t.current;return t.velocity+=n*s(t.spring,e),this.friction(t,e)},bounce:function(t){var e=0,n=t.to,r=t.current,i=t.bounce;return"glide"===t.simulate&&(e=n-r,t.to=r-e*i),t.velocity*=-i},capture:function(t,e){t.to=e,t.simulate="spring",t.capture=t.min=t.max=void 0}}},function(t,e,n){"use strict";var r=n(2),i=n(1),s=n(54),o=function(){var t=arguments.length-1;this.current={},this.offset={},this.velocity={},this.history=new s,this.update(arguments[0],arguments[1]),i.isFunc(arguments[t])&&(this.poll=arguments[t])};o.prototype={maxInactiveFrames:2,inactiveFrames:0,get:function(t){var e=this.history.get(),n=void 0!==t?e[t]:e;return n},update:function(t,e){var n={};return i.isNum(e)?n[t]=e:n=t,this.history.add(i.merge(this.current,n)),this},onFrame:function(t){var e,n;if(t!==this.lastFrame)return e=this.poll?this.poll():this.history.get(),n=i.hasChanged(this.current,e),n?(this.velocity=r.offset(this.current,e),this.current=e,this.inactiveFrames=0):this.inactiveFrames>=this.maxInactiveFrames?this.velocity=r.offset(this.current,this.current):this.inactiveFrames++,this.lastFrame=t,this}},t.exports=o},function(t,e,n){"use strict";var r=n(31),i=function(t,e){var n=void 0!==e,i=n?e:t,s=n?t:this;this.setCallback(i),this.setScope(s),this.setId(r.register(this))};i.prototype={isActive:!1,isKilled:!1,fire:function(t,e){return this.isActive&&this.callback.call(this.scope,t,e),this.isInterval&&this.deactivate(),this},setCallback:function(t){return this.callback=t,this},setScope:function(t){return this.scope=t,this},start:function(t){var e=this;return this.reset(),this.activate(),t&&(this.stopTimer=setTimeout(function(){e.stop()},t),this.isStopTimerActive=!0),this},stop:function(){return this.reset(),this.deactivate(),this},activate:function(){return this.isKilled||(this.isActive=!0,r.activate(this.id)),this},deactivate:function(){return this.isActive=!1,r.deactivate(this.id),this},every:function(t){var e=this;return this.reset(),this.isInterval=!0,this.intervalTimer=setInterval(function(){e.activate()},t),this.isIntervalTimeActive=!0,this},reset:function(){return this.isInterval=!1,this.isStopTimerActive&&clearTimeout(this.stopTimer),this.isIntervalTimeActive&&clearInterval(this.intervalTimer),this},kill:function(){this.stop(),this.isKilled=!0,r.kill(this.id)},setId:function(t){return this.id=t,this}},t.exports=i},function(t,e,n){"use strict";var r="colors",i="positions",s="transform",o="dimensions",u="shadow";t.exports={color:r,backgroundColor:r,borderColor:r,borderTopColor:r,borderRightColor:r,borderBottomColor:r,borderLeftColor:r,outlineColor:r,fill:r,stroke:r,margin:o,padding:o,backgroundPosition:i,perspectiveOrigin:i,transformOrigin:i,skew:s,translate:s,rotate:s,scale:s,textShadow:u,boxShadow:u}},function(t,e,n){"use strict";var r=n(2),i=n(16),s=n(1),o="current",u="hasEnded";t.exports={updateInput:function(t,e){t.elapsed+=e*t.dilate*t.playDirection,t[u]=!0},process:function(t,e,n,a){var c,h,f=e.to,p=e[o];return void 0!==f&&(c=r.restricted(r.progress(a.elapsed-e.delay,e.duration)-e.stagger,0,1),h=1===a.playDirection?1:0,c!==h?a[u]=!1:e.to=void 0,e.steps&&(c=s.stepProgress(c,e.steps,e.stepDirection)),p=i.withinRange(c,e.origin,f,e.ease)),p},hasEnded:function(t){return t[u]}}},function(t,e,n){"use strict";var r=n(2),i=n(52),s=": Not defined",o="In",u="Out",a=o+u,c=["ease","cubic","quart","quint"],h=function(t){return function(e){return Math.pow(e,t)}},f={circ:function(t){return 1-Math.sin(Math.acos(t))},back:function(t){var e=1.5;return t*t*((e+1)*t-e)}},p=function(t,e){return.5>=t?e(2*t)/2:(2-e(2*(1-t)))/2},l=function(t,e){return 1-e(1-t)},v=function(t,e,n){var r=t+o,i=t+u,s=t+a,c=n?r:i,h=n?i:r;d[c]=e,d[h]=function(t){return l(t,d[c])},d[s]=function(t){return p(t,d[c])}},d={get:function(t){var e=this[t];if(!e)throw t+s;return e},add:function(t,e,n,r,s){this[t]||(this[t]=new i(e,n,r,s))},withinRange:function(t,e,n,i,s){var o=r.restricted(t,0,1);return o!==t&&s&&(i="linear",o+=(t-o)*s),r.valueEased(o,e,n,this.get(i))},linear:function(t){return t}};!function(){for(var t=0,e="";4>t;t++)f[c[t]]=h(t+2);for(e in f)f.hasOwnProperty(e)&&v(e,f[e],!0)}(),t.exports=d},function(t,e,n){"use strict";var r=n(4);t.exports=function(t){var e=new r,n=[],i=0,s=0,o="string"==typeof t?document.querySelectorAll(t):t;for(o.get?n=o.get():o.length?n=[].slice.call(o):n.push(o),i=n.length;i>s;s++)e.add({dom:n[s]});return e}},function(t,e,n){"use strict";var r=n(10),i=n(6),s=n(2);t.exports=function(t,e,n){var o,u,a=t.values,c=r[t.rubix],h=c,f=i.getName(),p=0,l=t.order=t.order||[],v=l.length,d="";for(c.updateInput&&c.updateInput(t,n),t.firstFrame&&i.shard(function(e,n){e.onStart&&e.onStart(n,t,a)},t),t.input&&(t.output.input=t.input.onFrame(e));v>p;p++)d=l[p],o=a[d],h=c,o.link&&(h=r.link),u=h.process(d,o,a,t,n),h.limit&&(u=h.limit(u,o)),o.round&&(u=Math.round(u)),o.frameChange=u-o.current,h.calculatesVelocity||(o.velocity=s.speedPerSecond(o.frameChange,n)),o.speed=Math.abs(o.velocity),o.current!=u&&(t.hasChanged=!0),o.current=u,t.output[o.route]=t.output[o.route]||{},t.output[f]=t.output[f]||{},t.output[f][d]=t.output[o.route][o.name]=o.unit?u+o.unit:u;i.shard(function(e,n){e.onFrame&&e.onFrame(n,t,a),(t.hasChanged&&e.onChange||t.firstFrame)&&e.onChange(n,t,a)},t.output),c.hasEnded(t,t.hasChanged)?(t.isActive(!1),i.shard(function(e,n){e.onEnd&&e.onEnd(n,t,a)},t.output),t.isActive()||"play"!==t.rubix||t.next()):t.hasChanged=!1,t.firstFrame=!1,t.framestamp=e}},function(t,e,n){"use strict";var r=function(){this.clear()};r.prototype={add:function(){this.queue.push([].slice.call(arguments))},next:function(t){var e=this.queue,n=!1,r=this.index;return t=arguments.length?t:1,r>=0&&r<e.length?(n=e[r],this.index=r+t):this.clear(),n},clear:function(){this.queue=[],this.index=0}},t.exports=r},function(t,e,n){"use strict";var r=n(11);t.exports=function(t,e,n,i){var s=r[t](e,n,i);return Math.abs(s)>=e.stopSpeed?s:0}},function(t,e,n){"use strict";var r=n(5).prototype,i=n(4).prototype,s=n(7),o=n(8),u=n(10);t.exports=function(t,e){var n=o[t]||o.generic;e.surpressMethod||r[t]||(r[t]=function(){return this.set(n.apply(this,arguments)),this.start(t)},i[t]=s(t)),u[t]=e}},function(t,e,n){"use strict";var r=n(11);t.exports=function(t,e){r[t]=e}},function(t,e,n){t.exports={}},function(t,e,n){t.exports={rubix:"play",amp:1,escapeAmp:0,delay:0,duration:400,ease:"easeInOut",dilate:1,inactiveFrames:0,maxInactiveFrames:3,loop:!1,yoyo:!1,flip:!1,onStart:void 0,onChange:void 0,onFrame:void 0,onEnd:void 0}},function(t,e,n){t.exports={active:!1,progress:0,elapsed:0,playDirection:1,flipCount:0,loopCount:0,yoyoCount:0}},function(t,e,n){t.exports={to:void 0,min:void 0,max:void 0,origin:0,hasRange:!1,round:!1,route:"values",name:"",unit:void 0,parent:"",unitName:"",link:void 0,mapLink:void 0,mapTo:void 0,amp:1,simulate:"velocity",deceleration:0,acceleration:0,bounce:0,spring:80,timeConstant:395,stopSpeed:10,capture:!1,friction:.05,duration:400,delay:0,stagger:0,ease:"easeInOut",steps:0,stepDirection:"end",escapeAmp:0}},function(t,e,n){t.exports={current:0,speed:0,velocity:0,frameChange:0}},function(t,e,n){"use strict";var r,i=n(12),s="touchmove",o="mousemove",u=function(t,e){var n=e?t.changedTouches[0]:!1;return{x:n?n.clientX:t.pageX,y:n?n.clientY:t.pageY}},a=function(t){return t.originalEvent||t},c=function(t){var e=a(t),n=e.touches?!0:!1,r=u(e,n);this.update(r),this.isTouch=n,this.bindEvents()},h=c.prototype=new i;h.bindEvents=function(){this.moveEvent=this.isTouch?s:o,r=this,document.documentElement.addEventListener(this.moveEvent,this.onMove)},h.unbindEvents=function(){document.documentElement.removeEventListener(this.moveEvent,this.onMove)},h.onMove=function(t){var e=u(t,r.isTouch);t=a(t),t.preventDefault(),r.update(e)},h.stop=function(){this.unbindEvents()},t.exports=c},function(t,e,n){"use strict";var r=n(34);r.addRubix("fire",n(47)).addRubix("link",n(48)).addRubix("play",n(15)).addRubix("run",n(49)).addRubix("seek",n(50)).addRubix("track",n(51)).addRoute("values",n(46)).addRoute("css",n(36)).addRoute("attr",n(35)).addRoute("path",n(43)),t.exports=r},function(t,e,n){"use strict";var r=n(33),i=n(32),s=function(){this.timer=new r};s.prototype={isRunning:!1,frame:function(){var t=this;i(function(){var e=t.timer.update(),n=t.callback.call(t.scope,e,t.timer.getElapsed());n?t.frame(!0):t.stop()})},start:function(){this.isRunning||(this.timer.clock(),this.isRunning=!0,this.frame())},stop:function(){this.isRunning=!1},setCallback:function(t,e){this.scope=t,this.callback=e}},t.exports=new s},function(t,e,n){"use strict";var r=n(30),i=function(){this.all={},this.active=[],this.deactivateQueue=[],r.setCallback(this,this.fireActive)};i.prototype={processCounter:0,activeCount:0,getProcess:function(t){return this.all[t]},getActiveCount:function(){return this.activeCount},getActive:function(){return this.active},getQueueLength:function(){return this.deactivateQueue.length},fireActive:function(t,e){var n,r=0,i=[];this.purge(),r=this.getActiveCount(),i=this.getActive();for(var s=0;r>s;s++)n=this.getProcess(i[s]),n&&n.fire(t,e);return this.purge(),r=this.getActiveCount(),r?!0:!1},register:function(t){var e=this.processCounter;return this.all[e]=t,this.processCounter++,e},activate:function(t){var e=this.deactivateQueue.indexOf(t),n=e>-1,i=this.active.indexOf(t)>-1;n&&this.deactivateQueue.splice(e,1),i||(this.active.push(t),this.activeCount++,r.start(this))},deactivate:function(t){this.deactivateQueue.push(t)},purge:function(){for(var t,e=this.getQueueLength();e--;)t=this.active.indexOf(this.deactivateQueue[e]),t>-1&&(this.active.splice(t,1),this.activeCount--);this.deactivateQueue=[]},kill:function(t){delete this.all[t]}},t.exports=new i},function(t,e,n){"use strict";var r,i=0,s="undefined"!=typeof window;r=s?window.requestAnimationFrame:function(t){var e=(new Date).getTime(),n=Math.max(0,16-(e-i)),r=setTimeout(function(){t(e+n)},n);return i=e+n,r},t.exports=r},function(t,e,n){"use strict";var r=n(1),i=33,s=function(){this.elapsed=16.7,this.current=r.currentTime(),this.update()};s.prototype={update:function(){return this.prev=this.current,this.current=r.currentTime(),this.elapsed=Math.min(this.current-this.prev,i),this.current},getElapsed:function(){return this.elapsed},clock:function(){this.current=r.currentTime()}},t.exports=s},function(t,e,n){"use strict";var r=n(5),i=n(4),s=n(17),o=n(12),u=n(13),a=n(9),c=n(16),h=n(2),f=n(1),p=n(6),l=n(21),v=n(22);t.exports={newAction:function(t){return f.isArray(t)?new i(t):new r(t)},newInput:function(){return new o(arguments[0],arguments[1])},newProcess:function(){return new u(arguments[0],arguments[1])},dom:function(t){return s(t)},addPreset:function(){return a.add.apply(a,arguments),this},addBezier:function(){return c.add.apply(c,arguments),this},addRoute:function(){return p.add.apply(p,arguments),this},addSimulation:function(){return v.apply(this,arguments),this},addRubix:function(){return l.apply(this,arguments),this},calc:h,utils:f}},function(t,e,n){"use strict";t.exports={onChange:function(t,e){var n=e.dom;if(n)for(var r in t)n.setAttribute(r,t[r])}}},function(t,e,n){"use strict";var r=n(37),i=n(39),s="css",o=s+"Order",u=s+"Cache";t.exports={preprocess:function(t,e,n){var r=i(t,e,n);return n.updateOrder(t,!1,o),r},onChange:function(t,e,n){e[u]=e[u]||{},e.style(r(t,e[o],e[u],n))}}},function(t,e,n){"use strict";var r=n(3),i=n(42),s=n(14),o="transform",u="translateZ",a=function(t,e,n){var r=n?o:s[t],u=i[r];return u?u(t,e):e[t]};t.exports=function(t,e,n){for(var i={},s=e.length,c=!1,h=r.transformProps,f=0,p="",l="",v="";s>f;f++)l=e[f],p=a(l,t,h[l]),h[l]?(v+=p+" ",c=l===u?!0:c):n[l]!==p&&(i[l]=p,n[l]=p);return""!=v&&v!=n[o]&&(c||(v+=" "+u+"(0px)"),i[o]=n[o]=v),i}},function(t,e,n){"use strict";var r={min:0,max:255,round:!0},i={min:0,max:1},s={unit:"deg"},o={},u={base:{unit:"px"},color:r,Red:r,Green:r,Blue:r,Alpha:i,opacity:i,scale:o,scaleX:o,scaleY:o,scaleZ:o,skew:s,skewX:s,skewY:s,rotate:s,rotateX:s,rotateY:s,rotateZ:s};t.exports=u},function(t,e,n){"use strict";var r=n(38),i=n(3),s=n(14),o=n(40),u=n(1),a=i.valueProps,c=a.length,h=function(t,e){return"function"==typeof t&&(t=t.call(e)),t},f=function(t,e,n,i,s){var o=r[e+n]||r[n]||r[e]||r.base;return s=s||a[0],i&&(o=u.merge(i,o)),u.isObj(t)?o=u.merge(o,t):o[s]=t,o.name=n?e+n:e,o},p=function(t,e,n,r){var i={},s={},o={},p="",l="",v=0;if(u.isObj(e)){for(;c>v;v++)if(p=a[v],e.hasOwnProperty(p)){s=n(h(e[p],r));for(l in s)i[l]=i[l]||{},i[l][p]=s[l]}}else i=n(h(e,r));for(l in i)o[t+l]=f(i[l],t,l,e);return o};t.exports=function(t,e,n){var r,i=s[t],u=o[i];return r=u?p(t,e,u,n):{},u||(r[t]=f(e,t)),r}},function(t,e,n){"use strict";var r=n(3),i=n(1),s=function(t){return i.isString(t)?t.split(/,\s*/):[t]},o=function(t){return i.isString(t)?t.split(" "):[t]},u=function(t){return t.substring(t.indexOf("(")+1,t.lastIndexOf(")"))},a=function(t){var e,n,r;return t.length>4?(e=t.substr(1,2),n=t.substr(3,2),r=t.substr(5,2)):(e=t.substr(1,1),n=t.substr(2,1),r=t.substr(3,1),e+=e,n+=n,r+=r),[parseInt(e,16),parseInt(n,16),parseInt(r,16),1]},c=function(t){return t.indexOf("#")>-1||t.indexOf("rgb")>-1},h={array:function(t){for(var e=t.indexOf(",")>-1?s(t):o(t),n=e.length,r=0,i={};n>r;r++)i[r]=e[r];return i},colors:function(t){for(var e=t.indexOf("#")>-1?a(t):s(u(t)),n=r.colors,i=n.length,o=0,c={};i>o;o++)e[o]=e[o]||0===e[o]?e[o]:1,c[n[o]]=e[o];return c},dimensions:function(t){for(var e,n=o(t),i=n.length,s=r.dimensions,u=1!==i?2:1,a=e=0,c={};4>e;e++)c[s[e]]=n[a],a++,a=a===i?a-u:a;return c},positions:function(t){var e=o(t),n=e.length,r={X:e[0],Y:n>1?e[1]:e[0]};return n>2&&(r.Z=e[2]),r},shadow:function(t){for(var e,n,i,s,u=o(t),a=u.length,f=r.shadow,p="",l=0,v={};a>l;l++)n=u[l],e||c(n)?(e=!0,p+=n):v[f[l]]=n;i=h.colors(p);for(var s in i)v[s]=i[s];return v},perspective:function(t){return this.array(t)}};t.exports=h},function(t,e,n){"use strict";var r=function(){var t,e=["Webkit","Moz","O","ms",""],n=e.length,r={},i=function(i){r[i]=i;for(var s=0;n>s;s++){var o=e[s]+i.charAt(0).toUpperCase()+i.slice(1);t.style.hasOwnProperty(o)&&(r[i]=o)}return r[i]};return function(e,n){if(t=t||document.getElementsByTagName("body")[0],"string"==typeof n)return window.getComputedStyle(e,null)[r[n]||i(n)];for(var s in n)n.hasOwnProperty(s)&&(e.style[r[s]||i(s)]=n[s]);return!1}};t.exports=new r},function(t,e,n){"use strict";var r=n(3),i={Alpha:1},s=function(t,e){return e+"("+t+")"},o=function(t,e,n){return a(t,e,n," ")},u=function(t,e,n){return a(t,e,n,", ").slice(0,-2)},a=function(t,e,n,r){for(var s="",o="",u=n.length,a=0;u>a;a++)o=t+n[a],void 0!==e[o]?s+=e[o]:void 0!==i[n[a]]&&(s+=i[n[a]]),s+=r;return s},c={colors:function(t,e){return s(u(t,e,r.colors),"rgba")},dimensions:function(t,e){return o(t,e,r.dimensions)},positions:function(t,e){return o(t,e,r.positions)},shadow:function(t,e){var n=r.shadow.slice(0,4);return o(t,e,n)+c.colors(t,e)},transform:function(t,e){return t+"("+e[t]+")"}};t.exports=c},function(t,e,n){"use strict";var r=n(44);t.exports={onStart:function(t,e){e.dom&&(e.pathLength=e.dom.getTotalLength())},onChange:function(t,e){e.style(r(t,e.pathLength))}}},function(t,e,n){"use strict";var r=n(45),i=function(t,e){return parseFloat(t)/100*e+"px"};t.exports=function(t,e){var n=!1,s="",o={length:0,spacing:e+"px"},u={};for(var a in t)if(t.hasOwnProperty(a))switch(s=r[a],a){case"length":case"spacing":n=!0,o[a]=i(t[a],e);break;case"offset":u[s]=i(-t[a],e);break;default:u[s]=t[a]}return n&&(u[r.length]=o.length+" "+o.spacing),u}},function(t,e,n){var r="stroke",i=r+"-dash",s=i+"array";t.exports={opacity:r+"-opacity",width:r+"-width",offset:i+"offset",length:s,spacing:s,miterlimit:r+"-miterlimit"}},function(t,e,n){"use strict";var r=function(t,e,n){n[t]&&n[t].call(n.scope,e)};t.exports={makeDefault:!0,onStart:function(t,e){e.onStart&&e.onStart.call(e.scope)},onFrame:function(t,e,n){r("onFrame",t,e,n)},onChange:function(t,e,n){r("onChange",t,e,n)},onEnd:function(t,e,n){r("onEnd",t,e,n)}}},function(t,e,n){"use strict";t.exports={process:function(t,e){return e.current},hasEnded:function(){return!0}}},function(t,e,n){"use strict";var r=n(2),i="string",s=function(t,e,n,s,o){for(var u,a,c,h,f=s.length,p=1;f>p;p++)if(u=typeof s[p-1]===i?e[s[p-1]]:s[p-1],a=typeof s[p]===i?e[s[p]]:s[p],c=typeof o[p-1]===i?n[o[p-1]]:o[p-1],h=typeof o[p]===i?n[o[p]]:o[p],a>t||p===f-1){t=r.value(r.restricted(r.progress(t,u,a),0,1),c,h);break}return t};t.exports={surpressMethod:!0,process:function(t,e,n,r){var i=e.current,o=e.link,u=n[o]?n[o]:{},a=r.inputOffset;return a&&a.hasOwnProperty(o)?i=e.origin+a[o]*e.amp:void 0!==u.current&&t!==o&&(i=u.current),e.mapLink&&e.mapTo&&(i=s(i,u,e,e.mapLink,e.mapTo)),i},limit:function(t,e){return r.restricted(t,e.min,e.max)}}},function(t,e,n){"use strict";var r=n(2),i=n(20);t.exports={calculatesVelocity:!0,process:function(t,e,n,s,o){return e.velocity=i(e.simulate,e,o,s.started),e.current+r.speedPerFrame(e.velocity,o)},hasEnded:function(t,e){return t.inactiveFrames=e?0:t.inactiveFrames+1,t.inactiveFrames>t.maxInactiveFrames},limit:function(t,e){var n=t>=e.max,s=t<=e.min,o=n||s;return o&&(t=r.restricted(t,e.min,e.max),e.bounce?e.velocity=i("bounce",e):e.capture&&i("capture",e,n?e.max:e.min)),t}}},function(t,e,n){"use strict";var r=n(15);t.exports={process:r.process,hasEnded:function(t){return t.rubix="play",!0}}},function(t,e,n){"use strict";var r=n(2),i="current",s="inputOffset";t.exports={updateInput:function(t){t[s]=r.offset(t.inputOrigin,t.input[i])},process:function(t,e,n,r){return r[s].hasOwnProperty(t)?e.origin+r[s][t]:e[i]},hasEnded:function(){return!1}}},function(t,e,n){(function(e){"use strict";var n=8,r=.001,i=1e-7,s=10,o=11,u=1/(o-1),a="Float32Array"in e,c=function(t,e){return 1-3*e+3*t},h=function(t,e){return 3*e-6*t},f=function(t){return 3*t},p=function(t,e,n){return 3*c(e,n)*t*t+2*h(e,n)*t+f(e)},l=function(t,e,n){return((c(e,n)*t+h(e,n))*t+f(e))*t},v=function(t,e,c,h){var f=a?new Float32Array(o):new Array(o),v=!1,d=function(e,n,r){var o,u,a=0;do u=n+(r-n)/2,o=l(u,t,c)-e,o>0?r=u:n=u;while(Math.abs(o)>i&&++a<s);return u},g=function(e,r){for(var i,s=0,o=0;n>s;++s){if(o=p(r,t,c),0===o)return r;i=l(r,t,c)-e,r-=i/o}return r},m=function(){for(var e=0;o>e;++e)f[e]=l(e*u,t,c)},y=function(e){for(var n=0,i=1,s=o-1,a=0,h=0,l=0;i!=s&&f[i]<=e;++i)n+=u;return--i,a=(e-f[i])/(f[i+1]-f[i]),h=n+a*u,l=p(h,t,c),l>=r?g(e,h):0===l?h:d(e,n,n+u)},x=function(){v=!0,(t!=e||c!=h)&&m()},b=function(n){var r;return v||x(),r=t===e&&c===h?n:0===n?0:1===n?1:l(y(n),e,h)};return b};t.exports=v}).call(e,function(){return this}())},function(t,e,n){"use strict";var r=n(26),i=n(27),s=n(55),o=n(1),u="current",a="origin",c=[u,a,"to","start"],h=function(t,e){var n={};return 1===arguments.length?n[u]=t:n[t]=e,n},f=function(t,e,n,s){this.key=t,this.action=s,this.scope=s.scope,e.start&&(e.current=e.start),this._set(r),this._set(i),this.set(e,n)};f.prototype={set:function(){return this._set.apply(this,arguments),this.action.updateOrder(this.key,o.isString(this.link)),this},_set:function(){var t=o.isObj(arguments[0]),e=t?arguments[0]:h.apply(self,arguments),n=t?arguments[1]:!1,i={},u="";if(n)for(u in n)r.hasOwnProperty(u)&&(i[u]=n[u]);for(u in e)i[u]=e[u];for(u in i)this[u]=s(i[u],this.current,this,this.scope),c.indexOf(u)>-1&&(this[u]=parseFloat(this[u])),"to"===u&&(this.target=this.to);return this.hasRange=o.isNum(this.min)&&o.isNum(this.max)?!0:!1,this},reset:function(){return this._set("to",this.target),this._set(u,this[a])},resetProps:function(){this.set(r)},flip:function(){var t=this[a],e=void 0!==this.target?this.target:this[u];return this.set({to:t,origin:e})},retarget:function(t){return t=void 0!==t?t:this.target,this.set("to",t)}},t.exports=f},function(t,e,n){"use strict";var r=3,i=function(t,e){this.max=e||r,this.entries=[],this.add(t)};i.prototype={add:function(t){var e=this.getSize();this.entries.push(t),e>=this.max&&this.entries.shift()},get:function(t){return t="number"==typeof t?t:this.getSize()-1,this.entries[t]},getPrevious:function(){return this.get(this.getSize()-2)},getSize:function(){return this.entries.length}},t.exports=i},function(t,e,n){"use strict";var r=n(2),i=n(1);t.exports=function(t,e,n,s){var o={};return e=e||0,"function"==typeof t&&(t=t.call(s,e)),t&&t.indexOf&&t.indexOf("=")>0&&(t=r.relativeValue(e,t)),"string"==typeof t&&(o=i.splitValUnit(t),isNaN(o.value)||(t=o.value,n.unit=o.unit)),t}}]);