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