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

3 lines
51 KiB
JavaScript
Raw Normal View History

// KUTE.js Extra v2.0.3 | 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="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function r(t,e,n){return(t=+t)+(e-=t)*n}function i(t,e,n,r){return(t=+t)+(e-=t)*r+n}function a(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 s={numbers:r,units:i,arrays:a},o={},l={};"undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?l.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&&(l.now=self.performance.now.bind(self.performance));var u=0,p=function(t){for(var n=0;n<e.length;)e[n].update(t)?n++:e.splice(n,1);u=requestAnimationFrame(p)};function c(){setTimeout((function(){if(!e.length&&u){for(var n in cancelAnimationFrame(u),u=null,o)if("function"==typeof o[n])t[n]&&delete t[n];else for(var r in o[n])t[r]&&delete t[r];for(var i in s)t[i]&&delete t[i]}}),64)}var h={Tick:u,Ticker:p,Tweens:e,Time:l};for(var f in h)t[f]||(t[f]="Time"===f?l.now:h[f]);n._KUTE=t;var d={},v={},g={duration:700,delay:0,easing:"linear"},m={},y={},b={},w={},x={},S={supportedProperties:d,defaultValues:v,defaultOptions:g,prepareProperty:m,prepareStart:y,crossCheck:b,onStart:o,onComplete:w,linkProperty:x},M={},T={};function E(t){return e.push(t)}function _(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}function C(){var e=this,n=function(n){var r=x[n],i=d[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 l in r[a])r[o]&&"function"==typeof r[o][l]&&!t[l]&&(t[l]=r[o][l])};for(var r in x)n(r)}var k={add:E,remove:_,getAll:function(){return e},removeAll:function(){e.length=0},stop:c,linkInterpolation:C};function I(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 P(t,e){var n=t.style,r=getComputedStyle(t)||t.currentStyle,i=n[e]&&!/auto|initial|none|unset/.test(n[e])?n[e]:r[e];if("transform"!==e&&(e in r||e in n))return i||v[e]}function O(t,e){var n="start"===e?this.valuesStart:this.valuesEnd;for(var r in m){var i=m[r],a=d[r];for(var s in i){var o={};for(var l in t)v[l]&&i[l]?n[l]=i[l].call(this,l,t[l]):!v[s]&&"transform"===s&&a.includes(l)?o[l]=t[l]:!v[s]&&a&&a.includes(l)&&(n[l]=i[s].call(this,l,t[l]));Object.keys&&Object.keys(o).length&&(n[s]=i[s].call(this,s,o))}}}function A(){var t={},e=I(this.element);for(var n in this.valuesStart)for(var r in y){var i=y[r];for(var a in i)(a===n&&i[n]||d[r]&&d[r].includes(n))&&(t[n]=i[a].call(this,n,this.valuesStart[n]))}for(var s in e)s in this.valuesStart||(t[s]=e[s]||v[s]);this.valuesStart={},O.call(this,t,"start")}var L={getInlineStyle:I,getStyleForProperty:P,getStartValues:A,prepareObject:O},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