kute.js/dist/kute.min.js

3 lines
39 KiB
JavaScript
Raw Normal View History

// KUTE.js Standard v2.1.1-alpha1 | thednp © 2021 | 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=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};t.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},t.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},t.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},t.prototype.solveCurveX=function(t){var e,n,r,a,i,s,o=1e-5;for(r=t,s=0;s<32;s+=1){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 e={},n=[],r="undefined"!=typeof global?global:void 0!==window.self?window.self:"undefined"!=typeof window?window:{},a={},i={},s={},o=window.self||window||{};s.now=o.performance.now.bind(o.performance);var u=0,c=function(t){for(var e=0;e<n.length;)n[e].update(t)?e+=1:n.splice(e,1);u=requestAnimationFrame(c)};function l(){setTimeout((function(){!n.length&&u&&(cancelAnimationFrame(u),u=null,Object.keys(i).forEach((function(t){"function"==typeof i[t]?e[t]&&delete e[t]:Object.keys(i[t]).forEach((function(t){e[t]&&delete e[t]}))})),Object.keys(a).forEach((function(t){e[t]&&delete e[t]})))}),64)}var h={Tick:u,Ticker:c,Tweens:n,Time:s};Object.keys(h).forEach((function(t){e[t]||(e[t]="Time"===t?s.now:h[t])})),r._KUTE=e;var p={},f={},d={duration:700,delay:0,easing:"linear"},v={},y={},g={},m={},b={},x={supportedProperties:p,defaultValues:f,defaultOptions:d,prepareProperty:v,prepareStart:y,crossCheck:g,onStart:i,onComplete:m,linkProperty:b},w={};function E(t){return n.push(t)}function M(t){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}function _(){var t=this;Object.keys(b).forEach((function(n){var r=b[n],a=p[n];Object.keys(r).forEach((function(n){"function"==typeof r[n]&&Object.keys(t.valuesEnd).some((function(e){return a&&a.includes(e)||"attr"===e&&Object.keys(t.valuesEnd[e]).some((function(t){return a&&a.includes(t)}))}))?e[n]||(e[n]=r[n]):Object.keys(t.valuesEnd).forEach((function(a){Object.keys(t.valuesEnd[a]).forEach((function(t){"function"==typeof r[t]?e[t]||(e[t]=r[t]):Object.keys(r[n]).forEach((function(n){r[t]&&"function"==typeof r[t][n]&&(e[n]||(e[n]=r[t][n]))}))}))}))}))}))}var k={add:E,remove:M,getAll:function(){return n},removeAll:function(){n.length=0},stop:l,linkInterpolation:_};function O(t){if(!t.style)return!1;var e=t.style.cssText.replace(/\s/g,"").split(";"),n={},r=["translate3d","translate","scale3d","skew"];return e.forEach((function(t){/transform/i.test(t)&&t.split(":")[1].split(")").forEach((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 C(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],i=f[e];return"transform"!==e&&(e in r||e in n)&&(i=a),i}function T(t,e){var n=this,r="start"===e?this.valuesStart:this.valuesEnd;Object.keys(v).forEach((function(e){var a=v[e],i=p[e];Object.keys(a).forEach((function(e){var s={};Object.keys(t).forEach((function(o){f[o]&&a[o]?r[o]=a[o].call(n,o,t[o]):!f[e]&&"transform"===e&&i.includes(o)?s[o]=t[o]:f[o]||"transform"!==o?!f[e]&&i&&i.includes(o)&&(r[o]=a[e].call(n,o,t[o])):r[o]=t[o]})),Object.keys(s).length&&(r[e]=a[e].call(n,e,s))}))}))}function S(){var t=this,e={},n=O(this.element);Object.keys(this.valuesStart).forEach((function(n){Object.keys(y).forEach((function(r){var a=y[r];Object.keys(a).forEach((function(i){(i===n&&a[n]||p[r]&&p[r].includes(n))&&(e[n]=a[i].call(t,n,t.valuesStart[n]))}))}))})),Object.keys(n).forEach((function(r){r in t.val