@tomorrowevening/hermes
Version:
An extendable set of Web Tools controlled via a separate window for non-intereference with content.
2 lines (1 loc) • 1.34 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function B(n,t,r){return Math.min(t,Math.max(n,r))}function b(n,t,r){return(r-n)/(t-n)}function x(n,t,r){return n*(1-r)+t*r}function j(n,t,r,o,c){return x(r,o,b(n,t,c))}function q(n,t){const r=n-t;return Math.sqrt(r*r)}function C(n,t,r,o){return x(n,t,1-Math.exp(-r*o))}function D(n,t=1){return Number(n.toFixed(t))}function E(n,t,r,o){return Math.atan2(o-t,r-n)}function G(n,t,r,o){return n===t&&r===o}function I(n,t,r,o){return 1/(3*t*n*n+2*r*n+o)}function L(n,t,r,o,c){return t*(n*n*n)+r*(n*n)+o*n+c}function N(n,t,r,o,c){const u=n*n;return t*(u*n)+r*u+o*n+c}function O(n,t,r,o,c){if(n<=0)return 0;if(n>=1)return 1;if(G(t,r,o,c))return n;const u=0,i=0,s=t,f=r,l=o,d=c,p=1,y=1,h=p-3*l+3*s-u,M=3*l-6*s+3*u,g=3*s-3*u,F=u,$=y-3*d+3*f-i,z=3*d-6*f+3*i,H=3*f-3*i,S=i;let e=n;for(let T=0;T<5;T++){const A=L(e,h,M,g,F);let m=I(e,h,M,g);m===1/0&&(m=n),e-=(A-n)*m,e=Math.min(Math.max(e,0),1)}return N(e,$,z,H,S)}const a=n=>Math.round(Math.min(1,Math.max(0,n))*255).toString(16).padStart(2,"0");function P({r:n,g:t,b:r,a:o=1}){const c=`#${a(n)}${a(t)}${a(r)}`;return o<1?`${c}${a(o)}`:c}exports.clamp=B;exports.cubicBezier=O;exports.damp=C;exports.distance=q;exports.getAngle=E;exports.map=j;exports.mix=x;exports.normalize=b;exports.rgbaToHex=P;exports.roundTo=D;