You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

11 lines
11 KiB

/*
* # Semantic UI
* https://github.com/Semantic-Org/Semantic-UI
* http://beta.semantic-ui.com/
*
* Copyright 2014 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
!function(n,i,e,t){"use strict";n.fn.transition=function(){{var a,o=n(this),s=o.selector||"",r=(new Date).getTime(),d=[],l=arguments,c=l[0],m=[].slice.call(arguments,1),u="string"==typeof c;i.requestAnimationFrame||i.mozRequestAnimationFrame||i.webkitRequestAnimationFrame||i.msRequestAnimationFrame||function(n){setTimeout(n,0)}}return o.each(function(){var i,p,f,g,v,b,y,h,C,w,A,T=n(this),x=this;A={initialize:function(){C="module-"+h,i=A.get.settings.apply(x,l),g=i.className,v=i.metadata,b=A.get.animationEvent(),y=A.get.animationName(),f=i.error,h=i.namespace,w="."+i.namespace,p=T.data(C)||A,u&&(u=A.invoke(c)),u===!1&&(A.verbose("Converted arguments into settings object",i),A.animate(),A.instantiate())},instantiate:function(){A.verbose("Storing instance of module",A),T.data(C,p)},destroy:function(){A.verbose("Destroying previous module for",x),T.removeData(C)},refresh:function(){A.verbose("Refreshing display type on next animation"),delete A.displayType},forceRepaint:function(){A.verbose("Forcing element repaint");var n=T.parent(),i=T.next();0===i.size()?T.detach().appendTo(n):T.detach().insertBefore(i)},repaint:function(){A.verbose("Repainting element");x.offsetWidth},animate:function(n){return i=n||i,A.is.supported()?(A.debug("Preparing animation",i.animation),A.is.animating()&&i.queue?(!i.allowRepeats&&A.has.direction()&&A.is.occuring()&&A.queuing!==!0?A.error(f.repeated,i.animation,T):A.queue(i.animation),!1):void(A.can.animate?A.set.animating(i.animation):A.error(f.noAnimation,i.animation))):(A.error(f.support),!1)},reset:function(){A.debug("Resetting animation to beginning conditions"),T.off(b+w),A.restore.conditions(),A.hide(),A.remove.animating()},queue:function(n){A.debug("Queueing animation of",n),A.queuing=!0,T.one(b+w,function(){A.queuing=!1,A.repaint(),A.animate.apply(this,i)})},complete:function(){A.verbose("CSS animation complete",i.animation),A.is.looping()||(A.is.outward()?(A.verbose("Animation is outward, hiding element"),A.restore.conditions(),A.hide(),A.remove.display(),n.proxy(i.onHide,this)()):A.is.inward()?(A.verbose("Animation is outward, showing element"),A.restore.conditions(),A.show(),A.set.display(),n.proxy(i.onShow,this)()):A.restore.conditions(),A.remove.duration(),A.remove.animating()),n.proxy(i.onComplete,this)()},has:{direction:function(n){return n=n||i.animation,-1!==n.search(g.inward)||-1!==n.search(g.outward)?(A.debug("Direction already set in animation"),!0):!1}},set:{animating:function(e){e=e||i.animation,A.is.animating()||A.save.conditions(),A.remove.direction(),T.off(".complete"),A.can.transition()&&!A.has.direction()&&A.set.direction(),A.remove.hidden(),A.set.display(),T.addClass(g.animating).addClass(g.transition).addClass(e).one(b+".complete"+w,A.complete),A.set.duration(i.duration),n.proxy(i.onStart,this)(),A.debug("Starting tween",e,T.attr("class"))},display:function(){var n=A.get.style(),i=A.get.displayType(),e=n+"display: "+i+" !important;";A.refresh(),T.css("display")!==i&&(A.verbose("Setting inline visibility to",i),T.attr("style",e))},direction:function(){T.is(":visible")&&!A.is.hidden()?(A.debug("Automatically determining the direction of animation","Outward"),T.removeClass(g.inward).addClass(g.outward)):(A.debug("Automatically determining the direction of animation","Inward"),T.removeClass(g.outward).addClass(g.inward))},looping:function(){A.debug("Transition set to loop"),T.addClass(g.looping)},duration:function(n){n=n||i.duration,n="number"==typeof n?n+"ms":n,A.verbose("Setting animation duration",n),T.css({"-webkit-animation-duration":n,"-moz-animation-duration":n,"-ms-animation-duration":n,"-o-animation-duration":n,"animation-duration":n})},hidden:function(){A.is.hidden()||(T.addClass(g.transition).addClass(g.hidden),"none"!==T.css("display")&&(A.verbose("Overriding default display to hide element"),T.css("display","none")))},visible:function(){T.addClass(g.transition).addClass(g.visible)}},save:{displayType:function(n){T.data(v.displayType,n)},transitionExists:function(i,e){n.fn.transition.exists[i]=e,A.verbose("Saving existence of transition",i,e)},conditions:function(){T.attr("class")||!1,T.attr("style")||"";T.removeClass(i.animation),A.remove.direction(),A.cache={className:T.attr("class"),style:A.get.style()},A.verbose("Saving original attributes",A.cache)}},restore:{conditions:function(){return A.cache===t?!1:(A.cache.className?T.attr("class",A.cache.className):T.removeAttr("class"),A.cache.style&&(A.verbose("Restoring original style attribute",A.cache.style),T.attr("style",A.cache.style)),A.is.looping()&&A.remove.looping(),void A.verbose("Restoring original attributes",A.cache))}},remove:{animating:function(){T.removeClass(g.animating)},display:function(){T.css("display","")},direction:function(){T.removeClass(g.inward).removeClass(g.outward)},duration:function(){T.css({"-webkit-animation-duration":"","-moz-animation-duration":"","-ms-animation-duration":"","-o-animation-duration":"","animation-duration":""})},hidden:function(){T.removeClass(g.hidden)},visible:function(){T.removeClass(g.visible)},looping:function(){A.debug("Transitions are no longer looping"),T.removeClass(g.looping),A.forceRepaint()},transition:function(){T.removeClass(g.visible).removeClass(g.hidden)}},get:{settings:function(i,e,t){return"object"==typeof i?n.extend(!0,{},n.fn.transition.settings,i):"function"==typeof t?n.extend({},n.fn.transition.settings,{animation:i,onComplete:t,duration:e}):"string"==typeof e||"number"==typeof e?n.extend({},n.fn.transition.settings,{animation:i,duration:e}):"object"==typeof e?n.extend({},n.fn.transition.settings,e,{animation:i}):"function"==typeof e?n.extend({},n.fn.transition.settings,{animation:i,onComplete:e}):n.extend({},n.fn.transition.settings,{animation:i})},displayType:function(){return T.data(v.displayType)===t&&A.can.transition(!0),T.data(v.displayType)},style:function(){var n=T.attr("style")||"";return n.replace(/display.*?;/,"")},transitionExists:function(i){return n.fn.transition.exists[i]},animationName:function(){var n,i=e.createElement("div"),a={animation:"animationName",OAnimation:"oAnimationName",MozAnimation:"mozAnimationName",WebkitAnimation:"webkitAnimationName"};for(n in a)if(i.style[n]!==t)return a[n];return!1},animationEvent:function(){var n,i=e.createElement("div"),a={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(n in a)if(i.style[n]!==t)return a[n];return!1}},can:{animate:function(){return"none"!==T.css(i.animation)?(A.debug("CSS definition found",T.css(i.animation)),!0):(A.debug("Unable to find css definition",T.attr("class")),!1)},transition:function(e){var a,o,s,r,d,l=T.attr("class"),c=T.prop("tagName"),m=i.animation,u=A.get.transitionExists(i.animation);return(u===t||e)&&(A.verbose("Determining whether animation exists"),a=n("<"+c+" />").addClass(l).insertAfter(T),o=a.addClass(m).removeClass(g.inward).removeClass(g.outward).addClass(g.animating).addClass(g.transition).css(y),s=a.addClass(g.inward).css(y),d=a.attr("class",l).removeAttr("style").removeClass(g.visible).show().css("display"),A.verbose("Determining final display state",d),o!=s?(A.debug("Transition exists for animation",m),r=!0):(A.debug("Static animation found",m,d),r=!1),a.remove(),A.save.displayType(d),u===t&&A.save.transitionExists(m,r)),u||r}},is:{animating:function(){return T.hasClass(g.animating)},inward:function(){return T.hasClass(g.inward)},outward:function(){return T.hasClass(g.outward)},looping:function(){return T.hasClass(g.looping)},occuring:function(n){return n=n||i.animation,n=n.replace(" ","."),T.filter(n).size()>0},visible:function(){return T.is(":visible")},hidden:function(){return"hidden"===T.css("visibility")},supported:function(){return y!==!1&&b!==!1}},hide:function(){A.verbose("Hiding element"),A.remove.visible(),A.set.hidden(),A.repaint()},show:function(n){A.verbose("Showing element",n),A.remove.hidden(),A.set.visible(),A.repaint()},start:function(){A.verbose("Starting animation"),T.removeClass(g.disabled)},stop:function(){A.debug("Stopping animation"),T.addClass(g.disabled)},toggle:function(){A.debug("Toggling play status"),T.toggleClass(g.disabled)},setting:function(e,a){if(A.debug("Changing setting",e,a),n.isPlainObject(e))n.extend(!0,i,e);else{if(a===t)return i[e];i[e]=a}},internal:function(i,e){if(n.isPlainObject(i))n.extend(!0,A,i);else{if(e===t)return A[i];A[i]=e}},debug:function(){i.debug&&(i.performance?A.performance.log(arguments):(A.debug=Function.prototype.bind.call(console.info,console,i.name+":"),A.debug.apply(console,arguments)))},verbose:function(){i.verbose&&i.debug&&(i.performance?A.performance.log(arguments):(A.verbose=Function.prototype.bind.call(console.info,console,i.name+":"),A.verbose.apply(console,arguments)))},error:function(){A.error=Function.prototype.bind.call(console.error,console,i.name+":"),A.error.apply(console,arguments)},performance:{log:function(n){var e,t,a;i.performance&&(e=(new Date).getTime(),a=r||e,t=e-a,r=e,d.push({Name:n[0],Arguments:[].slice.call(n,1)||"",Element:x,"Execution Time":t})),clearTimeout(A.performance.timer),A.performance.timer=setTimeout(A.performance.display,600)},display:function(){var e=i.name+":",a=0;r=!1,clearTimeout(A.performance.timer),n.each(d,function(n,i){a+=i["Execution Time"]}),e+=" "+a+"ms",s&&(e+=" '"+s+"'"),o.size()>1&&(e+=" ("+o.size()+")"),(console.group!==t||console.table!==t)&&d.length>0&&(console.groupCollapsed(e),console.table?console.table(d):n.each(d,function(n,i){console.log(i.Name+": "+i["Execution Time"]+"ms")}),console.groupEnd()),d=[]}},invoke:function(i,e,o){var s,r,d,l=p;return e=e||m,o=x||o,"string"==typeof i&&l!==t&&(i=i.split(/[\. ]/),s=i.length-1,n.each(i,function(e,a){var o=e!=s?a+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(n.isPlainObject(l[o])&&e!=s)l=l[o];else{if(l[o]!==t)return r=l[o],!1;if(!n.isPlainObject(l[a])||e==s)return l[a]!==t?(r=l[a],!1):!1;l=l[a]}})),n.isFunction(r)?d=r.apply(o,e):r!==t&&(d=r),n.isArray(a)?a.push(d):a!==t?a=[a,d]:d!==t&&(a=d),r!==t?r:!1}},A.initialize()}),a!==t?a:this},n.fn.transition.exists={},n.fn.transition.settings={name:"Transition",debug:!1,verbose:!0,performance:!0,namespace:"transition",onStart:function(){},onComplete:function(){},onShow:function(){},onHide:function(){},allowRepeats:!1,animation:"fade",duration:"500ms",queue:!0,metadata:{displayType:"display"},className:{animating:"animating",disabled:"disabled",hidden:"hidden",inward:"in",loading:"loading",looping:"looping",outward:"out",transition:"transition",visible:"visible"},error:{noAnimation:"There is no css animation matching the one you specified.",repeated:"That animation is already occurring, cancelling repeated animation",method:"The method you called is not defined",support:"This browser does not support CSS animations"}}}(jQuery,window,document);