transition-min.js revision bf3c648d6ab588c8b04fb824a7281898c469bd67
YUI.add("transition-native",function(B){var G="-webkit-transition",J="WebkitTransition",C="-webkit-transition-property",F="-webkit-transition-duration",A="-webkit-transition-timing-function",D="-webkit-transition-delay",H="webkitTransitionEnd",I="WebkitTransform",E=function(){this.init.apply(this,arguments);};E._toCamel=function(K){K=K.replace(/-([a-z])/gi,function(M,L){return L.toUpperCase();});return K;};E._toHyphen=function(K){K=K.replace(/([A-Z]?)([a-z]+)([A-Z]?)/g,function(O,N,M,L){var P="";if(N){P+="-"+N.toLowerCase();}P+=M;if(L){P+="-"+L.toLowerCase();}return P;});return K;};E._reKeywords=/^(?:node|duration|iterations|easing|delay)$/;E.useNative=false;if(G in B.config.doc.documentElement.style){E.useNative=true;E.supported=true;}B.Node.DOM_EVENTS[H]=1;E.NAME="transition";E.DEFAULT_EASING="ease-in-out";E.DEFAULT_DURATION=0.5;E.DEFAULT_DELAY=0;E._nodeAttrs={};E._count=0;E.prototype={constructor:E,init:function(L,K){var M=this;if(!M._running){M._node=L;M._config=K;L._transition=M;M._duration=("duration" in K)?K.duration:M.constructor.DEFAULT_DURATION;M._delay=("delay" in K)?K.delay:M.constructor.DEFAULT_DELAY;M._easing=K.easing||M.constructor.DEFAULT_EASING;M._count=0;M._running=false;M.initAttrs(K);}return M;},initAttrs:function(L){var O=this,M=O._node,Q=B.stamp(M),U=E._nodeAttrs[Q],N,P,T,K,S,R;if(!U){U=E._nodeAttrs[Q]={};}if(L.transform&&!L[I]){L[I]=L.transform;delete L.transform;}for(R in L){if(L.hasOwnProperty(R)&&!E._reKeywords.test(R)){K=S=L[R];if(U[R]&&U[R].transition){U[R].transition._count--;}else{E._count+=1;}if(typeof S.value!=="undefined"){K=S.value;}if(typeof K==="function"){K=K.call(M,M);}N=(typeof S.duration!=="undefined")?S.duration:O._duration;P=(typeof S.delay!=="undefined")?S.delay:O._delay;if(!N){N=0.00001;}T=S.easing||O._easing;O._count++;U[R]={value:K,duration:N,delay:P,easing:T,transition:O};}}},run:function(L){var K=this;if(!K._running){K._running=true;K._node.fire("transition:start",{type:"transition:start",config:K._config});K._start();K._callback=L;}return K;},_start:function(){this._runNative();},_prepDur:function(K){K=parseFloat(K);return K+"s";},_runNative:function(N){var S=this,O=S._node,V=B.stamp(O),T=O._node,L=T.style,Q=getComputedStyle(T),Z=E._nodeAttrs[V],M="",a=Q[C],Y=C+": ",R=F+": ",X=A+": ",U=D+": ",P,W,K;if(a!=="all"){Y+=a+",";R+=Q[F]+",";X+=Q[A]+",";U+=Q[D]+",";}for(K in Z){P=E._toHyphen(K);W=Z[K];if(Z.hasOwnProperty(K)&&W.transition===S){if(K in T.style){R+=S._prepDur(W.duration)+",";U+=S._prepDur(W.delay)+",";X+=(W.easing)+",";Y+=P+",";M+=P+": "+W.value+"; ";}else{delete Z[K];S._count--;E._count--;}}}Y=Y.replace(/,$/,";");R=R.replace(/,$/,";");X=X.replace(/,$/,";");U=U.replace(/,$/,";");if(!O._hasTransitionEnd){O.on(H,S._onNativeEnd);O._hasTransitionEnd=true;}L.cssText+=Y+R+X+U+M;},_end:function(K){var N=this,L=N._node,O=N._callback,M={type:"transition:end",config:N._config,elapsedTime:K};N._running=false;if(O){N._callback=null;setTimeout(function(){O.call(L,M);},1);}L.fire("transition:end",M);},_endNative:function(){var K=this._node;if(E._count<=0){K._node.style[J]="";}},_onNativeEnd:function(P){var M=this,O=B.stamp(M),K=P._event,L=E._toCamel(K.propertyName),S=K.elapsedTime,R=E._nodeAttrs[O],Q=R[L],N=(Q)?Q.transition:null,T;if(N){T=N._callback;N._count--;delete R[L];E._count--;M.fire("transition:propertyEnd",{type:"propertyEnd",propertyName:L,elapsedTime:S});if(N._count<=0){N._endNative();N._end(S);}}},destroy:function(){this.detachAll();this._node=null;}};B.Transition=E;B.TransitionNative=E;B.Node.prototype.transition=function(K,M){var L=this._transition;if(L&&!L._running){L.init(this,K);}else{L=new E(this,K);}L.run(M);return this;};},"@VERSION@",{requires:["node-base"]});YUI.add("transition-timer",function(C){var A="transition:propertyEnd",B=C.Transition;C.mix(B.prototype,{_start:function(){if(B.useNative){this._runNative();}else{this._runTimer();}},_runTimer:function(){var D=this;D._initAttrs();B._running[C.stamp(D)]=D;D._startTime=new Date();B._startTimer();},_endTimer:function(){var D=this;delete B._running[C.stamp(D)];D._startTime=null;},_runFrame:function(){var D=new Date()-this._startTime;this._runAttrs(D);},_runAttrs:function(H){var K=this,I=K._node,O=C.stamp(I),R=B._nodeAttrs[O],G=B.behaviors,L=false,E=false,S=K._callback,D,F,J,Q,N,P,T,M;for(D in R){F=R[D];if((F&&F.transition===K)){P=F.duration;N=F.delay;Q=(H-N)/1000;T=H;J=(M in G&&"set" in G[M])?G[M].set:B.DEFAULT_SETTER;L=(T>=P);if(T>P){T=P;}if(!N||H>=N){J(K,D,F.from,F.to,T-N,P-N,F.easing,F.unit);if(L){delete R[D];K._count--;I.fire("transition:propertyEnd",{type:"propertyEnd",propertyName:D,config:K._config,elapsedTime:Q});if(!E&&K._count<=0){E=true;K._end(Q);K._endTimer();}}}}}},_initAttrs:function(){var K=this,F=B.behaviors,M=C.stamp(this._node),R=B._nodeAttrs[M],E,J,L,O,H,D,Q,G,I;for(D in R){E=R[D];if(R.hasOwnProperty(D)&&(E&&E.transition===K)){J=E.duration*1000;L=E.delay*1000;O=E.easing;H=E.value;if(D in K._node._node.style||D in C.DOM.CUSTOM_STYLES){G=(D in F&&"get" in F[D])?F[D].get(K,D):B.DEFAULT_GETTER(K,D);var P=B.RE_UNITS.exec(G);var N=B.RE_UNITS.exec(H);G=P?P[1]:G;I=N?N[1]:H;Q=N?N[2]:P?P[2]:"";if(!Q&&B.RE_DEFAULT_UNIT.test(D)){Q=B.DEFAULT_UNIT;}if(typeof O==="string"){if(O.indexOf("cubic-bezier")>-1){O=O.substring(13,O.length-1).split(",");}else{if(B.easings[O]){O=B.easings[O];}}}E.from=Number(G);E.to=Number(I);E.unit=Q;E.easing=O;E.duration=J+L;E.delay=L;}else{delete R[D];K._count--;}}}},destroy:function(){this.detachAll();this._node=null;}},true);C.mix(C.Transition,{_runtimeAttrs:{},RE_DEFAULT_UNIT:/^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i,DEFAULT_UNIT:"px",intervalTime:20,behaviors:{left:{get:function(E,D){return C.DOM._getAttrOffset(E._node._node,D);}}},DEFAULT_SETTER:function(G,H,J,K,M,F,I,L){J=Number(J);K=Number(K);var E=G._node,D=B.cubicBezier(I,M/F);D=J+D[0]*(K-J);if(H in E._node.style||H in C.DOM.CUSTOM_STYLES){L=L||"";E.setStyle(H,D+L);}else{if(E._node.attributes[H]){E.setAttribute(H,D);}else{E.set(H,D);}}},DEFAULT_GETTER:function(F,D){var E=F._node,G="";
if(D in E._node.style||D in C.DOM.CUSTOM_STYLES){G=E.getComputedStyle(D);}else{if(E._node.attributes[D]){G=E.getAttribute(D);}else{G=E.get(D);}}return G;},_startTimer:function(){if(!B._timer){B._timer=setInterval(B._runFrame,B.intervalTime);}},_stopTimer:function(){clearInterval(B._timer);B._timer=null;},_runFrame:function(){var D=true,E;for(E in B._running){if(B._running[E]._runFrame){D=false;B._running[E]._runFrame();}}if(D){B._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);B.behaviors.top=B.behaviors.bottom=B.behaviors.right=B.behaviors.left;C.Transition=B;},"@VERSION@",{requires:["transition-native","node-style"]});YUI.add("transition",function(A){},"@VERSION@",{use:["transition-native","transition-timer"]});