Skip to content

Instantly share code, notes, and snippets.

@douglasduteil
Created July 29, 2014 07:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save douglasduteil/994a4ff53c215fa464b4 to your computer and use it in GitHub Desktop.
Save douglasduteil/994a4ff53c215fa464b4 to your computer and use it in GitHub Desktop.
A web-animations/web-animations-next build version (247654e00c2371eede3eea53240e06049cae8de5)
// Copyright 2014 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
!function(a,b){b["true"]=a;var c={},d={},e={},f=null;!function(a,b,c){function d(a,b){var c={delay:0,endDelay:0,fill:b?"both":"none",iterationStart:0,iterations:1,duration:b?"auto":0,playbackRate:1,direction:"normal",easing:"linear"};return"number"==typeof a?c.duration=a:void 0!==a&&Object.getOwnPropertyNames(a).forEach(function(b){if("auto"!=a[b]){if("number"==typeof c[b]&&"number"!=typeof a[b]&&"duration"!=b)return;if("fill"==b&&-1==q.indexOf(a[b]))return;if("direction"==b&&-1==r.indexOf(a[b]))return;c[b]=a[b]}}),c.easing=g(c.easing),c}function e(a,b,c,d){return 0>a||a>1||0>c||c>1?z:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function f(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function g(a){var b=x.exec(a);if(b)return e.apply(this,b.slice(1).map(Number));var c=y.exec(a);if(c)return f(Number(c[1]),{start:s,middle:t,end:u}[c[2]]);var d=v[a];return d?d:z}function h(a){return Math.abs(i(a)/a.playbackRate)}function i(a){return a.duration*a.iterations}function j(a,b,c){return null==b?A:b<c.delay?B:b>=c.delay+a?C:D}function k(a,b,c,d,e){switch(d){case B:return"backwards"==b||"both"==b?0:null;case D:return c-e;case C:return"forwards"==b||"both"==b?a:null;case A:return null}}function l(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function m(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function n(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function o(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function p(a,b,c){var d=j(a,b,c),e=k(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===B?0:1;var f=c.iterationStart*c.duration,g=l(a,e,f,c),h=m(c.duration,i(c),g,f,c),p=n(c.duration,h,g,c);return o(p,c.duration,h,c)/c.duration}var q="backwards|forwards|both".split("|"),r="reverse|alternate|alternate-reverse".split("|"),s=1,t=.5,u=0,v={ease:e(.25,.1,.25,1),"ease-in":e(.42,0,1,1),"ease-out":e(0,0,.58,1),"ease-in-out":e(.42,0,.58,1),"step-start":f(1,s),"step-middle":f(1,t),"step-end":f(1,u)},w="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",x=new RegExp("cubic-bezier\\("+w+","+w+","+w+","+w+"\\)"),y=/step\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,z=function(a){return a},A=0,B=1,C=2,D=3;a.normalizeTimingInput=d,a.calculateActiveDuration=h,a.calculateTimeFraction=p,b.AnimationNode=function(a){var b=h(a),c=function(c){return p(b,c,a)};return c._totalDuration=a.delay+b+a.endDelay,c._isCurrent=function(c){var d=j(b,c,a);return d===D||d===B},c}}(c,d,f),function(a,b,c){function d(a){function b(){var a=c.length;null==c[a-1].offset&&(c[a-1].offset=1),a>1&&null==c[0].offset&&(c[0].offset=0);for(var b=0,d=c[0].offset,e=1;a>e;e++){var f=c[e].offset;if(null!=f){for(var g=1;e-b>g;g++)c[b+g].offset=d+(f-d)*g/(e-b);b=e,d=f}}}if(!Array.isArray(a)&&null!==a)throw new TypeError("Keyframe effect must be null or an array of keyframes");if(null==a)return[];for(var c=a.map(function(a){var b={};for(var c in a){var d=a[c];if("offset"==c){if(null!=d&&(d=Number(d),!isFinite(d)))throw new TypeError("keyframe offsets must be numbers.")}else d=""+d;b[c]=d}return void 0==b.offset&&(b.offset=null),b}),d=!0,e=!0,f=-1/0,g=0;g<c.length;g++){var h=c[g].offset;null!=h?(f>h&&(e=!1),f=h):d=!1}if(c=c.filter(function(a){return a.offset>=0&&a.offset<=1}),!e){if(!d)throw"Keyframes are not loosely sorted by offset. Sort or specify offsets.";c.sort(function(a,b){return a.offset-b.offset})}return d||b(),c}function e(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d){var e={offset:a[c].offset,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw"Partial keyframes are not supported"}return b}function f(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++)c.push({startTime:e[f].offset,endTime:e[f+1].offset,property:d,interpolation:b.propertyInterpolation(d,e[f].value,e[f+1].value)});return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(a){var c=d(a),g=e(c),h=f(g);return function(a,c){if(null!=c)for(var d=0;d<h.length&&h[d].startTime<=c;d++)h[d].endTime>=c&&h[d].endTime!=h[d].startTime&&b.apply(a,h[d].property,h[d].interpolation((c-h[d].startTime)/(h[d].endTime-h[d].startTime)));else for(var e in g)"offset"!=e&&b.clear(a,e)}},a.normalizeKeyframes=d}(c,d,f),function(a){function b(a,b,c){for(var e=0;e<c.length;e++){var f=c[e];d[f]=d[f]||[],d[f].push([a,b])}}function c(b,c,e){for(var f=c==e?[]:d[b],g=0;f&&g<f.length;g++){var h=f[g][0](c),i=f[g][0](e);if(void 0!==h&&void 0!==i){var j=f[g][1](h,i);if(j)return a.Interpolation.apply(null,j)}}return a.Interpolation(!1,!0,function(a){return a?e:c})}var d={};a.addPropertiesHandler=b,a.propertyInterpolation=c}(d,f),function(a,b){b.Animation=function(c,d,e){var f,g=b.AnimationNode(a.normalizeTimingInput(e)),h=b.convertEffectInput(d),i=function(){h(c,f)};return i._update=function(a){return f=g(a),null!==f},i._clear=function(){h(c,null)},i._hasSameTarget=function(a){return c===a},i._isCurrent=g._isCurrent,i._totalDuration=g._totalDuration,i},b.NullAnimation=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){function b(a){return c[a]||a}var c={};["webkitTransform","msTransform","transform"].forEach(function(a){a in document.documentElement.style&&(c.transform=a)}),a.apply=function(a,c,d){a.style[b(c)]=d},a.clear=function(a,c){a.style[b(c)]=""}}(d,f),function(a,b){function c(a){a=a.trim(),f.fillStyle="#000",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle="#fff",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(c(b[3])),"rgba("+b.join(",")+")"}]}var e=document.createElement("canvas");e.width=e.height=1;var f=e.getContext("2d");a.addPropertiesHandler(c,d,["color","backgroundColor"])}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(b,c){var d,e=[];for(d in b)e.push(d);for(d in c)e.indexOf(d)<0&&e.push(d);return b=e.map(function(a){return b[a]||0}),c=e.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(b,c){return a.numberToString(b)+e[c]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var e="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",f=c.bind(null,new RegExp(e,"g")),g=c.bind(null,new RegExp(e+"|%","g")),h=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=f,a.parseLengthOrPercent=g,a.parseAngle=h,a.mergeDimensions=d,a.addPropertiesHandler(g,d,"left|right|top|bottom|width|height".split("|"))}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.Animation(this,b,c))},window.Element.prototype.getAnimationPlayers=function(){return document.timeline.getAnimationPlayers().filter(function(a){return a._source._hasSameTarget(this)}.bind(this))}}(d),function(a,b){function c(a,b,d){if("number"==typeof a&&"number"==typeof b)return a*(1-d)+b*d;if("boolean"==typeof a&&"boolean"==typeof b)return.5>d?a:b;if(a.length==b.length){for(var e=[],f=0;f<a.length;f++)e.push(c(a[f],b[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+b}a.Interpolation=function(a,b,d){return function(e){return d(c(a,b,e))}}}(d,f),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}a.addPropertiesHandler(d,f(0,1),["opacity"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a,b){var c=0,d=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Player=function(a){this._sequenceNumber=c++,this._currentTime=0,this._startTime=0/0,this.paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._source=a,this._inEffect=this._source._update(0)},b.Player.prototype={_ensureAlive:function(){this._inEffect=this._source._update(this._currentTime),!this._inTimeline&&this._inEffect&&(this._inTimeline=!0,document.timeline._players.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this.finished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._currentTime},set currentTime(a){b.restart()&&(this._startTime=0/0),this.paused||isNaN(this._startTime)||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTime!=a&&(this._tickCurrentTime(a,!0),b.invalidateEffects())},get startTime(){return this._startTime},set startTime(a){this.paused||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.invalidateEffects())},get playbackRate(){return this._playbackRate},get finished(){return this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0},get _totalDuration(){return this._source._totalDuration},play:function(){this.paused=!1,this.finished&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,b.invalidateEffects()),this._finishedFlag=!1,this._startTime=b.restart()?0/0:this._timeline.currentTime-this._currentTime/this._playbackRate,this._ensureAlive()},pause:function(){this.paused=!0,this._startTime=0/0},finish:function(){this.currentTime=this._playbackRate>0?this._totalDuration:0},cancel:function(){this._source=b.NullAnimation(this._source._clear),this._inEffect=!1,this.currentTime=0},reverse:function(){this._playbackRate*=-1,this._startTime=b.restart()?0/0:this._timeline.currentTime-this._currentTime/this._playbackRate,this._inTimeline||(this._inTimeline=!0,document.timeline._players.push(this)),this._finishedFlag=!1,this._ensureAlive()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this.finished;if(b&&!this._finishedFlag){var c=new d(this,this.currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(c.target,c)})},0)}this._finishedFlag=b},_tick:function(a){return!this.paused&&isNaN(this._startTime)?this.startTime=a-this._currentTime/this.playbackRate:this.paused||this.finished||this._tickCurrentTime((a-this._startTime)*this.playbackRate),this._fireEvents(a),!this.finished||this._inEffect}}}(c,d,f),function(a,b,c){function d(a){var b=i;i=[],g(a),b.forEach(function(b){b(a)}),l&&g(a),f()}function e(a,b){return a._sequenceNumber-b._sequenceNumber}function f(){m.forEach(function(a){a()})}function g(a){k=!1;var b=window.document.timeline;b.currentTime=a,b._players.sort(e),j=!1;var c=b._players;b._players=[];var d=[],f=[];c=c.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?f.push(b._source):d.push(b._source),b.finished||b.paused||(j=!0),b._inTimeline}),m.length=0,m.push.apply(m,d),m.push.apply(m,f),b._players.push.apply(b._players,c),l=!1,j&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[];window.requestAnimationFrame=function(a){0==i.length&&h(d),i.push(a)},b.AnimationTimeline=function(){this._players=[],this.currentTime=void 0},b.AnimationTimeline.prototype={_play:function(a){var c=new b.Player(a);return c._timeline=this,this._players.push(c),b.restart(),b.invalidateEffects(),c},getAnimationPlayers:function(){return l&&g(o.currentTime),this._players.filter(function(a){return a._source._isCurrent(a.currentTime)}).sort(e)}};var j=!1,k=!1;b.restart=function(){return j||(j=!0,requestAnimationFrame(function(){}),k=!0),k};var l=!1;b.invalidateEffects=function(){l=!0};var m=[],n=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){return l&&g(o.currentTime),f(),n.apply(this,arguments)}});var o=new b.AnimationTimeline;b.timeline=o;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return o}})}catch(p){}try{window.document.timeline=o}catch(p){}}(c,d,f),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===i?b[c++]:a})}}function d(a){return a}function e(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=l[g];if(!h)return;var i=c[2].split(","),m=h[0];if(m.length<i.length)return;for(var n=[],o=0;o<m.length;o++){var p,q=i[o],r=m[o];if(p=q?{A:function(b){return"0"==b.trim()?k:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:k,n:n[0],t:j}[r],void 0===p)return;n.push(p)}if(e.push([g,n]),d.lastIndex==b.length)return e}}function f(a){return a.replace(/[xy]/,"")}function g(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function h(b,c){var d=!1;if(!b.length||!c.length){b.length||(d=!0,b=c,c=[]);for(var e=0;e<b.length;e++){var h=b[e][0],i=b[e][1],j="scale"==h.substr(0,5)?1:0;c.push([h,i.map(function(a){if("number"==typeof a)return j;var b={};for(var c in a)b[c]=j;return b})])}}if(b.length==c.length){for(var k=[],m=[],n=[],e=0;e<b.length;e++){var h,o=b[e][0],p=c[e][0],q=b[e][1],r=c[e][1],s=l[o],t=l[p];if(o==p)h=o;else if(s[2]&&t[2]&&f(o)==f(p))h=f(o),q=s[2](q),r=t[2](r);else{if(!s[1]||!t[1]||g(o)!=g(p))return;h=g(o),q=s[1](q),r=t[1](r)}for(var u=[],v=0;v<q.length;v++){var w="number"==typeof q[v]?a.mergeNumbers:a.mergeDimensions,x=w(q[v],r[v]);q[v]=x[0],r[v]=x[1],u.push(x[2])}k.push(q),m.push(r),n.push([h,u])}if(d){var y=k;k=m,m=y}return[k,m,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return n[b][1][c](a)}).join(",");return n[b][0]+"("+c+")"}).join(" ")}]}}var i=null,j={px:0},k={deg:0},l={rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],scale:["Nn",c([i,i,1]),d],scalex:["N",c([i,1,1]),c([i,1])],scaley:["N",c([1,i,1]),c([1,i])],scalez:["N",c([1,1,i])],scale3d:["NNN",d],skew:["Aa",null,d],skewx:["A",null,c([i,k])],skewy:["A",null,c([k,i])],translate:["Tt",c([i,i,j]),d],translatex:["T",c([i,j,j]),c([i,j])],translatey:["T",c([j,i,j]),c([j,i])],translatez:["L",c([j,j,i])],translate3d:["TTL",d]};a.addPropertiesHandler(e,h,["transform"])}(d,f),function(a,b){b.Player=function(a){this.source=null,this._isGroup=!1,this._player=a,this._childPlayers=[],this._callback=null},b.Player.prototype={get paused(){return this._player.paused},get onfinish(){return this._onfinish},set onfinish(a){"function"==typeof a?(this._onfinish=a,this._player.onfinish=function(b){b.target=this,a.call(this,b)}.bind(this)):(this._player.onfinish=a,this.onfinish=this._player.onfinish)},get currentTime(){return this._player.currentTime},set currentTime(a){this._player.currentTime=a,this._register(),this._forEachChild(function(b,c){b.currentTime=a-c})},get startTime(){return this._player.startTime},set startTime(a){this._player.startTime=a,this._register(),this._forEachChild(function(b,c){b.startTime=a+c})},get playbackRate(){return this._player.playbackRate},get finished(){return this._player.finished},play:function(){this._player.play(),this._register(),b.awaitStartTime(this),this._forEachChild(function(a){var b=a.currentTime;a.play(),a.currentTime=b})},pause:function(){this._player.pause(),this._register(),this._forEachChild(function(a){a.pause()})},finish:function(){this._player.finish(),this._register()},cancel:function(){this._player.cancel(),this._callback&&(this._register(),this._callback._player=null),this.source=null,this._removePlayers()},reverse:function(){this._player.reverse(),b.awaitStartTime(this),this._register(),this._forEachChild(function(a,b){a.reverse(),a.startTime=this.startTime+b*this.playbackRate,a.currentTime=this.currentTime+b*this.playbackRate})},addEventListener:function(a,b){var c=b;"function"==typeof b&&(c=function(a){a.target=this,b.call(this,a)}.bind(this),b._wrapper=c),this._player.addEventListener(a,c)},removeEventListener:function(a,b){this._player.removeEventListener(a,b&&b._wrapper||b)},_removePlayers:function(){for(;this._childPlayers.length;)this._childPlayers.pop().cancel()},_forEachChild:function(a){var b=0;this._childPlayers.forEach(function(c){a.call(this,c,b),this.source instanceof window.AnimationSequence&&(b+=c.source.activeDuration)}.bind(this))}}}(c,e,f),function(a,b){function c(a){return a.timing.delay+a.activeDuration+a.timing.endDelay}function d(b){this._frames=a.normalizeKeyframes(b)}function e(){for(var a=!1;f.length;)f.shift()._updateChildren(),a=!0;return a}d.prototype={getFrames:function(){return this._frames}},window.Animation=function(b,c,e){return this.target=b,this.timing=a.normalizeTimingInput(e),this.effect="function"==typeof c?c:new d(c),this._effect=c,this._internalPlayer=null,this.activeDuration=a.calculateActiveDuration(this.timing),this};var f=[];b.awaitStartTime=function(a){isNaN(a.startTime)&&a._isGroup&&(0==f.length&&requestAnimationFrame(e),f.push(a))};var g=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){var a=g.apply(this,arguments);return e()&&(a=g.apply(this,arguments)),a}}),b.Player.prototype._updateChildren=function(){if(!isNaN(this.startTime)&&this.source&&this._isGroup)for(var a=this.source.timing.delay,b=0;b<this.source.children.length;b++){var d,e=this.source.children[b];b>=this._childPlayers.length?(d=window.document.timeline.play(e),e.player=this.source.player,this._childPlayers.push(d)):d=this._childPlayers[b],d.startTime!=this.startTime+a&&(d.startTime=this.startTime+a,d._updateChildren()),-1==this.playbackRate&&this.currentTime<a&&-1!==d.currentTime&&(d.currentTime=-1),this.source instanceof window.AnimationSequence&&(a+=c(e))}},window.document.timeline.play=function(a){if(a instanceof window.Animation){var c=a.target.animate(a._effect,a.timing);return c.source=a,a.player=c,c}if(a instanceof window.AnimationSequence||a instanceof window.AnimationGroup){var d=function(a){return c.source?null==a?void c._removePlayers():void(isNaN(c.startTime)||c._updateChildren()):void 0},c=document.createElement("div").animate(d,a.timing);return c.source=a,c._isGroup=!0,a.player=c,b.awaitStartTime(c),c}},b.groupChildDuration=c}(c,e,f),function(a,b){function c(b,c,e,f){var g="fixme",i=void 0;f=a.normalizeTimingInput(f);var j=function(){var b=j._player?j._player.currentTime:0/0;isNaN(b)?b=null:(b=a.calculateTimeFraction(a.calculateActiveDuration(f),b,f),isNaN(b)&&(b=null)),b!==i&&e(b,c,g),i=b};j._player=b,j._registered=!1,j._sequenceNumber=h++,b._callback=j,d(j)}function d(a){a._registered||(a._registered=!0,i.push(a),j||(j=!0,requestAnimationFrame(e)))}function e(){var a=i;i=[],a.sort(function(a,b){return a._sequenceNumber-b._sequenceNumber}),a.filter(function(a){return a(),(!a._player||a._player.finished||a._player.paused)&&(a._registered=!1),a._registered}),i.push.apply(i,a),i.length?(j=!0,requestAnimationFrame(e)):j=!1}var f=document.createElement("div"),g=Element.prototype.animate;Element.prototype.animate=function(a,d){if("function"==typeof a){var e=new b.Player(g.call(f,[],d));return c(e,this,a,d),e}return new b.Player(g.call(this,a,d))};var h=0,i=[],j=!1;b.Player.prototype._register=function(){this._callback&&d(this._callback)}}(c,e,f),function(a,b){function c(b,c){this.children=b||[],this.timing=a.normalizeTimingInput(c,!0),"auto"===this.timing.duration&&(this.timing.duration=this.activeDuration),this._internalPlayer=null}window.AnimationSequence=function(){c.apply(this,arguments)},window.AnimationGroup=function(){c.apply(this,arguments)},window.AnimationSequence.prototype={get activeDuration(){var a=0;return this.children.forEach(function(c){a+=b.groupChildDuration(c)}),Math.max(a,0)}},window.AnimationGroup.prototype={get activeDuration(){var a=0;return this.children.forEach(function(c){a=Math.max(a,b.groupChildDuration(c))}),a}}}(c,e,f)}({},function(){return this}());
//# sourceMappingURL=web-animations.min.js.map
{"version":3,"file":"web-animations.min.js","sources":["?","src/scope.js","src/animation-node.js","src/effect.js","src/property-interpolation.js","src/animation.js","src/apply.js","src/color-handler.js","src/dimension-handler.js","src/element-animatable.js","src/interpolation.js","src/number-handler.js","src/player.js","src/timeline.js","src/transform-handler.js","src/maxifill-player.js","src/animation-constructor.js","src/effect-callback.js","src/group-constructors.js"],"names":["exports","global","webAnimationsShared","webAnimationsMinifill","webAnimationsMaxifill","webAnimationsTesting","shared","scope","testing","normalizeTimingInput","timingInput","forGroup","timing","delay","endDelay","fill","iterationStart","iterations","duration","playbackRate","direction","easing","undefined","Object","getOwnPropertyNames","forEach","property","fills","indexOf","directions","toTimingFunction","cubic","a","b","c","d","linear","x","f","m","start","end","mid","xEst","Math","abs","step","count","pos","stepSize","cubicData","cubicBezierRe","exec","apply","this","slice","map","Number","stepData","stepRe","Start","middle","Middle","End","preset","presets","calculateActiveDuration","repeatedDuration","calculatePhase","activeDuration","localTime","PhaseNone","PhaseBefore","PhaseAfter","PhaseActive","calculateActiveTime","fillMode","phase","calculateScaledActiveTime","activeTime","startOffset","calculateIterationTime","iterationDuration","scaledActiveTime","Infinity","calculateCurrentIteration","iterationTime","floor","calculateTransformedTime","currentIteration","currentIterationIsOdd","currentDirectionIsForwards","directedTime","timeFraction","calculateTimeFraction","split","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","AnimationNode","animationNode","_totalDuration","_isCurrent","normalize","effectInput","spaceKeyframes","length","keyframeEffect","offset","previousIndex","previousOffset","i","j","Array","isArray","TypeError","originalKeyframe","keyframe","member","memberValue","isFinite","everyFrameHasOffset","looselySortedByOffset","filter","sort","leftKeyframe","rightKeyframe","makePropertySpecificKeyframeGroups","propertySpecificKeyframeGroups","propertySpecificKeyframe","value","push","groupName","group","makeInterpolations","interpolations","startTime","endTime","interpolation","propertyInterpolation","leftInterpolation","rightInterpolation","convertEffectInput","target","fraction","clear","normalizeKeyframes","addPropertiesHandler","parser","merger","properties","propertyHandlers","left","right","handlers","parsedLeft","parsedRight","interpolationArgs","Interpolation","bool","Animation","effect","animation","_update","_clear","_hasSameTarget","otherTarget","NullAnimation","nullAnimation","propertyName","aliased","candidate","document","documentElement","style","element","parseColor","string","trim","context","fillStyle","contextSerializedFillStyle","fillRect","pixelColor","getImageData","data","clearRect","alpha","mergeColors","clamp","v","max","min","round","numberToString","join","canvas","createElement","width","height","getContext","parseDimension","unitRegExp","toLowerCase","search","px","test","replace","matchedUnits","match","taggedUnitRegExp","source","typeCheck","reductions","unit","result","eval","mergeDimensions","units","values","lengthUnits","parseLength","bind","parseLengthOrPercent","parseAngle","window","Element","prototype","animate","timeline","_play","getAnimationPlayers","player","_source","interpolate","from","to","r","convertToString","toFixed","parseNumber","mergeNumbers","clampedMergeNumbers","sequenceNumber","AnimationPlayerEvent","currentTime","timelineTime","type","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","Date","now","Player","_sequenceNumber","_currentTime","_startTime","NaN","paused","_playbackRate","_inTimeline","_finishedFlag","onfinish","_finishHandlers","_inEffect","_ensureAlive","_players","_tickCurrentTime","newTime","ignoreLimit","finished",{"end":{"file":"src/player.js","comments_before":[],"nlb":false,"endpos":2054,"pos":2043,"col":8,"line":63,"value":"currentTime","type":"name"},"start":{"file":"src/player.js","comments_before":[],"nlb":false,"endpos":2054,"pos":2043,"col":8,"line":63,"value":"currentTime","type":"name"},"name":"currentTime"},"restart","isNaN","_timeline","invalidateEffects","play","pause","finish","cancel","reverse","addEventListener","handler","removeEventListener","index","splice","_fireEvents","baseTime","event","concat","setTimeout","call","_tick","processRafCallbacks","t","processing","rafCallbacks","tick","needsRetick","applyPendingEffects","comparePlayers","leftPlayer","rightPlayer","pendingEffects","hasRestartedThisFrame","ticking","updatingPlayers","newPendingClears","newPendingEffects","requestAnimationFrame","originalRequestAnimationFrame","AnimationTimeline","originalGetComputedStyle","getComputedStyle","defineProperty","configurable","enumerable","arguments","get","e","cast","pattern","contents","_","id","parseTransform","transformRegExp","prevLastIndex","functionName","functionData","transformFunctions","args","argTypes","parsedArgs","parsedArg","arg","A","s","Odeg","N","T","L","toUpperCase","n","Opx","lastIndex","typeTo2D","typeTo3D","mergeTransforms","flipResults","defaultValue","substr","leftResult","rightResult","types","leftType","rightType","leftArgs","rightArgs","leftFunctionData","rightFunctionData","stringConversions","merge","merged","tmp","list","stringifiedArgs","deg","rotate","rotatex","rotatey","rotatez","scale","scalex","scaley","scalez","scale3d","skew","skewx","skewy","translate","translatex","translatey","translatez","translate3d","_isGroup","_player","_childPlayers","_callback","_onfinish","_register","_forEachChild","child","awaitStartTime","time","_removePlayers","wrapped","_wrapper","pop","AnimationSequence","groupChildDuration","node","KeyframeEffect","_frames","updatePendingGroups","updated","pendingGroups","shift","_updateChildren","getFrames","_effect","_internalPlayer","groupPlayer","children","childPlayer","AnimationGroup","ticker","tf","last","callback","_registered","register","callbacks","updating","originalAnimate","constructor","total"],"mappings":"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"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment