2024-02-14 13:02:11 -05:00
|
|
|
import{rgb as n,color as r,hsl as t,lab as e,hcl as a,cubehelix as o}from"d3-color";function basis(n,r,t,e,a){var o=n*n,u=o*n;return((1-3*n+3*o-u)*r+(4-6*o+3*u)*t+(1+3*n+3*o-3*u)*e+u*a)/6}function basis$1(n){var r=n.length-1;return function(t){var e=t<=0?t=0:t>=1?(t=1,r-1):Math.floor(t*r),a=n[e],o=n[e+1],u=e>0?n[e-1]:2*a-o,i=e<r-1?n[e+2]:2*o-a;return basis((t-e/r)*r,u,a,o,i)}}function basisClosed(n){var r=n.length;return function(t){var e=Math.floor(((t%=1)<0?++t:t)*r),a=n[(e+r-1)%r],o=n[e%r],u=n[(e+1)%r],i=n[(e+2)%r];return basis((t-e/r)*r,a,o,u,i)}}var constant=n=>()=>n;function linear(n,r){return function(t){return n+t*r}}function exponential(n,r,t){return n=Math.pow(n,t),r=Math.pow(r,t)-n,t=1/t,function(e){return Math.pow(n+e*r,t)}}function hue$1(n,r){var t=r-n;return t?linear(n,t>180||t<-180?t-360*Math.round(t/360):t):constant(isNaN(n)?r:n)}function gamma(n){return 1===(n=+n)?nogamma:function(r,t){return t-r?exponential(r,t,n):constant(isNaN(r)?t:r)}}function nogamma(n,r){var t=r-n;return t?linear(n,t):constant(isNaN(n)?r:n)}var u=function rgbGamma(r){var t=gamma(r);function rgb(r,e){var a=t((r=n(r)).r,(e=n(e)).r),o=t(r.g,e.g),u=t(r.b,e.b),i=nogamma(r.opacity,e.opacity);return function(n){r.r=a(n);r.g=o(n);r.b=u(n);r.opacity=i(n);return r+""}}rgb.gamma=rgbGamma;return rgb}(1);function rgbSpline(r){return function(t){var e,a,o=t.length,u=new Array(o),i=new Array(o),s=new Array(o);for(e=0;e<o;++e){a=n(t[e]);u[e]=a.r||0;i[e]=a.g||0;s[e]=a.b||0}u=r(u);i=r(i);s=r(s);a.opacity=1;return function(n){a.r=u(n);a.g=i(n);a.b=s(n);return a+""}}}var i=rgbSpline(basis$1);var s=rgbSpline(basisClosed);function numberArray(n,r){r||(r=[]);var t,e=n?Math.min(r.length,n.length):0,a=r.slice();return function(o){for(t=0;t<e;++t)a[t]=n[t]*(1-o)+r[t]*o;return a}}function isNumberArray(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function array(n,r){return(isNumberArray(r)?numberArray:genericArray)(n,r)}function genericArray(n,r){var t,e=r?r.length:0,a=n?Math.min(e,n.length):0,o=new Array(a),u=new Array(e);for(t=0;t<a;++t)o[t]=value(n[t],r[t]);for(;t<e;++t)u[t]=r[t];return function(n){for(t=0;t<a;++t)u[t]=o[t](n);return u}}function date(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function number(n,r){return n=+n,r=+r,function(t){return n*(1-t)+r*t}}function object(n,r){var t,e={},a={};null!==n&&"object"===typeof n||(n={});null!==r&&"object"===typeof r||(r={});for(t in r)t in n?e[t]=value(n[t],r[t]):a[t]=r[t];return function(n){for(t in e)a[t]=e[t](n);return a}}var l=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,c=new RegExp(l.source,"g");function zero(n){return function(){return n}}function one(n){return function(r){return n(r)+""}}function string(n,r){var t,e,a,o=l.lastIndex=c.lastIndex=0,u=-1,i=[],s=[];n+="",r+="";while((t=l.exec(n))&&(e=c.exec(r))){if((a=e.index)>o){a=r.slice(o,a);i[u]?i[u]+=a:i[++u]=a}if((t=t[0])===(e=e[0]))i[u]?i[u]+=e:i[++u]=e;else{i[++u]=null;s.push({i:u,x:number(t,e)})}o=c.lastIndex}if(o<r.length){a=r.slice(o);i[u]?i[u]+=a:i[++u]=a}return i.length<2?s[0]?one(s[0].x):zero(r):(r=s.length,function(n){for(var t,e=0;e<r;++e)i[(t=s[e]).i]=t.x(n);return i.join("")})}function value(n,t){var e,a=typeof t;return null==t||"boolean"===a?constant(t):("number"===a?number:"string"===a?(e=r(t))?(t=e,u):string:t instanceof r?u:t instanceof Date?date:isNumberArray(t)?numberArray:Array.isArray(t)?genericArray:"function"!==typeof t.valueOf&&"function"!==typeof t.toString||isNaN(t)?object:number)(n,t)}function discrete(n){var r=n.length;return function(t){return n[Math.max(0,Math.min(r-1,Math.floor(t*r)))]}}function hue(n,r){var t=hue$1(+n,+r);return function(n){var r=t(n);return r-360*Math.floor(r/360)}}function round(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}var f=180/Math.PI;var h={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(n,r,t,e,a,o){var u,i,s;(u=Math.sqrt(n*n+r*r))&&(n/=u,r/=u);(s=n*t+r*e)&&(t-=n*s,e-=r*s);(i=Math.sqrt(t*t+e*e))&&(t/=i,e/=i,s/=i);n*e<r*t&&(n=-n,r=-r,s=-s,u=-u);return{translateX:a,translateY:o,rotate:Ma
|