kute.js/demo/src/kute-extra.min.js

3 lines
53 KiB
JavaScript
Raw Normal View History

// KUTE.js Extra v2.0.14 | thednp © 2020 | MIT-License
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).KUTE=e()}(this,(function(){"use strict";var t={},e=[],n="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},r={},a={},i={};i.now=self.performance.now.bind(self.performance);var s=0,o=function(t){for(var n=0;n<e.length;)e[n].update(t)?n++:e.splice(n,1);s=requestAnimationFrame(o)};function u(){setTimeout((function(){if(!e.length&&s){for(var n in cancelAnimationFrame(s),s=null,a)if("function"==typeof a[n])t[n]&&delete t[n];else for(var i in a[n])t[i]&&delete t[i];for(var o in r)t[o]&&delete t[o]}}),64)}var l={Tick:s,Ticker:o,Tweens:e,Time:i};for(var c in l)t[c]||(t[c]="Time"===c?i.now:l[c]);n._KUTE=t;var p={},h={},f={duration:700,delay:0,easing:"linear"},d={},v={},g={},m={},y={},b={supportedProperties:p,defaultValues:h,defaultOptions:f,prepareProperty:d,prepareStart:v,crossCheck:g,onStart:a,onComplete:m,linkProperty:y},w={},x={};function S(t){return e.push(t)}function C(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}function M(){var e=this,n=function(n){var r=y[n],a=p[n];for(var i in r)if("function"==typeof r[i]&&Object.keys(e.valuesEnd).some((function(t){return a&&a.includes(t)||"attr"===t&&Object.keys(e.valuesEnd[t]).some((function(t){return a&&a.includes(t)}))})))!t[i]&&(t[i]=r[i]);else for(var s in e.valuesEnd)for(var o in e.valuesEnd[s])if("function"==typeof r[o])!t[o]&&(t[o]=r[o]);else for(var u in r[i])r[o]&&"function"==typeof r[o][u]&&!t[u]&&(t[u]=r[o][u])};for(var r in y)n(r)}var T={add:S,remove:C,getAll:function(){return e},removeAll:function(){e.length=0},stop:u,linkInterpolation:M};function E(t){if(t.style){var e=t.style.cssText.replace(/\s/g,"").split(";"),n={},r=["translate3d","translate","scale3d","skew"];return e.map((function(t){/transform/i.test(t)&&t.split(":")[1].split(")").map((function(t){var e=t.split("("),a=e[0],i=e[1];/matrix/.test(a)||(n[a]=r.includes(a)?i.split(","):i)}))})),n}}function _(t,e){var n=t.style,r=getComputedStyle(t)||t.currentStyle,a=n[e]&&!/auto|initial|none|unset/.test(n[e])?n[e]:r[e];if("transform"!==e&&(e in r||e in n))return a||h[e]}function k(t,e){var n="start"===e?this.valuesStart:this.valuesEnd;for(var r in d){var a=d[r],i=p[r];for(var s in a){var o={};for(var u in t)h[u]&&a[u]?n[u]=a[u].call(this,u,t[u]):!h[s]&&"transform"===s&&i.includes(u)?o[u]=t[u]:h[u]||"transform"!==u?!h[s]&&i&&i.includes(u)&&(n[u]=a[s].call(this,u,t[u])):n[u]=t[u];Object.keys&&Object.keys(o).length&&(n[s]=a[s].call(this,s,o))}}}function I(){var t={},e=E(this.element);for(var n in this.valuesStart)for(var r in v){var a=v[r];for(var i in a)(i===n&&a[n]||p[r]&&p[r].includes(n))&&(t[n]=a[i].call(this,n,this.valuesStart[n]))}for(var s in e)s in this.valuesStart||(t[s]=e[s]||h[s]);this.valuesStart={},k.call(this,t,"start")}var A={getInlineStyle:E,getStyleForProperty:_,getStartValues:I,prepareObject:k},P=function(t,e,n,r,a){var i=this;this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(r-e)-this.cy,this.ay=1-this.cy-this.by;var s=function(t){return i.sampleCurveY(i.solveCurveX(t))};return Object.defineProperty(s,"name",{writable:!0}),s.name=a||"cubic-bezier("+[t,e,n,r]+")",s};P.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},P.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},P.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},P.prototype.solveCurveX=function(t){var e,n,r,a,i,s,o=1e-5;for(r=t,s=0;s<32;s++){if(a=this.sampleCurveX(r)-t,Math.abs(a)<o)return r;if(i=this.sampleCurveDerivativeX(r),Math.abs(i)<o)break;r-=a/i}if((r=t)<(e=0))return e;if(r>(n=1))return n;for(;e<n;){if(a=this.sampleCurveX(r),Math.abs(a-t)<o)return r;t>a?e=r:n=r,r=.5*(n-e)+e}return r};var O={},L={linear:new P(0,0,1,1,"linear"),easingSinusoidalIn:new P(.47,0,.745,.715,"easingSinusoidalIn"),easingSinusoidalOut:new P(.39,.575,.565,1,"easingSinusoidalOut"),easingSinusoidalInOut:new P(.445,.