transition-min.js revision 484ded111840f4104ab556e0628b0e84632eba34
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(R){var O=this,Q=B.stamp(O),M=R._event,N=E._toCamel(M.propertyName),U=M.elapsedTime,T=E._nodeAttrs[Q],S=T[N],P=(S)?S.transition:null;if(P){P.removeProperty(N);P._endNative(N);O.fire("transition:propertyEnd",{type:"propertyEnd",propertyName:N,elapsedTime:U});if(P._count<=0){P._end(U);}}},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(G){var J=this,H=J._node,N=B.stamp(H),Q=A._nodeAttrs[N],F=A.behaviors,K=false,D=false,C,E,I,P,M,O,R,L;for(C in Q){E=Q[C];if((E&&E.transition===J)){O=E.duration;M=E.delay;P=(G-M)/1000;R=G;I=(L in F&&"set" in F[L])?F[L].set:A.DEFAULT_SETTER;K=(R>=O);if(R>O){R=O;}if(!M||G>=M){I(J,C,E.from,E.to,R-M,O-M,E.easing,E.unit);if(K){delete Q[C];J._count--;H.fire("transition:propertyEnd",{type:"propertyEnd",propertyName:C,config:J._config,elapsedTime:P});if(!D&&J._count<=0){D=true;J._end(P);J._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(X,S){var b=0,L=0,a=X[0],K=X[1],Z=X[2],J=X[3],Y=1,I=0,W=Y-3*Z+3*a-b,V=3*Z-6*a+3*b,U=3*a-3*b,T=b,R=I-3*J+3*K-L,Q=3*J-6*K+3*L,P=3*K-3*L,O=L,N=(((W*S)+V)*S+U)*S+T,M=(((R*S)+Q)*S+P)*S+O;return[N,M];},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"]});