transition-native-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"]});