transition-min.js revision 056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0
YUI.add("transition-native",function(b){var i="-webkit-transition",g="WebkitTransition",c="-webkit-transition-property",f="-webkit-transition-duration",a="-webkit-transition-timing-function",d="-webkit-transition-delay",j="webkitTransitionEnd",k="WebkitTransform",h={},e=function(){this.init.apply(this,arguments);};e._fx={};e.add=function(n,m){if(typeof n!=="string"){b.Object.each(n,function(o,p){e.add(p,o);});}else{e._fx[n]=m;}};e._toCamel=function(m){m=m.replace(/-([a-z])/gi,function(o,n){return n.toUpperCase();});return m;};e._toHyphen=function(m){m=m.replace(/([A-Z]?)([a-z]+)([A-Z]?)/g,function(q,p,o,n){var r="";if(p){r+="-"+p.toLowerCase();}r+=o;if(n){r+="-"+n.toLowerCase();}return r;});return m;};e._reKeywords=/^(?:node|duration|iterations|easing|delay|on|onstart|onend)$/i;e.useNative=false;if(i in b.config.doc.documentElement.style){e.useNative=true;e.supported=true;}b.Node.DOM_EVENTS[j]=1;e.NAME="transition";e.DEFAULT_EASING="ease";e.DEFAULT_DURATION=0.5;e.DEFAULT_DELAY=0;e._nodeAttrs={};e.prototype={constructor:e,init:function(n,m){var o=this;if(!o._running){o._node=n;o._config=m;n._transition=o;o._duration=("duration" in m)?m.duration:o.constructor.DEFAULT_DURATION;o._delay=("delay" in m)?m.delay:o.constructor.DEFAULT_DELAY;o._easing=m.easing||o.constructor.DEFAULT_EASING;o._count=0;o._running=false;}return o;},addProperty:function(t,o){var r=this,q=this._node,p=b.stamp(q),n=e._nodeAttrs[p],m,s;if(!n){n=e._nodeAttrs[p]={};}m=n[t];if(o&&o.value!==undefined){s=o.value;}else{if(o!==undefined){s=o;o=h;}}if(typeof s==="function"){s=s.call(q,q);}if(m&&m.transition&&m.transition!==r){m.transition._count--;}r._count++;n[t]={value:s,duration:((typeof o.duration!=="undefined")?o.duration:r._duration)||0.0001,delay:(typeof o.delay!=="undefined")?o.delay:r._delay,easing:o.easing||r._easing,transition:r};},removeProperty:function(o){var n=this,m=e._nodeAttrs[b.stamp(n._node)];if(m&&m[o]){delete m[o];n._count--;}},initAttrs:function(n){var m;if(n.transform&&!n[k]){n[k]=n.transform;delete n.transform;}for(m in n){if(n.hasOwnProperty(m)&&!e._reKeywords.test(m)){this.addProperty(m,n[m]);}}},run:function(q){var p=this,n=p._node,m=p._config,o={type:"transition:start",config:m};if(!p._running){p._running=true;p._node.fire("transition:start",o);if(m.on&&m.on.start){m.on.start.call(n,o);}p.initAttrs(p._config);p._callback=q;p._start();}return p;},_start:function(){this._runNative();},_prepDur:function(m){m=parseFloat(m);return m+"s";},_runNative:function(p){var u=this,q=u._node,x=b.stamp(q),v=q._node,n=v.style,s=getComputedStyle(v),B=e._nodeAttrs[x],o="",C=s[c],A=c+": ",t=f+": ",z=a+": ",w=d+": ",r,y,m;if(C!=="all"){A+=C+",";t+=s[f]+",";z+=s[a]+",";w+=s[d]+",";}for(m in B){r=e._toHyphen(m);y=B[m];if(B.hasOwnProperty(m)&&y.transition===u){if(m in v.style){t+=u._prepDur(y.duration)+",";w+=u._prepDur(y.delay)+",";z+=(y.easing)+",";A+=r+",";o+=r+": "+y.value+"; ";}else{this.removeProperty(m);}}}A=A.replace(/,$/,";");t=t.replace(/,$/,";");z=z.replace(/,$/,";");w=w.replace(/,$/,";");if(!q._hasTransitionEnd){u._detach=q.on(j,u._onNativeEnd);q._hasTransitionEnd=true;}n.cssText+=A+t+z+w+o;},_end:function(m){var q=this,o=q._node,r=q._callback,n=q._config,p={type:"transition:end",config:n,elapsedTime:m};q._running=false;q._callback=null;if(n.on&&n.on.end){setTimeout(function(){n.on.end.call(o,p);if(r){r.call(o,p);}},1);}else{if(r){setTimeout(function(){r.call(o,p);},1);}}o.fire("transition:end",p);},_endNative:function(m){var n=this._node,o=n.getComputedStyle(c);if(typeof o==="string"){o=o.replace(new RegExp("(?:^|,\\s)"+m+",?"),",");o=o.replace(/^,|,$/,"");n.setStyle(g,o);}},_onNativeEnd:function(t){var p=this,s=b.stamp(p),m=t._event,n=e._toCamel(m.propertyName),w=m.elapsedTime,v=e._nodeAttrs[s],u=v[n],q=(u)?u.transition:null,r={type:"propertyEnd",propertyName:n,elapsedTime:w},o;if(q){q.removeProperty(n);q._endNative(n);o=q._config[n];if(o&&o.on&&o.on.end){o.on.end.call(p,r);}p.fire("transition:propertyEnd",r);if(q._count<=0){q._end(w);}}},destroy:function(){var m=this;if(m._detach){m._detach.detach();}m._node=null;}};b.Transition=e;b.TransitionNative=e;b.Node.prototype.transition=function(n,m,r){var p=this._transition,o,q;if(typeof n==="string"){if(typeof m==="function"){r=m;m=null;}o=e._fx[n];if(m&&typeof m!=="boolean"){m=b.clone(m);for(q in o){if(o.hasOwnProperty(q)){if(!(q in m)){m[q]=o[q];}}}}else{m=o;}}else{r=m;m=n;}if(p&&!p._running){p.init(this,m);}else{p=new e(this,m);}p.run(r);return this;};b.Node.prototype.show=function(n,m,o){this._show();if(n&&b.Transition){if(typeof n!=="string"&&!n.push){if(typeof m==="function"){o=m;m=n;}n=this.SHOW_TRANSITION;}this.transition(n,m,o);}return this;};var l=function(n,m){return function(){if(m){m.call(this);}n.apply(this,arguments);};};b.Node.prototype.hide=function(n,m,o){if(n&&b.Transition){if(typeof m==="function"){o=m;m=null;}if(o){o=l(o,this._hide);}else{o=this._hide;}if(typeof n!=="string"&&!n.push){if(typeof m==="function"){o=m;m=n;}n=this.HIDE_TRANSITION;}this.transition(n,m,o);}else{this._hide();}return this;};b.NodeList.prototype.transition=function(m,n){this.each(function(o){o.transition(m,n);});return this;};e.add({fadeOut:{opacity:0,duration:0.5,easing:"ease-out"},fadeIn:{opacity:1,duration:0.5,easing:"ease-in"},sizeOut:{height:0,width:0,duration:0.75,easing:"ease-out"},sizeIn:{height:function(m){return m.get("scrollHeight")+"px";},width:function(m){return m.get("scrollWidth")+"px";},duration:0.5,easing:"ease-in",on:{start:function(){var m=this.getStyle("overflow");if(m!=="hidden"){this.setStyle("overflow","hidden");this._transitionOverflow=m;}},end:function(){if(this._transitionOverflow){this.setStyle("overflow",this._transitionOverflow);}}}}});},"@VERSION@",{requires:["node-base"]});YUI.add("transition-timer",function(b){var a=b.Transition;b.mix(a.prototype,{_start:function(){if(a.useNative){this._runNative();}else{this._runTimer();}},_runTimer:function(){var c=this;c._initAttrs();a._running[b.stamp(c)]=c;c._startTime=new Date();a._startTimer();},_endTimer:function(){var c=this;
delete a._running[b.stamp(c)];c._startTime=null;},_runFrame:function(){var c=new Date()-this._startTime;this._runAttrs(c);},_runAttrs:function(e){var o=this,n=o._node,u=o._config,f=b.stamp(n),m=a._nodeAttrs[f],h=a.behaviors,l=false,g=false,v={type:"propertyEnd",propertyName:w,config:u,elapsedTime:c},w,j,q,c,s,r,k,p;for(w in m){j=m[w];if((j&&j.transition===o)){r=j.duration;s=j.delay;c=(e-s)/1000;k=e;q=(p in h&&"set" in h[p])?h[p].set:a.DEFAULT_SETTER;l=(k>=r);if(k>r){k=r;}if(!s||e>=s){q(o,w,j.from,j.to,k-s,r-s,j.easing,j.unit);if(l){delete m[w];o._count--;if(u[w]&&u[w].on&&u[w].on.end){u[w].on.end.call(n,v);}n.fire("transition:propertyEnd",v);if(!g&&o._count<=0){g=true;o._end(c);o._endTimer();}}}}}},_initAttrs:function(){var j=this,e=a.behaviors,l=b.stamp(j._node),q=a._nodeAttrs[l],d,i,k,n,g,c,m,o,p,f,h;for(c in q){d=q[c];if(q.hasOwnProperty(c)&&(d&&d.transition===j)){i=d.duration*1000;k=d.delay*1000;n=d.easing;g=d.value;if(c in j._node._node.style||c in b.DOM.CUSTOM_STYLES){f=(c in e&&"get" in e[c])?e[c].get(j,c):a.DEFAULT_GETTER(j,c);o=a.RE_UNITS.exec(f);m=a.RE_UNITS.exec(g);f=o?o[1]:f;h=m?m[1]:g;p=m?m[2]:o?o[2]:"";if(!p&&a.RE_DEFAULT_UNIT.test(c)){p=a.DEFAULT_UNIT;}if(typeof n==="string"){if(n.indexOf("cubic-bezier")>-1){n=n.substring(13,n.length-1).split(",");}else{if(a.easings[n]){n=a.easings[n];}}}d.from=Number(f);d.to=Number(h);d.unit=p;d.easing=n;d.duration=i+k;d.delay=k;}else{delete q[c];j._count--;}}}},destroy:function(){this.detachAll();this._node=null;}},true);b.mix(b.Transition,{_runtimeAttrs:{},RE_DEFAULT_UNIT:/^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i,DEFAULT_UNIT:"px",intervalTime:20,behaviors:{left:{get:function(d,c){return b.DOM._getAttrOffset(d._node._node,c);}}},DEFAULT_SETTER:function(f,g,i,j,l,e,h,k){i=Number(i);j=Number(j);var d=f._node,c=a.cubicBezier(h,l/e);c=i+c[0]*(j-i);if(g in d._node.style||g in b.DOM.CUSTOM_STYLES){k=k||"";d.setStyle(g,c+k);}else{if(d._node.attributes[g]){d.setAttribute(g,c);}else{d.set(g,c);}}},DEFAULT_GETTER:function(e,c){var d=e._node,f="";if(c in d._node.style||c in b.DOM.CUSTOM_STYLES){f=d.getComputedStyle(c);}else{if(d._node.attributes[c]){f=d.getAttribute(c);}else{f=d.get(c);}}return f;},_startTimer:function(){if(!a._timer){a._timer=setInterval(a._runFrame,a.intervalTime);}},_stopTimer:function(){clearInterval(a._timer);a._timer=null;},_runFrame:function(){var c=true,d;for(d in a._running){if(a._running[d]._runFrame){c=false;a._running[d]._runFrame();}}if(c){a._stopTimer();}},cubicBezier:function(s,m){var z=0,f=0,w=s[0],e=s[1],v=s[2],d=s[3],u=1,c=0,r=u-3*v+3*w-z,q=3*v-6*w+3*z,o=3*w-3*z,n=z,l=c-3*d+3*e-f,k=3*d-6*e+3*f,j=3*e-3*f,i=f,h=(((r*m)+q)*m+o)*m+n,g=(((l*m)+k)*m+j)*m+i;return[h,g];},easings:{ease:[0.25,0,1,0.25],linear:[0,0,1,1],"ease-in":[0.42,0,1,1],"ease-out":[0,0,0.58,1],"ease-in-out":[0.42,0,0.58,1]},_running:{},_timer:null,RE_UNITS:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/},true);a.behaviors.top=a.behaviors.bottom=a.behaviors.right=a.behaviors.left;b.Transition=a;},"@VERSION@",{requires:["transition-native","node-style"]});YUI.add("transition",function(a){},"@VERSION@",{use:["transition-native","transition-timer"]});