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

3 lines
50 KiB
JavaScript
Raw Normal View History

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