UNPKG

motion-ui

Version:

Sass library for creating transitions and animations.

1 lines 1.63 kB
((n,e)=>{"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):n.MotionUI=e(n.jQuery)})(this,function(s){Date.now||(Date.now=function(){return(new Date).getTime()});for(var t,n=["webkit","moz"],e=0;e<n.length&&!window.requestAnimationFrame;++e){var i=n[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}!/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)&&window.requestAnimationFrame&&window.cancelAnimationFrame||(t=0,window.requestAnimationFrame=function(n){var e=Date.now(),i=Math.max(t+16,e);return setTimeout(function(){n(t=i)},i-e)},window.cancelAnimationFrame=clearTimeout);var u=["mui-enter","mui-leave"],m=["mui-enter-active","mui-leave-active"],d=(()=>{var n,e={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},i=window.document.createElement("div");for(n in e)if(void 0!==i.style[n])return e[n];return null})();function o(n,e,i,t){var o,a;function r(){e[0].style.transitionDuration=0,e.removeClass(o+" "+a+" "+i)}(e=s(e).eq(0)).length&&(null===d?(n?e.show():e.hide(),t()):(o=n?u[0]:u[1],a=n?m[0]:m[1],r(),e.addClass(i),e.css("transition","none"),requestAnimationFrame(function(){e.addClass(o),n&&e.show()}),requestAnimationFrame(function(){e[0].offsetWidth,e.css("transition",""),e.addClass(a)}),e.one("transitionend",function(){n||e.hide();r(),t&&t.apply(e)})))}return{animateIn:function(n,e,i){o(!0,n,e,i)},animateOut:function(n,e,i){o(!1,n,e,i)}}});