victory-canvas
Advanced tools
Comparing version 36.9.2 to 37.0.0
# victory-canvas | ||
## 37.0.0 | ||
### Major Changes | ||
- Upgrade babel dependencies and build target to modern browsers ([#2804](https://github.com/FormidableLabs/victory/pull/2804)) | ||
## 36.9.2 | ||
@@ -4,0 +10,0 @@ |
@@ -1,2 +0,2 @@ | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.VictoryCanvas=n(require("react")):t.VictoryCanvas=n(t.React)}(self,(t=>(()=>{var n={2596:(t,n,i)=>{var e=i(2373).Symbol;t.exports=e},6082:t=>{t.exports=function(t,n,i){switch(i.length){case 0:return t.call(n);case 1:return t.call(n,i[0]);case 2:return t.call(n,i[0],i[1]);case 3:return t.call(n,i[0],i[1],i[2])}return t.apply(n,i)}},8644:t=>{t.exports=function(t,n){for(var i=-1,e=null==t?0:t.length,o=Array(e);++i<e;)o[i]=n(t[i],i,t);return o}},9559:t=>{t.exports=function(t,n){for(var i=-1,e=n.length,o=t.length;++i<e;)t[o+i]=n[i];return t}},4132:(t,n,i)=>{var e=i(8347),o=i(788),r=Object.prototype.hasOwnProperty;t.exports=function(t,n,i){var s=t[n];r.call(t,n)&&o(s,i)&&(void 0!==i||n in t)||e(t,n,i)}},8347:(t,n,i)=>{var e=i(5525);t.exports=function(t,n,i){"__proto__"==n&&e?e(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}},6457:(t,n,i)=>{var e=i(9559),o=i(3608);t.exports=function t(n,i,r,s,c){var a=-1,h=n.length;for(r||(r=o),c||(c=[]);++a<h;){var u=n[a];i>0&&r(u)?i>1?t(u,i-1,r,s,c):e(c,u):s||(c[c.length]=u)}return c}},4432:(t,n,i)=>{var e=i(9026),o=i(3110);t.exports=function(t,n){for(var i=0,r=(n=e(n,t)).length;null!=t&&i<r;)t=t[o(n[i++])];return i&&i==r?t:void 0}},563:t=>{var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},6776:t=>{t.exports=function(t,n){return null!=t&&n in Object(t)}},5436:(t,n,i)=>{var e=i(6371),o=i(5066);t.exports=function(t,n){return e(t,n,(function(n,i){return o(t,i)}))}},6371:(t,n,i)=>{var e=i(4432),o=i(6539),r=i(9026);t.exports=function(t,n,i){for(var s=-1,c=n.length,a={};++s<c;){var h=n[s],u=e(t,h);i(u,h)&&o(a,r(h,t),u)}return a}},1600:t=>{t.exports=function(t){return function(n){return null==n?void 0:n[t]}}},3301:(t,n,i)=>{var e=i(4432);t.exports=function(t){return function(n){return e(n,t)}}},6317:(t,n,i)=>{var e=i(5346),o=i(4280),r=i(201);t.exports=function(t,n){return r(o(t,n,e),t+"")}},6539:(t,n,i)=>{var e=i(4132),o=i(9026),r=i(9099),s=i(7709),c=i(3110);t.exports=function(t,n,i,a){if(!s(t))return t;for(var h=-1,u=(n=o(n,t)).length,l=u-1,_=t;null!=_&&++h<u;){var f=c(n[h]),y=i;if("__proto__"===f||"constructor"===f||"prototype"===f)return t;if(h!=l){var x=_[f];void 0===(y=a?a(x,f,_):void 0)&&(y=s(x)?x:r(n[h+1])?[]:{})}e(_,f,y),_=_[f]}return t}},6316:(t,n,i)=>{var e=i(2596),o=i(8644),r=i(163),s=i(1995),c=e?e.prototype:void 0,a=c?c.toString:void 0;t.exports=function t(n){if("string"==typeof n)return n;if(r(n))return o(n,t)+"";if(s(n))return a?a.call(n):"";var i=n+"";return"0"==i&&1/n==-1/0?"-0":i}},9026:(t,n,i)=>{var e=i(163),o=i(726),r=i(7801),s=i(7010);t.exports=function(t,n){return e(t)?t:o(t,n)?[t]:r(s(t))}},5525:(t,n,i)=>{var e=i(3743),o=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},5557:(t,n,i)=>{var e=i(2645),o=i(4280),r=i(201);t.exports=function(t){return r(o(t,void 0,e),t+"")}},2117:(t,n,i)=>{var e="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;t.exports=e},3743:t=>{t.exports=function(t,n){return null==t?void 0:t[n]}},9817:(t,n,i)=>{var e=i(5125)(Object.getPrototypeOf,Object);t.exports=e},3096:(t,n,i)=>{var e=i(9026),o=i(5075),r=i(163),s=i(9099),c=i(8454),a=i(3110);t.exports=function(t,n,i){for(var h=-1,u=(n=e(n,t)).length,l=!1;++h<u;){var _=a(n[h]);if(!(l=null!=t&&i(t,_)))break;t=t[_]}return l||++h!=u?l:!!(u=null==t?0:t.length)&&c(u)&&s(_,u)&&(r(t)||o(t))}},3608:(t,n,i)=>{var e=i(2596),o=i(5075),r=i(163),s=e?e.isConcatSpreadable:void 0;t.exports=function(t){return r(t)||o(t)||!!(s&&t&&t[s])}},9099:t=>{var n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,i){var e=typeof t;return!!(i=null==i?9007199254740991:i)&&("number"==e||"symbol"!=e&&n.test(t))&&t>-1&&t%1==0&&t<i}},8286:t=>{t.exports=function(){return!1}},726:(t,n,i)=>{var e=i(163),o=i(1995),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;t.exports=function(t,n){if(e(t))return!1;var i=typeof t;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=t&&!o(t))||s.test(t)||!r.test(t)||null!=n&&t in Object(n)}},2453:t=>{t.exports=function(t){return t}},5125:t=>{t.exports=function(t,n){return function(i){return t(n(i))}}},4280:(t,n,i)=>{var e=i(6082),o=Math.max;t.exports=function(t,n,i){return n=o(void 0===n?t.length-1:n,0),function(){for(var r=arguments,s=-1,c=o(r.length-n,0),a=Array(c);++s<c;)a[s]=r[n+s];s=-1;for(var h=Array(n+1);++s<n;)h[s]=r[s];return h[n]=i(a),e(t,this,h)}}},2373:(t,n,i)=>{var e=i(2117),o="object"==typeof self&&self&&self.Object===Object&&self,r=e||o||Function("return this")();t.exports=r},201:t=>{t.exports=function(t){return t}},7801:(t,n,i)=>{var e=i(2453),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e((function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(o,(function(t,i,e,o){n.push(e?o.replace(r,"$1"):i||t)})),n}));t.exports=s},3110:(t,n,i)=>{var e=i(1995);t.exports=function(t){if("string"==typeof t||e(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},1893:(t,n,i)=>{var e=i(6317),o=i(788),r=i(8286),s=i(8855),c=Object.prototype,a=c.hasOwnProperty,h=e((function(t,n){t=Object(t);var i=-1,e=n.length,h=e>2?n[2]:void 0;for(h&&r(n[0],n[1],h)&&(e=1);++i<e;)for(var u=n[i],l=s(u),_=-1,f=l.length;++_<f;){var y=l[_],x=t[y];(void 0===x||o(x,c[y])&&!a.call(t,y))&&(t[y]=u[y])}return t}));t.exports=h},788:t=>{t.exports=function(t,n){return t===n||t!=t&&n!=n}},2645:(t,n,i)=>{var e=i(6457);t.exports=function(t){return null!=t&&t.length?e(t,1):[]}},5066:(t,n,i)=>{var e=i(6776),o=i(3096);t.exports=function(t,n){return null!=t&&o(t,n,e)}},5346:t=>{t.exports=function(t){return t}},5075:t=>{t.exports=function(){return!1}},163:t=>{var n=Array.isArray;t.exports=n},8454:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7709:t=>{t.exports=function(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}},3474:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},3849:(t,n,i)=>{var e=i(563),o=i(9817),r=i(3474),s=Function.prototype,c=Object.prototype,a=s.toString,h=c.hasOwnProperty,u=a.call(Object);t.exports=function(t){if(!r(t)||"[object Object]"!=e(t))return!1;var n=o(t);if(null===n)return!0;var i=h.call(n,"constructor")&&n.constructor;return"function"==typeof i&&i instanceof i&&a.call(i)==u}},1995:t=>{t.exports=function(){return!1}},8855:t=>{t.exports=function(t){var n=[];if(null!=t)for(var i in Object(t))n.push(i);return n}},9082:(t,n,i)=>{var e=i(5436),o=i(5557)((function(t,n){return null==t?{}:e(t,n)}));t.exports=o},8532:(t,n,i)=>{var e=i(1600),o=i(3301),r=i(726),s=i(3110);t.exports=function(t){return r(t)?e(s(t)):o(t)}},7010:(t,n,i)=>{var e=i(6316);t.exports=function(t){return null==t?"":e(t)}},9787:n=>{"use strict";n.exports=t}},i={};function e(t){var o=i[t];if(void 0!==o)return o.exports;var r=i[t]={exports:{}};return n[t](r,r.exports,e),r.exports}e.n=t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},e.d=(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return(()=>{"use strict";e.r(o),e.d(o,{CanvasBar:()=>nt,CanvasCurve:()=>vi,CanvasGroup:()=>it,CanvasPoint:()=>Si,useCanvasContext:()=>K});var t={};e.r(t),e.d(t,{arc:()=>D,area:()=>ut,areaRadial:()=>bt,curveBasis:()=>un,curveBasisClosed:()=>_n,curveBasisOpen:()=>yn,curveBumpX:()=>wt,curveBumpY:()=>Mt,curveBundle:()=>pn,curveCardinal:()=>bn,curveCardinalClosed:()=>mn,curveCardinalOpen:()=>wn,curveCatmullRom:()=>On,curveCatmullRomClosed:()=>Pn,curveCatmullRomOpen:()=>Cn,curveLinear:()=>st,curveLinearClosed:()=>jn,curveMonotoneX:()=>Wn,curveMonotoneY:()=>Xn,curveNatural:()=>Zn,curveStep:()=>Fn,curveStepAfter:()=>Un,curveStepBefore:()=>Vn,line:()=>ht,lineRadial:()=>dt,link:()=>Pt,linkHorizontal:()=>At,linkRadial:()=>Rt,linkVertical:()=>Ct,pie:()=>ft,pointRadial:()=>gt,radialArea:()=>bt,radialLine:()=>dt,stack:()=>Kn,stackOffsetDiverging:()=>ni,stackOffsetExpand:()=>ti,stackOffsetNone:()=>Gn,stackOffsetSilhouette:()=>ii,stackOffsetWiggle:()=>ei,stackOrderAppearance:()=>oi,stackOrderAscending:()=>si,stackOrderDescending:()=>ai,stackOrderInsideOut:()=>hi,stackOrderNone:()=>Hn,stackOrderReverse:()=>ui,symbol:()=>sn,symbolAsterisk:()=>Et,symbolCircle:()=>Nt,symbolCross:()=>Lt,symbolDiamond:()=>It,symbolDiamond2:()=>Dt,symbolPlus:()=>Wt,symbolSquare:()=>Xt,symbolSquare2:()=>Yt,symbolStar:()=>Ft,symbolTriangle:()=>Ut,symbolTriangle2:()=>Ht,symbolWye:()=>nn,symbolX:()=>en,symbols:()=>on,symbolsFill:()=>on,symbolsStroke:()=>rn});var n=e(9787),i=e.n(n),r=e(3849),s=e.n(r);function c(t,n){return u(t)?t(n):t}function a(t,n){return n.disableInlineStyles?{}:t&&Object.keys(t).some((function(n){return u(t[n])}))?Object.keys(t).reduce((function(i,e){return i[e]=c(t[e],n),i}),{}):t}function h(t){return null==t}function u(t){return"function"==typeof t}e(9082),e(8532),e(1893);const l=Math.PI,_=2*l,f=1e-6,y=_-f;function x(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function p(){return new x}x.prototype=p.prototype={constructor:x,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,e){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+e)},bezierCurveTo:function(t,n,i,e,o,r){this._+="C"+ +t+","+ +n+","+ +i+","+ +e+","+(this._x1=+o)+","+(this._y1=+r)},arcTo:function(t,n,i,e,o){t=+t,n=+n,i=+i,e=+e,o=+o;var r=this._x1,s=this._y1,c=i-t,a=e-n,h=r-t,u=s-n,_=h*h+u*u;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(_>f)if(Math.abs(u*c-a*h)>f&&o){var y=i-r,x=e-s,p=c*c+a*a,v=y*y+x*x,d=Math.sqrt(p),b=Math.sqrt(_),g=o*Math.tan((l-Math.acos((p+_-v)/(2*d*b)))/2),m=g/b,T=g/d;Math.abs(m-1)>f&&(this._+="L"+(t+m*h)+","+(n+m*u)),this._+="A"+o+","+o+",0,0,"+ +(u*y>h*x)+","+(this._x1=t+T*c)+","+(this._y1=n+T*a)}else this._+="L"+(this._x1=t)+","+(this._y1=n)},arc:function(t,n,i,e,o,r){t=+t,n=+n,r=!!r;var s=(i=+i)*Math.cos(e),c=i*Math.sin(e),a=t+s,h=n+c,u=1^r,x=r?e-o:o-e;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+a+","+h:(Math.abs(this._x1-a)>f||Math.abs(this._y1-h)>f)&&(this._+="L"+a+","+h),i&&(x<0&&(x=x%_+_),x>y?this._+="A"+i+","+i+",0,1,"+u+","+(t-s)+","+(n-c)+"A"+i+","+i+",0,1,"+u+","+(this._x1=a)+","+(this._y1=h):x>f&&(this._+="A"+i+","+i+",0,"+ +(x>=l)+","+u+","+(this._x1=t+i*Math.cos(o))+","+(this._y1=n+i*Math.sin(o))))},rect:function(t,n,i,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +e+"h"+-i+"Z"},toString:function(){return this._}};const v=p;function d(t){return function(){return t}}const b=Math.abs,g=Math.atan2,m=Math.cos,T=Math.max,w=Math.min,M=Math.sin,k=Math.sqrt,O=1e-12,S=Math.PI,P=S/2,A=2*S;function C(t){return t>1?0:t<-1?S:Math.acos(t)}function R(t){return t>=1?P:t<=-1?-P:Math.asin(t)}function j(t){return t.innerRadius}function E(t){return t.outerRadius}function N(t){return t.startAngle}function L(t){return t.endAngle}function z(t){return t&&t.padAngle}function q(t,n,i,e,o,r,s,c){var a=i-t,h=e-n,u=s-o,l=c-r,_=l*a-u*h;if(!(_*_<O))return[t+(_=(u*(n-r)-l*(t-o))/_)*a,n+_*h]}function I(t,n,i,e,o,r,s){var c=t-i,a=n-e,h=(s?r:-r)/k(c*c+a*a),u=h*a,l=-h*c,_=t+u,f=n+l,y=i+u,x=e+l,p=(_+y)/2,v=(f+x)/2,d=y-_,b=x-f,g=d*d+b*b,m=o-r,w=_*x-y*f,M=(b<0?-1:1)*k(T(0,m*m*g-w*w)),O=(w*b-d*M)/g,S=(-w*d-b*M)/g,P=(w*b+d*M)/g,A=(-w*d+b*M)/g,C=O-p,R=S-v,j=P-p,E=A-v;return C*C+R*R>j*j+E*E&&(O=P,S=A),{cx:O,cy:S,x01:-u,y01:-l,x11:O*(o/m-1),y11:S*(o/m-1)}}function D(){var t=j,n=E,i=d(0),e=null,o=N,r=L,s=z,c=null;function a(){var a,h,u=+t.apply(this,arguments),l=+n.apply(this,arguments),_=o.apply(this,arguments)-P,f=r.apply(this,arguments)-P,y=b(f-_),x=f>_;if(c||(c=a=v()),l<u&&(h=l,l=u,u=h),l>O)if(y>A-O)c.moveTo(l*m(_),l*M(_)),c.arc(0,0,l,_,f,!x),u>O&&(c.moveTo(u*m(f),u*M(f)),c.arc(0,0,u,f,_,x));else{var p,d,T=_,j=f,E=_,N=f,L=y,z=y,D=s.apply(this,arguments)/2,W=D>O&&(e?+e.apply(this,arguments):k(u*u+l*l)),X=w(b(l-u)/2,+i.apply(this,arguments)),Y=X,B=X;if(W>O){var Z=R(W/u*M(D)),$=R(W/l*M(D));(L-=2*Z)>O?(E+=Z*=x?1:-1,N-=Z):(L=0,E=N=(_+f)/2),(z-=2*$)>O?(T+=$*=x?1:-1,j-=$):(z=0,T=j=(_+f)/2)}var F=l*m(T),V=l*M(T),U=u*m(N),G=u*M(N);if(X>O){var H,Q=l*m(j),J=l*M(j),K=u*m(E),tt=u*M(E);if(y<S&&(H=q(F,V,K,tt,Q,J,U,G))){var nt=F-H[0],it=V-H[1],et=Q-H[0],ot=J-H[1],rt=1/M(C((nt*et+it*ot)/(k(nt*nt+it*it)*k(et*et+ot*ot)))/2),st=k(H[0]*H[0]+H[1]*H[1]);Y=w(X,(u-st)/(rt-1)),B=w(X,(l-st)/(rt+1))}}z>O?B>O?(p=I(K,tt,F,V,l,B,x),d=I(Q,J,U,G,l,B,x),c.moveTo(p.cx+p.x01,p.cy+p.y01),B<X?c.arc(p.cx,p.cy,B,g(p.y01,p.x01),g(d.y01,d.x01),!x):(c.arc(p.cx,p.cy,B,g(p.y01,p.x01),g(p.y11,p.x11),!x),c.arc(0,0,l,g(p.cy+p.y11,p.cx+p.x11),g(d.cy+d.y11,d.cx+d.x11),!x),c.arc(d.cx,d.cy,B,g(d.y11,d.x11),g(d.y01,d.x01),!x))):(c.moveTo(F,V),c.arc(0,0,l,T,j,!x)):c.moveTo(F,V),u>O&&L>O?Y>O?(p=I(U,G,Q,J,u,-Y,x),d=I(F,V,K,tt,u,-Y,x),c.lineTo(p.cx+p.x01,p.cy+p.y01),Y<X?c.arc(p.cx,p.cy,Y,g(p.y01,p.x01),g(d.y01,d.x01),!x):(c.arc(p.cx,p.cy,Y,g(p.y01,p.x01),g(p.y11,p.x11),!x),c.arc(0,0,u,g(p.cy+p.y11,p.cx+p.x11),g(d.cy+d.y11,d.cx+d.x11),x),c.arc(d.cx,d.cy,Y,g(d.y11,d.x11),g(d.y01,d.x01),!x))):c.arc(0,0,u,N,E,x):c.lineTo(U,G)}else c.moveTo(0,0);if(c.closePath(),a)return c=null,a+""||null}return a.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +r.apply(this,arguments))/2-S/2;return[m(e)*i,M(e)*i]},a.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),a):t},a.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),a):n},a.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:d(+t),a):i},a.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:d(+t),a):e},a.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),a):o},a.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:d(+t),a):r},a.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:d(+t),a):s},a.context=function(t){return arguments.length?(c=null==t?null:t,a):c},a}var W=function(t,n){return{x:t,y:n,distance:function(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))},add:function(t){return W(this.x+t.x,this.y+t.y)},subtract:function(t){return W(this.x-t.x,this.y-t.y)},scalarMult:function(t){return W(this.x*t,this.y*t)},scalarDivide:function(t){if(0===t)throw new Error("Division by 0 error");return W(this.x/t,this.y/t)},equals:function(t){return this.x===t.x&&this.y===t.y}}},X=function(t,n){return{center:t,radius:n,hasIntersection:function(t){var n=this.center,i=t.center,e=this.radius,o=t.radius,r=n.distance(i);return!(r>e+o||r<Math.abs(e-o))},equals:function(t){var n=this.center,i=t.center;return this.radius===t.radius&&n.equals(i)},intersection:function(t){var n=this.center,i=t.center,e=this.radius,o=t.radius,r=n.distance(i);if(!this.hasIntersection(t)||this.equals(t))return[];var s=(Math.pow(e,2)-Math.pow(o,2)+Math.pow(r,2))/(2*r),c=Math.sqrt(Math.pow(e,2)-Math.pow(s,2)),a=n.add(i.subtract(n).scalarMult(s).scalarDivide(r)),h=n.x,u=n.y,l=i.x,_=i.y,f=a.x,y=a.y,x=[W(f-c*(_-u)/r,y+c*(l-h)/r),W(f+c*(_-u)/r,y-c*(l-h)/r)];return x.sort((function(t,n){return t.x-n.x})),x},solveX:function(t){var n=Math.sqrt(Math.pow(this.radius,2)-Math.pow(t-this.center.y,2));return[this.center.x-n,this.center.x+n]},solveY:function(t){var n=Math.sqrt(Math.pow(this.radius,2)-Math.pow(t-this.center.x,2));return[this.center.y-n,this.center.y+n]}}};function Y(t,n){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),i.push.apply(i,e)}return i}function B(t){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?Y(Object(i),!0).forEach((function(n){Z(t,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Y(Object(i)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(i,n))}))}return t}function Z(t,n,i){return n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i,t}function $(t){return function(t){if(Array.isArray(t))return F(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(t){if("string"==typeof t)return F(t,n);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?F(t,n):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,e=new Array(n);i<n;i++)e[i]=t[i];return e}var V=function(t,n){var i=t.x,e=t.x0,o=t.y,r=t.y0,s=t.horizontal,c=t.alignment||"middle",a="middle"===c?n/2:n,h=s?-1:1;return s?{x0:e,x1:i,y0:"start"===c?o:o-h*a,y1:"end"===c?o:o+h*a}:{x0:"start"===c?i:i-h*a,x1:"end"===c?i:i+h*a,y0:r,y1:o}},U=function(t,n){var i=t.data,e=t.scale,o=void 0===i[n]._x1?"_x":"_x1";return e.x(i[n][o])},G=function(t){return-1*t+Math.PI/2},H=function(t,n,i){var e="".concat(n.topLeft," ").concat(n.topLeft," ").concat(i),o="".concat(n.topRight," ").concat(n.topRight," ").concat(i),r="".concat(n.bottomLeft," ").concat(n.bottomLeft," ").concat(i),s="".concat(n.bottomRight," ").concat(n.bottomRight," ").concat(i),c=["M","A ".concat(r,","),"L","A ".concat(e,","),"L","A ".concat(o,","),"L","A ".concat(s,",")].reduce((function(n,i,e){return"".concat(n).concat(i," ").concat(t[e].x,", ").concat(t[e].y," \n")}),"");return"".concat(c," z")},Q=function(t,n,i){return t.getPath?function(t,n){var i=t.getPath;if("function"==typeof i)return i(B(B({},t),V(t,n)))}(t,n):t.horizontal?function(t,n,i){var e=V(t,n),o=e.x0<e.x1?1:-1,r={topRight:o>0?i.topLeft:i.bottomLeft,bottomRight:o>0?i.topRight:i.bottomRight,bottomLeft:o>0?i.bottomRight:i.topRight,topLeft:o>0?i.bottomLeft:i.topLeft},s=function(t,n,i){var e=t.y0,o=t.y1,r=t.x0<t.x1?t.x0:t.x1,s=t.x0<t.x1?t.x1:t.x0,c=function(t){var c="top"===t,a=c?-1:1,h=c?o:e,u={x:r,y:h-a*i["".concat(t,"Left")]},l={x:r+i["".concat(t,"Left")],y:h},_={x:s-i["".concat(t,"Right")],y:h},f={x:s,y:h-a*i["".concat(t,"Right")]};if(l.x>_.x){var y=W(r+i["".concat(t,"Left")],h-a*i["".concat(t,"Left")]),x=X(y,i["".concat(t,"Left")]),p=W(s-i["".concat(t,"Right")],h-a*i["".concat(t,"Right")]),v=X(p,i["".concat(t,"Right")]),d=x.intersection(v);if(d.length>0){var b=d[n>0?1:0];l={x:b.x,y:b.y},_={x:b.x,y:b.y}}else if(i["".concat(t,"Right")]>i["".concat(t,"Left")]){var g=v.solveY(r)[c?0:1];u={x:r,y:g},l={x:r,y:g},_={x:r,y:g}}else{var m=x.solveY(s)[c?0:1];f={x:s,y:m},_={x:s,y:m},l={x:s,y:m}}}return[u,l,_,f]},a=c("top"),h=c("bottom");return[h[1],h[0]].concat($(a),[h[3],h[2]])}(e,o,r);return H(s,r,"0 0 1")}(t,n,i):function(t,n,i){var e=V(t,n),o=e.y0>e.y1?1:-1,r=o>0?"0 0 1":"0 0 0",s=function(t,n,i){var e=t.x0,o=t.x1,r=t.y0,s=t.y1,c=function(t){var c="Left"===t,a=c?1:-1,h=c?e:o,u={x:h+a*i["bottom".concat(t)],y:r},l={x:h,y:r-n*i["bottom".concat(t)]},_={x:h,y:s+n*i["top".concat(t)]},f={x:h+a*i["top".concat(t)],y:s};if(1===n?r-i["bottom".concat(t)]<s+i["top".concat(t)]:r+i["bottom".concat(t)]>s-i["top".concat(t)]){var y=W(h+a*i["top".concat(t)],s+n*i["top".concat(t)]),x=X(y,i["top".concat(t)]),p=W(h+a*i["bottom".concat(t)],r-n*i["bottom".concat(t)]),v=X(p,i["bottom".concat(t)]),d=x.intersection(v);if(d.length>0){var b=d[c?0:1];l={x:b.x,y:b.y},_={x:b.x,y:b.y}}else if(i["top".concat(t)]>i["bottom".concat(t)]){var g=x.solveX(r)[c?0:1];u={x:g,y:r},l={x:g,y:r},_={x:g,y:r}}else{var m=v.solveX(s)[c?0:1];l={x:m,y:s},_={x:m,y:s},f={x:m,y:s}}}var T=[u,l,_,f];return c?T:T.reverse()};return c("Left").concat(c("Right"))}(e,o,i);return H(s,i,r)}(t,n,i)},J=i().createContext(void 0),K=function(){var t=i().useContext(J);if(!t)throw new Error("This component must be wrapped in a CanvasContext.Provider component.\n Try setting groupComponent={<CanvasGroup />} in your chart component.");return t},tt=function(t){var n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(n.disableInlineStyles)return{};var i={fill:"black",stroke:t.fill||"black"};return a(Object.assign(i,t),n)}(t.style,t),i=function(t,n){var i=n.scale,e=n.data,o=n.style;if(t)return c(t,n);if(o.width)return o.width;var r=i.x.range(),s=Math.abs(r[1]-r[0]),a=e.length+2,h=(n.barRatio||.5)*(e.length<2?8:s/a);return Math.max(1,h)}(t.barWidth,Object.assign({},t,{style:n})),e=function(t,n){var i={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0};return t?function(t){return s()(t)}(t)?function(t,n){var i={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},e=function(e,o){h(t[e])?h(t[o])||(i[e]=c(t[o],n)):i[e]=c(t[e],n)};return e("topLeft","top"),e("topRight","top"),e("bottomLeft","bottom"),e("bottomRight","bottom"),i}(t,n):(i.topLeft=c(t,n),i.topRight=c(t,n),i):i}(t.cornerRadius,Object.assign({},t,{style:n,barWidth:i}));return Object.assign({},t,{style:n,barWidth:i,cornerRadius:e})},nt=function(t){var n,e,o=K().canvasRef,r=tt(t),s=r.polar,c=r.style,a=r.barWidth,h=r.cornerRadius,u=r.origin,l=i().useMemo((function(){var t=s?function(t,n){return function(t,n){var i,e,o=t.datum,r=t.scale,s=t.index,c=t.alignment,a=t.style,h=r.y(o._y0||0),u=r.y(void 0!==o._y1?o._y1:o._y),l=r.x(void 0!==o._x1?o._x1:o._x);if(a.width){var _=function(t,n){var i=t.scale,e=i.y.range(),o=Math.max.apply(Math,$(e)),r=Math.abs(i.x.range()[1]-i.x.range()[0]);return n/(2*Math.PI*o)*r}(t,a.width),f="middle"===c?_/2:_;i="start"===c?l:l-f,e="end"===c?l:l+f}else i=function(t,n){var i=t.data,e=t.scale,o=t.alignment,r=U(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),c=0===n?U(t,i.length-1)-2*Math.PI:U(t,n-1);return 0===n&&s<2*Math.PI?e.x.range()[0]:"start"===o||"end"===o?"start"===o?c:r:(r+c)/2}(t,Number(s)),e=function(t,n){var i=t.data,e=t.scale,o=t.alignment,r=U(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),c=e.x.range()[1]===2*Math.PI?U(t,0)+2*Math.PI:e.x.range()[1],a=n===i.length-1?U(t,0)+2*Math.PI:U(t,n+1);return n===i.length-1&&s<2*Math.PI?c:"start"===o||"end"===o?"start"===o?r:a:(r+a)/2}(t,Number(s));var y=function(t){return D().innerRadius(h).outerRadius(u).startAngle(G(i)).endAngle(G(e)).cornerRadius(n[t])()},x=function(t){var n=y("".concat(t,"Right")),i=n.match(/[A-Z]/g)||[],e=n.split(/[A-Z]/).slice(1),o=i.indexOf("L"),r=y("".concat(t,"Left")),s=r.match(/[A-Z]/g)||[],c=r.split(/[A-Z]/).slice(1),a=s.indexOf("L");return{rightMoves:i,rightCoords:e,rightMiddle:o,leftMoves:s,leftCoords:c,leftMiddle:a}},p=function(){var t,o,r=n.topRight,s=n.topLeft,c=u*Math.abs(e-i),a=x("top"),h=a.rightMoves,l=a.rightCoords,_=a.rightMiddle,f=a.leftMoves,y=a.leftCoords,p=a.leftMiddle;if(r===s||c<2*r+2*s)t=r>s?h:f,o=r>s?l:y;else{var v,d=function(t){return t<3},b=s>r&&d(_)?1:2;if(r>s){var g=d(_)?p:p-2;v=d(p)?p-1:g}else{var m=d(p)?1:2;v=d(_)?m:p-2}t=[].concat($(h.slice(0,b)),$(f.slice(v))),o=[].concat($(l.slice(0,b)),$(y.slice(v)))}var T=t.indexOf("L"),w=t.slice(0,T),M=o.slice(0,T);return w.map((function(t,n){return{command:t,coords:M[n].split(",")}}))}(),v=function(){var t,o,r=n.bottomRight,s=n.bottomLeft,c=h*Math.abs(e-i),a=x("bottom"),u=a.rightMoves,l=a.rightCoords,_=a.rightMiddle,f=a.leftMoves,y=a.leftCoords,p=a.leftMiddle;if(r===s||c<2*r+2*s)t=r>s?u:f,o=r>s?l:y;else{var v=function(t,n){return t.length-n<4},d=(r>s?v(u,_):v(f,p))?-1:-3;t=[].concat($(f.slice(0,p+2)),$(u.slice(d))),o=[].concat($(y.slice(0,p+2)),$(l.slice(d)))}var b=t.indexOf("L"),g=t.slice(b,-1),m=o.slice(b,-1);return g.map((function(t,n){return{command:t,coords:m[n].split(",")}}))}(),d=[].concat($(p),$(v)).reduce((function(t,n){return"".concat(t).concat(n.command," ").concat(n.coords.join())}),"");return"".concat(d," z")}(t,n)}(r,h):Q(r,a,h);return new Path2D(t)}),[s,a,h,r]),_=(n=l,e=i().useRef(),i().useEffect((function(){e.current=n})),e.current),f=i().useCallback((function(t,n){t.fillStyle=c.fill,t.strokeStyle=c.stroke,t.globalAlpha=c.fillOpacity,t.lineWidth=c.strokeWidth,s&&t.translate((null==u?void 0:u.x)||0,(null==u?void 0:u.y)||0),t.fill(n),t.setTransform(1,0,0,1,0,0)}),[c,u,s]),y=i().useCallback((function(t){if(_){t.save();var n=c.strokeWidth||0;t.lineWidth=n+2,t.globalCompositeOperation="destination-out",f(t,_),t.stroke(_),t.restore()}}),[f,_,c]);return i().useEffect((function(){var t,n=null===(t=o.current)||void 0===t?void 0:t.getContext("2d");n&&(y(n),f(n,l))}),[o,f,s,a,h,r,l,y]),null},it=function(t){var n=i().useRef(null),e=t.children,o=t.width,r=void 0===o?0:o,s=t.height,c=void 0===s?0:s,a=t.clipWidth,h=t.padding,u=i().useCallback((function(t){return t.clearRect(0,0,r,c)}),[r,c]),l=i().useCallback((function(t){var n="number"==typeof h?h:(null==h?void 0:h.right)||0,i="number"==typeof h?h:(null==h?void 0:h.left)||0,e=r-n-i;t.clearRect(r-n,0,a?-1*(e-a):0,c)}),[r,c,h,a]);return i().createElement(J.Provider,{value:{canvasRef:n,clear:u,clip:l}},i().createElement("foreignObject",{width:r,height:c,x:0,y:0},i().createElement("canvas",{width:r,height:c,ref:n})),e)};it.role="container";var et=Array.prototype.slice;function ot(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function rt(t){this._context=t}function st(t){return new rt(t)}function ct(t){return t[0]}function at(t){return t[1]}function ht(t,n){var i=d(!0),e=null,o=st,r=null;function s(s){var c,a,h,u=(s=ot(s)).length,l=!1;for(null==e&&(r=o(h=v())),c=0;c<=u;++c)!(c<u&&i(a=s[c],c,s))===l&&((l=!l)?r.lineStart():r.lineEnd()),l&&r.point(+t(a,c,s),+n(a,c,s));if(h)return r=null,h+""||null}return t="function"==typeof t?t:void 0===t?ct:d(t),n="function"==typeof n?n:void 0===n?at:d(n),s.x=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),s):t},s.y=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),s):n},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:d(!!t),s):i},s.curve=function(t){return arguments.length?(o=t,null!=e&&(r=o(e)),s):o},s.context=function(t){return arguments.length?(null==t?e=r=null:r=o(e=t),s):e},s}function ut(t,n,i){var e=null,o=d(!0),r=null,s=st,c=null;function a(a){var h,u,l,_,f,y=(a=ot(a)).length,x=!1,p=new Array(y),d=new Array(y);for(null==r&&(c=s(f=v())),h=0;h<=y;++h){if(!(h<y&&o(_=a[h],h,a))===x)if(x=!x)u=h,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),l=h-1;l>=u;--l)c.point(p[l],d[l]);c.lineEnd(),c.areaEnd()}x&&(p[h]=+t(_,h,a),d[h]=+n(_,h,a),c.point(e?+e(_,h,a):p[h],i?+i(_,h,a):d[h]))}if(f)return c=null,f+""||null}function h(){return ht().defined(o).curve(s).context(r)}return t="function"==typeof t?t:void 0===t?ct:d(+t),n="function"==typeof n?n:d(void 0===n?0:+n),i="function"==typeof i?i:void 0===i?at:d(+i),a.x=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),e=null,a):t},a.x0=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),a):t},a.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:d(+t),a):e},a.y=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),i=null,a):n},a.y0=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),a):n},a.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:d(+t),a):i},a.lineX0=a.lineY0=function(){return h().x(t).y(n)},a.lineY1=function(){return h().x(t).y(i)},a.lineX1=function(){return h().x(e).y(n)},a.defined=function(t){return arguments.length?(o="function"==typeof t?t:d(!!t),a):o},a.curve=function(t){return arguments.length?(s=t,null!=r&&(c=s(r)),a):s},a.context=function(t){return arguments.length?(null==t?r=c=null:c=s(r=t),a):r},a}function lt(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function _t(t){return t}function ft(){var t=_t,n=lt,i=null,e=d(0),o=d(A),r=d(0);function s(s){var c,a,h,u,l,_=(s=ot(s)).length,f=0,y=new Array(_),x=new Array(_),p=+e.apply(this,arguments),v=Math.min(A,Math.max(-A,o.apply(this,arguments)-p)),d=Math.min(Math.abs(v)/_,r.apply(this,arguments)),b=d*(v<0?-1:1);for(c=0;c<_;++c)(l=x[y[c]=c]=+t(s[c],c,s))>0&&(f+=l);for(null!=n?y.sort((function(t,i){return n(x[t],x[i])})):null!=i&&y.sort((function(t,n){return i(s[t],s[n])})),c=0,h=f?(v-_*b)/f:0;c<_;++c,p=u)a=y[c],u=p+((l=x[a])>0?l*h:0)+b,x[a]={data:s[a],index:c,value:l,startAngle:p,endAngle:u,padAngle:d};return x}return s.value=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),s):t},s.sortValues=function(t){return arguments.length?(n=t,i=null,s):n},s.sort=function(t){return arguments.length?(i=t,n=null,s):i},s.startAngle=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),s):e},s.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),s):o},s.padAngle=function(t){return arguments.length?(r="function"==typeof t?t:d(+t),s):r},s}rt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var yt=pt(st);function xt(t){this._curve=t}function pt(t){function n(n){return new xt(t(n))}return n._curve=t,n}function vt(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(pt(t)):n()._curve},t}function dt(){return vt(ht().curve(yt))}function bt(){var t=ut().curve(yt),n=t.curve,i=t.lineX0,e=t.lineX1,o=t.lineY0,r=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return vt(i())},delete t.lineX0,t.lineEndAngle=function(){return vt(e())},delete t.lineX1,t.lineInnerRadius=function(){return vt(o())},delete t.lineY0,t.lineOuterRadius=function(){return vt(r())},delete t.lineY1,t.curve=function(t){return arguments.length?n(pt(t)):n()._curve},t}function gt(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}xt.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};class mt{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n)}this._x0=t,this._y0=n}}class Tt{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,n){if(t=+t,n=+n,0==this._point++)this._x0=t,this._y0=n;else{const i=gt(this._x0,this._y0),e=gt(this._x0,this._y0=(this._y0+n)/2),o=gt(t,this._y0),r=gt(t,n);this._context.moveTo(...i),this._context.bezierCurveTo(...e,...o,...r)}}}function wt(t){return new mt(t,!0)}function Mt(t){return new mt(t,!1)}function kt(t){return new Tt(t)}function Ot(t){return t.source}function St(t){return t.target}function Pt(t){let n=Ot,i=St,e=ct,o=at,r=null,s=null;function c(){let c;const a=et.call(arguments),h=n.apply(this,a),u=i.apply(this,a);if(null==r&&(s=t(c=v())),s.lineStart(),a[0]=h,s.point(+e.apply(this,a),+o.apply(this,a)),a[0]=u,s.point(+e.apply(this,a),+o.apply(this,a)),s.lineEnd(),c)return s=null,c+""||null}return c.source=function(t){return arguments.length?(n=t,c):n},c.target=function(t){return arguments.length?(i=t,c):i},c.x=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),c):e},c.y=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),c):o},c.context=function(n){return arguments.length?(null==n?r=s=null:s=t(r=n),c):r},c}function At(){return Pt(wt)}function Ct(){return Pt(Mt)}function Rt(){const t=Pt(kt);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const jt=k(3),Et={draw(t,n){const i=.59436*k(n+w(n/28,.75)),e=i/2,o=e*jt;t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-o,-e),t.lineTo(o,e),t.moveTo(-o,e),t.lineTo(o,-e)}},Nt={draw(t,n){const i=k(n/S);t.moveTo(i,0),t.arc(0,0,i,0,A)}},Lt={draw(t,n){const i=k(n/5)/2;t.moveTo(-3*i,-i),t.lineTo(-i,-i),t.lineTo(-i,-3*i),t.lineTo(i,-3*i),t.lineTo(i,-i),t.lineTo(3*i,-i),t.lineTo(3*i,i),t.lineTo(i,i),t.lineTo(i,3*i),t.lineTo(-i,3*i),t.lineTo(-i,i),t.lineTo(-3*i,i),t.closePath()}},zt=k(1/3),qt=2*zt,It={draw(t,n){const i=k(n/qt),e=i*zt;t.moveTo(0,-i),t.lineTo(e,0),t.lineTo(0,i),t.lineTo(-e,0),t.closePath()}},Dt={draw(t,n){const i=.62625*k(n);t.moveTo(0,-i),t.lineTo(i,0),t.lineTo(0,i),t.lineTo(-i,0),t.closePath()}},Wt={draw(t,n){const i=.87559*k(n-w(n/7,2));t.moveTo(-i,0),t.lineTo(i,0),t.moveTo(0,i),t.lineTo(0,-i)}},Xt={draw(t,n){const i=k(n),e=-i/2;t.rect(e,e,i,i)}},Yt={draw(t,n){const i=.4431*k(n);t.moveTo(i,i),t.lineTo(i,-i),t.lineTo(-i,-i),t.lineTo(-i,i),t.closePath()}},Bt=M(S/10)/M(7*S/10),Zt=M(A/10)*Bt,$t=-m(A/10)*Bt,Ft={draw(t,n){const i=k(.8908130915292852*n),e=Zt*i,o=$t*i;t.moveTo(0,-i),t.lineTo(e,o);for(let n=1;n<5;++n){const r=A*n/5,s=m(r),c=M(r);t.lineTo(c*i,-s*i),t.lineTo(s*e-c*o,c*e+s*o)}t.closePath()}},Vt=k(3),Ut={draw(t,n){const i=-k(n/(3*Vt));t.moveTo(0,2*i),t.lineTo(-Vt*i,-i),t.lineTo(Vt*i,-i),t.closePath()}},Gt=k(3),Ht={draw(t,n){const i=.6824*k(n),e=i/2,o=i*Gt/2;t.moveTo(0,-i),t.lineTo(o,e),t.lineTo(-o,e),t.closePath()}},Qt=-.5,Jt=k(3)/2,Kt=1/k(12),tn=3*(Kt/2+1),nn={draw(t,n){const i=k(n/tn),e=i/2,o=i*Kt,r=e,s=i*Kt+i,c=-r,a=s;t.moveTo(e,o),t.lineTo(r,s),t.lineTo(c,a),t.lineTo(Qt*e-Jt*o,Jt*e+Qt*o),t.lineTo(Qt*r-Jt*s,Jt*r+Qt*s),t.lineTo(Qt*c-Jt*a,Jt*c+Qt*a),t.lineTo(Qt*e+Jt*o,Qt*o-Jt*e),t.lineTo(Qt*r+Jt*s,Qt*s-Jt*r),t.lineTo(Qt*c+Jt*a,Qt*a-Jt*c),t.closePath()}},en={draw(t,n){const i=.6189*k(n-w(n/6,1.7));t.moveTo(-i,-i),t.lineTo(i,i),t.moveTo(-i,i),t.lineTo(i,-i)}},on=[Nt,Lt,It,Xt,Ft,Ut,nn],rn=[Nt,Wt,en,Ht,Et,Yt,Dt];function sn(t,n){let i=null;function e(){let e;if(i||(i=e=v()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),e)return i=null,e+""||null}return t="function"==typeof t?t:d(t||Nt),n="function"==typeof n?n:d(void 0===n?64:+n),e.type=function(n){return arguments.length?(t="function"==typeof n?n:d(n),e):t},e.size=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),e):n},e.context=function(t){return arguments.length?(i=null==t?null:t,e):i},e}function cn(){}function an(t,n,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+i)/6)}function hn(t){this._context=t}function un(t){return new hn(t)}function ln(t){this._context=t}function _n(t){return new ln(t)}function fn(t){this._context=t}function yn(t){return new fn(t)}function xn(t,n){this._basis=new hn(t),this._beta=n}hn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:an(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:an(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},ln.prototype={areaStart:cn,areaEnd:cn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:an(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},fn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,e=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(i,e):this._context.moveTo(i,e);break;case 3:this._point=4;default:an(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},xn.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,i=t.length-1;if(i>0)for(var e,o=t[0],r=n[0],s=t[i]-o,c=n[i]-r,a=-1;++a<=i;)e=a/i,this._basis.point(this._beta*t[a]+(1-this._beta)*(o+e*s),this._beta*n[a]+(1-this._beta)*(r+e*c));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};const pn=function t(n){function i(t){return 1===n?new hn(t):new xn(t,n)}return i.beta=function(n){return t(+n)},i}(.85);function vn(t,n,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function dn(t,n){this._context=t,this._k=(1-n)/6}dn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:vn(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:vn(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const bn=function t(n){function i(t){return new dn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function gn(t,n){this._context=t,this._k=(1-n)/6}gn.prototype={areaStart:cn,areaEnd:cn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:vn(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const mn=function t(n){function i(t){return new gn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function Tn(t,n){this._context=t,this._k=(1-n)/6}Tn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:vn(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const wn=function t(n){function i(t){return new Tn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function Mn(t,n,i){var e=t._x1,o=t._y1,r=t._x2,s=t._y2;if(t._l01_a>O){var c=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,a=3*t._l01_a*(t._l01_a+t._l12_a);e=(e*c-t._x0*t._l12_2a+t._x2*t._l01_2a)/a,o=(o*c-t._y0*t._l12_2a+t._y2*t._l01_2a)/a}if(t._l23_a>O){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);r=(r*h+t._x1*t._l23_2a-n*t._l12_2a)/u,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(e,o,r,s,t._x2,t._y2)}function kn(t,n){this._context=t,this._alpha=n}kn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:Mn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const On=function t(n){function i(t){return n?new kn(t,n):new dn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Sn(t,n){this._context=t,this._alpha=n}Sn.prototype={areaStart:cn,areaEnd:cn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Mn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Pn=function t(n){function i(t){return n?new Sn(t,n):new gn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function An(t,n){this._context=t,this._alpha=n}An.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Mn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const Cn=function t(n){function i(t){return n?new An(t,n):new Tn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Rn(t){this._context=t}function jn(t){return new Rn(t)}function En(t){return t<0?-1:1}function Nn(t,n,i){var e=t._x1-t._x0,o=n-t._x1,r=(t._y1-t._y0)/(e||o<0&&-0),s=(i-t._y1)/(o||e<0&&-0),c=(r*o+s*e)/(e+o);return(En(r)+En(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(c))||0}function Ln(t,n){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-n)/2:n}function zn(t,n,i){var e=t._x0,o=t._y0,r=t._x1,s=t._y1,c=(r-e)/3;t._context.bezierCurveTo(e+c,o+c*n,r-c,s-c*i,r,s)}function qn(t){this._context=t}function In(t){this._context=new Dn(t)}function Dn(t){this._context=t}function Wn(t){return new qn(t)}function Xn(t){return new In(t)}function Yn(t){this._context=t}function Bn(t){var n,i,e=t.length-1,o=new Array(e),r=new Array(e),s=new Array(e);for(o[0]=0,r[0]=2,s[0]=t[0]+2*t[1],n=1;n<e-1;++n)o[n]=1,r[n]=4,s[n]=4*t[n]+2*t[n+1];for(o[e-1]=2,r[e-1]=7,s[e-1]=8*t[e-1]+t[e],n=1;n<e;++n)i=o[n]/r[n-1],r[n]-=i,s[n]-=i*s[n-1];for(o[e-1]=s[e-1]/r[e-1],n=e-2;n>=0;--n)o[n]=(s[n]-o[n+1])/r[n];for(r[e-1]=(t[e]+o[e-1])/2,n=0;n<e-1;++n)r[n]=2*t[n+1]-o[n+1];return[o,r]}function Zn(t){return new Yn(t)}function $n(t,n){this._context=t,this._t=n}function Fn(t){return new $n(t,.5)}function Vn(t){return new $n(t,0)}function Un(t){return new $n(t,1)}function Gn(t,n){if((o=t.length)>1)for(var i,e,o,r=1,s=t[n[0]],c=s.length;r<o;++r)for(e=s,s=t[n[r]],i=0;i<c;++i)s[i][1]+=s[i][0]=isNaN(e[i][1])?e[i][0]:e[i][1]}function Hn(t){for(var n=t.length,i=new Array(n);--n>=0;)i[n]=n;return i}function Qn(t,n){return t[n]}function Jn(t){const n=[];return n.key=t,n}function Kn(){var t=d([]),n=Hn,i=Gn,e=Qn;function o(o){var r,s,c=Array.from(t.apply(this,arguments),Jn),a=c.length,h=-1;for(const t of o)for(r=0,++h;r<a;++r)(c[r][h]=[0,+e(t,c[r].key,h,o)]).data=t;for(r=0,s=ot(n(c));r<a;++r)c[s[r]].index=r;return i(c,s),c}return o.keys=function(n){return arguments.length?(t="function"==typeof n?n:d(Array.from(n)),o):t},o.value=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),o):e},o.order=function(t){return arguments.length?(n=null==t?Hn:"function"==typeof t?t:d(Array.from(t)),o):n},o.offset=function(t){return arguments.length?(i=null==t?Gn:t,o):i},o}function ti(t,n){if((e=t.length)>0){for(var i,e,o,r=0,s=t[0].length;r<s;++r){for(o=i=0;i<e;++i)o+=t[i][r][1]||0;if(o)for(i=0;i<e;++i)t[i][r][1]/=o}Gn(t,n)}}function ni(t,n){if((c=t.length)>0)for(var i,e,o,r,s,c,a=0,h=t[n[0]].length;a<h;++a)for(r=s=0,i=0;i<c;++i)(o=(e=t[n[i]][a])[1]-e[0])>0?(e[0]=r,e[1]=r+=o):o<0?(e[1]=s,e[0]=s+=o):(e[0]=0,e[1]=o)}function ii(t,n){if((i=t.length)>0){for(var i,e=0,o=t[n[0]],r=o.length;e<r;++e){for(var s=0,c=0;s<i;++s)c+=t[s][e][1]||0;o[e][1]+=o[e][0]=-c/2}Gn(t,n)}}function ei(t,n){if((o=t.length)>0&&(e=(i=t[n[0]]).length)>0){for(var i,e,o,r=0,s=1;s<e;++s){for(var c=0,a=0,h=0;c<o;++c){for(var u=t[n[c]],l=u[s][1]||0,_=(l-(u[s-1][1]||0))/2,f=0;f<c;++f){var y=t[n[f]];_+=(y[s][1]||0)-(y[s-1][1]||0)}a+=l,h+=_*l}i[s-1][1]+=i[s-1][0]=r,a&&(r-=h/a)}i[s-1][1]+=i[s-1][0]=r,Gn(t,n)}}function oi(t){var n=t.map(ri);return Hn(t).sort((function(t,i){return n[t]-n[i]}))}function ri(t){for(var n,i=-1,e=0,o=t.length,r=-1/0;++i<o;)(n=+t[i][1])>r&&(r=n,e=i);return e}function si(t){var n=t.map(ci);return Hn(t).sort((function(t,i){return n[t]-n[i]}))}function ci(t){for(var n,i=0,e=-1,o=t.length;++e<o;)(n=+t[e][1])&&(i+=n);return i}function ai(t){return si(t).reverse()}function hi(t){var n,i,e=t.length,o=t.map(ci),r=oi(t),s=0,c=0,a=[],h=[];for(n=0;n<e;++n)i=r[n],s<c?(s+=o[i],a.push(i)):(c+=o[i],h.push(i));return h.reverse().concat(a)}function ui(t){return Hn(t).reverse()}Rn.prototype={areaStart:cn,areaEnd:cn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},qn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:zn(this,this._t0,Ln(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var i=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,zn(this,Ln(this,i=Nn(this,t,n)),i);break;default:zn(this,this._t0,i=Nn(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=i}}},(In.prototype=Object.create(qn.prototype)).point=function(t,n){qn.prototype.point.call(this,n,t)},Dn.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,i,e,o,r){this._context.bezierCurveTo(n,t,e,i,r,o)}},Yn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===i)this._context.lineTo(t[1],n[1]);else for(var e=Bn(t),o=Bn(n),r=0,s=1;s<i;++r,++s)this._context.bezierCurveTo(e[0][r],o[0][r],e[1][r],o[1][r],t[s],n[s]);(this._line||0!==this._line&&1===i)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},$n.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,n)}}this._x=t,this._y=n}};var li=function(t){return null!=(void 0!==t._y1?t._y1:t._y)&&null!==t._y0},_i=function(t){return function(n){return t.x(void 0!==n._x1?n._x1:n._x)}},fi=function(t){return function(n){return t.y(void 0!==n._y1?n._y1:n._y)}},yi=function(t){return"curve".concat(function(t){return t&&t[0].toUpperCase()+t.slice(1)}(t))},xi=function(n){var i=n.interpolation;if("function"==typeof i)return i;if("string"==typeof i){var e=n.polar,o=n.openCurve,r=(void 0===o?!e:o)?yi(i):function(t){return"".concat(yi(t),"Closed")}(i);return t[r]}return st},pi=function(t){var n=t.polar,i=t.scale,e=t.horizontal;return n?dt().defined(li).curve(xi(t)).angle(function(t){return function(n){return-1*t.x(void 0!==n._x1?n._x1:n._x)+Math.PI/2}}(i)).radius(fi(i)):ht().defined(li).curve(xi(t)).x(e?fi(i):_i(i)).y(e?_i(i):fi(i))},vi=function(t){var n=K(),e=n.canvasRef,o=n.clear,r=n.clip,s=t.style,c=t.data,a=s.stroke,h=s.strokeWidth,u=i().useCallback((function(n){var i=pi(t);n.strokeStyle=a,n.lineWidth=h,i.context(n)(c),n.stroke()}),[c,t,a,h]);return i().useEffect((function(){var t,n=null===(t=e.current)||void 0===t?void 0:t.getContext("2d");n&&(o(n),u(n),r(n))}),[e,u,o,r]),null};function di(t,n,i){return"M ".concat(t,", ").concat(n,"\n m ").concat(-i,", 0\n a ").concat(i,", ").concat(i," 0 1,0 ").concat(2*i,",0\n a ").concat(i,", ").concat(i," 0 1,0 ").concat(2*-i,",0")}function bi(t,n,i){var e=.87*i,o=t-e,r=n+e,s=t+e-o;return"M ".concat(o,", ").concat(r,"\n h").concat(s,"\n v-").concat(s,"\n h-").concat(s,"\n z")}function gi(t,n,i){var e=.87*i,o=Math.sqrt(e*e*2);return"M ".concat(t,", ").concat(n+o,"\n l ").concat(o,", -").concat(o,"\n l -").concat(o,", -").concat(o,"\n l -").concat(o,", ").concat(o,"\n l ").concat(o,", ").concat(o,"\n z")}function mi(t,n,i){var e=t+i,o=n-i,r=n+i/2*Math.sqrt(3);return"M ".concat(t-i,", ").concat(o,"\n L ").concat(e,", ").concat(o,"\n L ").concat(t,", ").concat(r,"\n z")}function Ti(t,n,i){var e=t+i,o=n-i/2*Math.sqrt(3),r=n+i;return"M ".concat(t-i,", ").concat(r,"\n L ").concat(e,", ").concat(r,"\n L ").concat(t,", ").concat(o,"\n z")}function wi(t,n,i){var e=1.1*i,o=e/1.5;return"\n M ".concat(t-o/2,", ").concat(n+e,"\n v-").concat(o,"\n h-").concat(o,"\n v-").concat(o,"\n h").concat(o,"\n v-").concat(o,"\n h").concat(o,"\n v").concat(o,"\n h").concat(o,"\n v").concat(o,"\n h-").concat(o,"\n v").concat(o,"\n z")}function Mi(t,n,i){var e=.8*i,o=e/1.5;return"\n M ".concat(t-o/2,", ").concat(n+e+o,"\n v-").concat(2*o,"\n h-").concat(o,"\n v-").concat(o,"\n h").concat(o,"\n v-").concat(o,"\n h").concat(o,"\n v").concat(o,"\n h").concat(o,"\n v").concat(o,"\n h-").concat(o,"\n v").concat(2*o,"\n z")}function ki(t,n,i){var e=1.1*i,o=e-.3*e,r=t-e,s=n+o/2,c=t+e-r;return"M ".concat(r,", ").concat(s,"\n h").concat(c,"\n v-").concat(o,"\n h-").concat(c,"\n z")}function Oi(t,n,i){var e=1.35*i,o=Math.PI/5,r=function(t,n,i){var e=10;e||(e=0);var o=e-0,r=Math.abs(o),s=o/r||1,c=Math.max(Math.ceil(r/1),0);return Array.from(Array(c),(function(t,n){return 0+n*s*1}))}().map((function(i){var r=i%2==0?e:e/2;return"".concat(r*Math.sin(o*(i+1))+t,",\n ").concat(r*Math.cos(o*(i+1))+n)}));return"M ".concat(r.join("L")," z")}var Si=function(t){var n=K().canvasRef,e=function(t){var n=c(t.size,t),i=a(t.style,t),e=c(t.symbol,t);return Object.assign({},t,{size:n,style:i,symbol:e})}(t),o=i().useCallback((function(t){var n=e.style,i=function(t){var n=t.x,i=t.y,e=t.size,o=t.symbol;if(t.getPath)return t.getPath(n,i,e);var r={circle:di,square:bi,diamond:gi,triangleDown:mi,triangleUp:Ti,plus:wi,minus:ki,star:Oi,cross:Mi};return("function"==typeof r[o]?r[o]:r.circle)(n,i,e)}(e);t.fillStyle=n.fill;var o=new Path2D(i);t.fill(o)}),[e]);return i().useEffect((function(){var t,i=null===(t=n.current)||void 0===t?void 0:t.getContext("2d");i&&o(i)}),[]),null}})(),o})())); | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.VictoryCanvas=n(require("react")):t.VictoryCanvas=n(t.React)}(self,(function(t){return function(){var n={2596:function(t,n,i){var e=i(2373).Symbol;t.exports=e},6082:function(t){t.exports=function(t,n,i){switch(i.length){case 0:return t.call(n);case 1:return t.call(n,i[0]);case 2:return t.call(n,i[0],i[1]);case 3:return t.call(n,i[0],i[1],i[2])}return t.apply(n,i)}},8644:function(t){t.exports=function(t,n){for(var i=-1,e=null==t?0:t.length,o=Array(e);++i<e;)o[i]=n(t[i],i,t);return o}},9559:function(t){t.exports=function(t,n){for(var i=-1,e=n.length,o=t.length;++i<e;)t[o+i]=n[i];return t}},4132:function(t,n,i){var e=i(8347),o=i(788),r=Object.prototype.hasOwnProperty;t.exports=function(t,n,i){var s=t[n];r.call(t,n)&&o(s,i)&&(void 0!==i||n in t)||e(t,n,i)}},8347:function(t,n,i){var e=i(5525);t.exports=function(t,n,i){"__proto__"==n&&e?e(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}},6457:function(t,n,i){var e=i(9559),o=i(3608);t.exports=function t(n,i,r,s,u){var c=-1,h=n.length;for(r||(r=o),u||(u=[]);++c<h;){var a=n[c];i>0&&r(a)?i>1?t(a,i-1,r,s,u):e(u,a):s||(u[u.length]=a)}return u}},4432:function(t,n,i){var e=i(9026),o=i(3110);t.exports=function(t,n){for(var i=0,r=(n=e(n,t)).length;null!=t&&i<r;)t=t[o(n[i++])];return i&&i==r?t:void 0}},563:function(t){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},6776:function(t){t.exports=function(t,n){return null!=t&&n in Object(t)}},5436:function(t,n,i){var e=i(6371),o=i(5066);t.exports=function(t,n){return e(t,n,(function(n,i){return o(t,i)}))}},6371:function(t,n,i){var e=i(4432),o=i(6539),r=i(9026);t.exports=function(t,n,i){for(var s=-1,u=n.length,c={};++s<u;){var h=n[s],a=e(t,h);i(a,h)&&o(c,r(h,t),a)}return c}},1600:function(t){t.exports=function(t){return function(n){return null==n?void 0:n[t]}}},3301:function(t,n,i){var e=i(4432);t.exports=function(t){return function(n){return e(n,t)}}},6317:function(t,n,i){var e=i(5346),o=i(4280),r=i(201);t.exports=function(t,n){return r(o(t,n,e),t+"")}},6539:function(t,n,i){var e=i(4132),o=i(9026),r=i(9099),s=i(7709),u=i(3110);t.exports=function(t,n,i,c){if(!s(t))return t;for(var h=-1,a=(n=o(n,t)).length,l=a-1,_=t;null!=_&&++h<a;){var f=u(n[h]),x=i;if("__proto__"===f||"constructor"===f||"prototype"===f)return t;if(h!=l){var y=_[f];void 0===(x=c?c(y,f,_):void 0)&&(x=s(y)?y:r(n[h+1])?[]:{})}e(_,f,x),_=_[f]}return t}},6316:function(t,n,i){var e=i(2596),o=i(8644),r=i(163),s=i(1995),u=e?e.prototype:void 0,c=u?u.toString:void 0;t.exports=function t(n){if("string"==typeof n)return n;if(r(n))return o(n,t)+"";if(s(n))return c?c.call(n):"";var i=n+"";return"0"==i&&1/n==-1/0?"-0":i}},9026:function(t,n,i){var e=i(163),o=i(726),r=i(7801),s=i(7010);t.exports=function(t,n){return e(t)?t:o(t,n)?[t]:r(s(t))}},5525:function(t,n,i){var e=i(3743),o=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},5557:function(t,n,i){var e=i(2645),o=i(4280),r=i(201);t.exports=function(t){return r(o(t,void 0,e),t+"")}},2117:function(t,n,i){var e="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;t.exports=e},3743:function(t){t.exports=function(t,n){return null==t?void 0:t[n]}},9817:function(t,n,i){var e=i(5125)(Object.getPrototypeOf,Object);t.exports=e},3096:function(t,n,i){var e=i(9026),o=i(5075),r=i(163),s=i(9099),u=i(8454),c=i(3110);t.exports=function(t,n,i){for(var h=-1,a=(n=e(n,t)).length,l=!1;++h<a;){var _=c(n[h]);if(!(l=null!=t&&i(t,_)))break;t=t[_]}return l||++h!=a?l:!!(a=null==t?0:t.length)&&u(a)&&s(_,a)&&(r(t)||o(t))}},3608:function(t,n,i){var e=i(2596),o=i(5075),r=i(163),s=e?e.isConcatSpreadable:void 0;t.exports=function(t){return r(t)||o(t)||!!(s&&t&&t[s])}},9099:function(t){var n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,i){var e=typeof t;return!!(i=null==i?9007199254740991:i)&&("number"==e||"symbol"!=e&&n.test(t))&&t>-1&&t%1==0&&t<i}},8286:function(t){t.exports=function(){return!1}},726:function(t,n,i){var e=i(163),o=i(1995),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;t.exports=function(t,n){if(e(t))return!1;var i=typeof t;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=t&&!o(t))||s.test(t)||!r.test(t)||null!=n&&t in Object(n)}},2453:function(t){t.exports=function(t){return t}},5125:function(t){t.exports=function(t,n){return function(i){return t(n(i))}}},4280:function(t,n,i){var e=i(6082),o=Math.max;t.exports=function(t,n,i){return n=o(void 0===n?t.length-1:n,0),function(){for(var r=arguments,s=-1,u=o(r.length-n,0),c=Array(u);++s<u;)c[s]=r[n+s];s=-1;for(var h=Array(n+1);++s<n;)h[s]=r[s];return h[n]=i(c),e(t,this,h)}}},2373:function(t,n,i){var e=i(2117),o="object"==typeof self&&self&&self.Object===Object&&self,r=e||o||Function("return this")();t.exports=r},201:function(t){t.exports=function(t){return t}},7801:function(t,n,i){var e=i(2453),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e((function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(o,(function(t,i,e,o){n.push(e?o.replace(r,"$1"):i||t)})),n}));t.exports=s},3110:function(t,n,i){var e=i(1995);t.exports=function(t){if("string"==typeof t||e(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},1893:function(t,n,i){var e=i(6317),o=i(788),r=i(8286),s=i(8855),u=Object.prototype,c=u.hasOwnProperty,h=e((function(t,n){t=Object(t);var i=-1,e=n.length,h=e>2?n[2]:void 0;for(h&&r(n[0],n[1],h)&&(e=1);++i<e;)for(var a=n[i],l=s(a),_=-1,f=l.length;++_<f;){var x=l[_],y=t[x];(void 0===y||o(y,u[x])&&!c.call(t,x))&&(t[x]=a[x])}return t}));t.exports=h},788:function(t){t.exports=function(t,n){return t===n||t!=t&&n!=n}},2645:function(t,n,i){var e=i(6457);t.exports=function(t){return null!=t&&t.length?e(t,1):[]}},5066:function(t,n,i){var e=i(6776),o=i(3096);t.exports=function(t,n){return null!=t&&o(t,n,e)}},5346:function(t){t.exports=function(t){return t}},5075:function(t){t.exports=function(){return!1}},163:function(t){var n=Array.isArray;t.exports=n},8454:function(t){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7709:function(t){t.exports=function(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}},3474:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},3849:function(t,n,i){var e=i(563),o=i(9817),r=i(3474),s=Function.prototype,u=Object.prototype,c=s.toString,h=u.hasOwnProperty,a=c.call(Object);t.exports=function(t){if(!r(t)||"[object Object]"!=e(t))return!1;var n=o(t);if(null===n)return!0;var i=h.call(n,"constructor")&&n.constructor;return"function"==typeof i&&i instanceof i&&c.call(i)==a}},1995:function(t){t.exports=function(){return!1}},8855:function(t){t.exports=function(t){var n=[];if(null!=t)for(var i in Object(t))n.push(i);return n}},9082:function(t,n,i){var e=i(5436),o=i(5557)((function(t,n){return null==t?{}:e(t,n)}));t.exports=o},8532:function(t,n,i){var e=i(1600),o=i(3301),r=i(726),s=i(3110);t.exports=function(t){return r(t)?e(s(t)):o(t)}},7010:function(t,n,i){var e=i(6316);t.exports=function(t){return null==t?"":e(t)}},9787:function(n){"use strict";n.exports=t}},i={};function e(t){var o=i[t];if(void 0!==o)return o.exports;var r=i[t]={exports:{}};return n[t](r,r.exports,e),r.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return function(){"use strict";e.r(o),e.d(o,{CanvasBar:function(){return H},CanvasCurve:function(){return _i},CanvasGroup:function(){return Q},CanvasPoint:function(){return Ti},useCanvasContext:function(){return G}});var t={};e.r(t),e.d(t,{arc:function(){return I},area:function(){return rt},areaRadial:function(){return xt},curveBasis:function(){return rn},curveBasisClosed:function(){return un},curveBasisOpen:function(){return hn},curveBumpX:function(){return dt},curveBumpY:function(){return gt},curveBundle:function(){return ln},curveCardinal:function(){return xn},curveCardinalClosed:function(){return pn},curveCardinalOpen:function(){return dn},curveCatmullRom:function(){return mn},curveCatmullRomClosed:function(){return $n},curveCatmullRomOpen:function(){return wn},curveLinear:function(){return nt},curveLinearClosed:function(){return Sn},curveMonotoneX:function(){return Ln},curveMonotoneY:function(){return jn},curveNatural:function(){return In},curveStep:function(){return Xn},curveStepAfter:function(){return Dn},curveStepBefore:function(){return Yn},line:function(){return ot},lineRadial:function(){return ft},link:function(){return $t},linkHorizontal:function(){return Mt},linkRadial:function(){return kt},linkVertical:function(){return wt},pie:function(){return ct},pointRadial:function(){return yt},radialArea:function(){return xt},radialLine:function(){return ft},stack:function(){return Gn},stackOffsetDiverging:function(){return Hn},stackOffsetExpand:function(){return Un},stackOffsetNone:function(){return Bn},stackOffsetSilhouette:function(){return Qn},stackOffsetWiggle:function(){return Jn},stackOrderAppearance:function(){return Kn},stackOrderAscending:function(){return ni},stackOrderDescending:function(){return ei},stackOrderInsideOut:function(){return oi},stackOrderNone:function(){return Zn},stackOrderReverse:function(){return ri},symbol:function(){return tn},symbolAsterisk:function(){return Pt},symbolCircle:function(){return Ct},symbolCross:function(){return Rt},symbolDiamond:function(){return Et},symbolDiamond2:function(){return Nt},symbolPlus:function(){return Lt},symbolSquare:function(){return jt},symbolSquare2:function(){return zt},symbolStar:function(){return Xt},symbolTriangle:function(){return Dt},symbolTriangle2:function(){return Zt},symbolWye:function(){return Ht},symbolX:function(){return Qt},symbols:function(){return Jt},symbolsFill:function(){return Jt},symbolsStroke:function(){return Kt}});var n=e(9787),i=e.n(n),r=e(3849),s=e.n(r);function u(t,n){return a(t)?t(n):t}function c(t,n){return n.disableInlineStyles?{}:t&&Object.keys(t).some((n=>a(t[n])))?Object.keys(t).reduce(((i,e)=>(i[e]=u(t[e],n),i)),{}):t}function h(t){return null==t}function a(t){return"function"==typeof t}e(9082),e(8532),e(1893);const l=Math.PI,_=2*l,f=1e-6,x=_-f;function y(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function p(){return new y}y.prototype=p.prototype={constructor:y,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,e){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+e)},bezierCurveTo:function(t,n,i,e,o,r){this._+="C"+ +t+","+ +n+","+ +i+","+ +e+","+(this._x1=+o)+","+(this._y1=+r)},arcTo:function(t,n,i,e,o){t=+t,n=+n,i=+i,e=+e,o=+o;var r=this._x1,s=this._y1,u=i-t,c=e-n,h=r-t,a=s-n,_=h*h+a*a;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(_>f)if(Math.abs(a*u-c*h)>f&&o){var x=i-r,y=e-s,p=u*u+c*c,v=x*x+y*y,d=Math.sqrt(p),g=Math.sqrt(_),b=o*Math.tan((l-Math.acos((p+_-v)/(2*d*g)))/2),m=b/g,T=b/d;Math.abs(m-1)>f&&(this._+="L"+(t+m*h)+","+(n+m*a)),this._+="A"+o+","+o+",0,0,"+ +(a*x>h*y)+","+(this._x1=t+T*u)+","+(this._y1=n+T*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n)},arc:function(t,n,i,e,o,r){t=+t,n=+n,r=!!r;var s=(i=+i)*Math.cos(e),u=i*Math.sin(e),c=t+s,h=n+u,a=1^r,y=r?e-o:o-e;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+c+","+h:(Math.abs(this._x1-c)>f||Math.abs(this._y1-h)>f)&&(this._+="L"+c+","+h),i&&(y<0&&(y=y%_+_),y>x?this._+="A"+i+","+i+",0,1,"+a+","+(t-s)+","+(n-u)+"A"+i+","+i+",0,1,"+a+","+(this._x1=c)+","+(this._y1=h):y>f&&(this._+="A"+i+","+i+",0,"+ +(y>=l)+","+a+","+(this._x1=t+i*Math.cos(o))+","+(this._y1=n+i*Math.sin(o))))},rect:function(t,n,i,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +e+"h"+-i+"Z"},toString:function(){return this._}};var v=p;function d(t){return function(){return t}}const g=Math.abs,b=Math.atan2,m=Math.cos,T=Math.max,$=Math.min,M=Math.sin,w=Math.sqrt,k=1e-12,S=Math.PI,P=S/2,C=2*S;function R(t){return t>1?0:t<-1?S:Math.acos(t)}function A(t){return t>=1?P:t<=-1?-P:Math.asin(t)}function O(t){return t.innerRadius}function E(t){return t.outerRadius}function N(t){return t.startAngle}function L(t){return t.endAngle}function j(t){return t&&t.padAngle}function z(t,n,i,e,o,r,s,u){var c=i-t,h=e-n,a=s-o,l=u-r,_=l*c-a*h;if(!(_*_<k))return[t+(_=(a*(n-r)-l*(t-o))/_)*c,n+_*h]}function q(t,n,i,e,o,r,s){var u=t-i,c=n-e,h=(s?r:-r)/w(u*u+c*c),a=h*c,l=-h*u,_=t+a,f=n+l,x=i+a,y=e+l,p=(_+x)/2,v=(f+y)/2,d=x-_,g=y-f,b=d*d+g*g,m=o-r,$=_*y-x*f,M=(g<0?-1:1)*w(T(0,m*m*b-$*$)),k=($*g-d*M)/b,S=(-$*d-g*M)/b,P=($*g+d*M)/b,C=(-$*d+g*M)/b,R=k-p,A=S-v,O=P-p,E=C-v;return R*R+A*A>O*O+E*E&&(k=P,S=C),{cx:k,cy:S,x01:-a,y01:-l,x11:k*(o/m-1),y11:S*(o/m-1)}}function I(){var t=O,n=E,i=d(0),e=null,o=N,r=L,s=j,u=null;function c(){var c,h,a=+t.apply(this,arguments),l=+n.apply(this,arguments),_=o.apply(this,arguments)-P,f=r.apply(this,arguments)-P,x=g(f-_),y=f>_;if(u||(u=c=v()),l<a&&(h=l,l=a,a=h),l>k)if(x>C-k)u.moveTo(l*m(_),l*M(_)),u.arc(0,0,l,_,f,!y),a>k&&(u.moveTo(a*m(f),a*M(f)),u.arc(0,0,a,f,_,y));else{var p,d,T=_,O=f,E=_,N=f,L=x,j=x,I=s.apply(this,arguments)/2,W=I>k&&(e?+e.apply(this,arguments):w(a*a+l*l)),X=$(g(l-a)/2,+i.apply(this,arguments)),Y=X,D=X;if(W>k){var B=A(W/a*M(I)),Z=A(W/l*M(I));(L-=2*B)>k?(E+=B*=y?1:-1,N-=B):(L=0,E=N=(_+f)/2),(j-=2*Z)>k?(T+=Z*=y?1:-1,O-=Z):(j=0,T=O=(_+f)/2)}var F=l*m(T),V=l*M(T),G=a*m(N),U=a*M(N);if(X>k){var H,Q=l*m(O),J=l*M(O),K=a*m(E),tt=a*M(E);if(x<S&&(H=z(F,V,K,tt,Q,J,G,U))){var nt=F-H[0],it=V-H[1],et=Q-H[0],ot=J-H[1],rt=1/M(R((nt*et+it*ot)/(w(nt*nt+it*it)*w(et*et+ot*ot)))/2),st=w(H[0]*H[0]+H[1]*H[1]);Y=$(X,(a-st)/(rt-1)),D=$(X,(l-st)/(rt+1))}}j>k?D>k?(p=q(K,tt,F,V,l,D,y),d=q(Q,J,G,U,l,D,y),u.moveTo(p.cx+p.x01,p.cy+p.y01),D<X?u.arc(p.cx,p.cy,D,b(p.y01,p.x01),b(d.y01,d.x01),!y):(u.arc(p.cx,p.cy,D,b(p.y01,p.x01),b(p.y11,p.x11),!y),u.arc(0,0,l,b(p.cy+p.y11,p.cx+p.x11),b(d.cy+d.y11,d.cx+d.x11),!y),u.arc(d.cx,d.cy,D,b(d.y11,d.x11),b(d.y01,d.x01),!y))):(u.moveTo(F,V),u.arc(0,0,l,T,O,!y)):u.moveTo(F,V),a>k&&L>k?Y>k?(p=q(G,U,Q,J,a,-Y,y),d=q(F,V,K,tt,a,-Y,y),u.lineTo(p.cx+p.x01,p.cy+p.y01),Y<X?u.arc(p.cx,p.cy,Y,b(p.y01,p.x01),b(d.y01,d.x01),!y):(u.arc(p.cx,p.cy,Y,b(p.y01,p.x01),b(p.y11,p.x11),!y),u.arc(0,0,a,b(p.cy+p.y11,p.cx+p.x11),b(d.cy+d.y11,d.cx+d.x11),y),u.arc(d.cx,d.cy,Y,b(d.y11,d.x11),b(d.y01,d.x01),!y))):u.arc(0,0,a,N,E,y):u.lineTo(G,U)}else u.moveTo(0,0);if(u.closePath(),c)return u=null,c+""||null}return c.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +r.apply(this,arguments))/2-S/2;return[m(e)*i,M(e)*i]},c.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),c):t},c.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),c):n},c.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:d(+t),c):i},c.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:d(+t),c):e},c.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),c):o},c.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:d(+t),c):r},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:d(+t),c):s},c.context=function(t){return arguments.length?(u=null==t?null:t,c):u},c}const W=(t,n)=>({x:t,y:n,distance(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))},add(t){return W(this.x+t.x,this.y+t.y)},subtract(t){return W(this.x-t.x,this.y-t.y)},scalarMult(t){return W(this.x*t,this.y*t)},scalarDivide(t){if(0===t)throw new Error("Division by 0 error");return W(this.x/t,this.y/t)},equals(t){return this.x===t.x&&this.y===t.y}}),X=(t,n)=>({center:t,radius:n,hasIntersection(t){const n=this.center,i=t.center,e=this.radius,o=t.radius,r=n.distance(i);return!(r>e+o||r<Math.abs(e-o))},equals(t){const n=this.center,i=t.center;return this.radius===t.radius&&n.equals(i)},intersection(t){const n=this.center,i=t.center,e=this.radius,o=t.radius,r=n.distance(i);if(!this.hasIntersection(t)||this.equals(t))return[];const s=(Math.pow(e,2)-Math.pow(o,2)+Math.pow(r,2))/(2*r),u=Math.sqrt(Math.pow(e,2)-Math.pow(s,2)),c=n.add(i.subtract(n).scalarMult(s).scalarDivide(r)),{x:h,y:a}=n,{x:l,y:_}=i,{x:f,y:x}=c,y=[W(f-u*(_-a)/r,x+u*(l-h)/r),W(f+u*(_-a)/r,x-u*(l-h)/r)];return y.sort(((t,n)=>t.x-n.x)),y},solveX(t){const n=Math.sqrt(Math.pow(this.radius,2)-Math.pow(t-this.center.y,2));return[this.center.x-n,this.center.x+n]},solveY(t){const n=Math.sqrt(Math.pow(this.radius,2)-Math.pow(t-this.center.x,2));return[this.center.y-n,this.center.y+n]}}),Y=(t,n)=>{const{x:i,x0:e,y:o,y0:r,horizontal:s}=t,u=t.alignment||"middle",c="middle"===u?n/2:n,h=s?-1:1;return s?{x0:e,x1:i,y0:"start"===u?o:o-h*c,y1:"end"===u?o:o+h*c}:{x0:"start"===u?i:i-h*c,x1:"end"===u?i:i+h*c,y0:r,y1:o}},D=(t,n)=>{const{data:i,scale:e}=t,o=void 0===i[n]._x1?"_x":"_x1";return e.x(i[n][o])},B=t=>-1*t+Math.PI/2,Z=(t,n,i)=>{const e=`${n.topLeft} ${n.topLeft} ${i}`,o=`${n.topRight} ${n.topRight} ${i}`;return`${["M",`A ${n.bottomLeft} ${n.bottomLeft} ${i},`,"L",`A ${e},`,"L",`A ${o},`,"L",`A ${n.bottomRight} ${n.bottomRight} ${i},`].reduce(((n,i,e)=>`${n}${i} ${t[e].x}, ${t[e].y} \n`),"")} z`},F=(t,n,i)=>t.getPath?((t,n)=>{const{getPath:i}=t;if("function"==typeof i)return i({...t,...Y(t,n)})})(t,n):t.horizontal?((t,n,i)=>{const e=Y(t,n),o=e.x0<e.x1?1:-1,r={topRight:o>0?i.topLeft:i.bottomLeft,bottomRight:o>0?i.topRight:i.bottomRight,bottomLeft:o>0?i.bottomRight:i.topRight,topLeft:o>0?i.bottomLeft:i.topLeft},s=((t,n,i)=>{const{y0:e,y1:o}=t,r=t.x0<t.x1?t.x0:t.x1,s=t.x0<t.x1?t.x1:t.x0,u=t=>{const u="top"===t,c=u?-1:1,h=u?o:e;let a={x:r,y:h-c*i[`${t}Left`]},l={x:r+i[`${t}Left`],y:h},_={x:s-i[`${t}Right`],y:h},f={x:s,y:h-c*i[`${t}Right`]};if(l.x>_.x){const e=W(r+i[`${t}Left`],h-c*i[`${t}Left`]),o=X(e,i[`${t}Left`]),x=W(s-i[`${t}Right`],h-c*i[`${t}Right`]),y=X(x,i[`${t}Right`]),p=o.intersection(y);if(p.length>0){const t=p[n>0?1:0];l={x:t.x,y:t.y},_={x:t.x,y:t.y}}else if(i[`${t}Right`]>i[`${t}Left`]){const t=y.solveY(r)[u?0:1];a={x:r,y:t},l={x:r,y:t},_={x:r,y:t}}else{const t=o.solveY(s)[u?0:1];f={x:s,y:t},_={x:s,y:t},l={x:s,y:t}}}return[a,l,_,f]},c=u("top"),h=u("bottom");return[h[1],h[0],...c,h[3],h[2]]})(e,o,r);return Z(s,r,"0 0 1")})(t,n,i):((t,n,i)=>{const e=Y(t,n),o=e.y0>e.y1?1:-1,r=o>0?"0 0 1":"0 0 0",s=((t,n,i)=>{const{x0:e,x1:o,y0:r,y1:s}=t,u=t=>{const u="Left"===t,c=u?1:-1,h=u?e:o;let a={x:h+c*i[`bottom${t}`],y:r},l={x:h,y:r-n*i[`bottom${t}`]},_={x:h,y:s+n*i[`top${t}`]},f={x:h+c*i[`top${t}`],y:s};if(1===n?r-i[`bottom${t}`]<s+i[`top${t}`]:r+i[`bottom${t}`]>s-i[`top${t}`]){const e=W(h+c*i[`top${t}`],s+n*i[`top${t}`]),o=X(e,i[`top${t}`]),x=W(h+c*i[`bottom${t}`],r-n*i[`bottom${t}`]),y=X(x,i[`bottom${t}`]),p=o.intersection(y);if(p.length>0){const t=p[u?0:1];l={x:t.x,y:t.y},_={x:t.x,y:t.y}}else if(i[`top${t}`]>i[`bottom${t}`]){const t=o.solveX(r)[u?0:1];a={x:t,y:r},l={x:t,y:r},_={x:t,y:r}}else{const t=y.solveX(s)[u?0:1];l={x:t,y:s},_={x:t,y:s},f={x:t,y:s}}}const x=[a,l,_,f];return u?x:x.reverse()};return u("Left").concat(u("Right"))})(e,o,i);return Z(s,i,r)})(t,n,i),V=i().createContext(void 0),G=()=>{const t=i().useContext(V);if(!t)throw new Error("This component must be wrapped in a CanvasContext.Provider component.\n Try setting groupComponent={<CanvasGroup />} in your chart component.");return t},U=t=>{const n=function(t,n){if(void 0===t&&(t={}),n.disableInlineStyles)return{};const i={fill:"black",stroke:t.fill||"black"};return c(Object.assign(i,t),n)}(t.style,t),i=((t,n)=>{const{scale:i,data:e,style:o}=n;if(t)return u(t,n);if(o.width)return o.width;const r=i.x.range(),s=Math.abs(r[1]-r[0]),c=e.length+2,h=(n.barRatio||.5)*(e.length<2?8:s/c);return Math.max(1,h)})(t.barWidth,Object.assign({},t,{style:n})),e=((t,n)=>{const i={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0};return t?function(t){return s()(t)}(t)?((t,n)=>{const i={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},e=(e,o)=>{h(t[e])?h(t[o])||(i[e]=u(t[o],n)):i[e]=u(t[e],n)};return e("topLeft","top"),e("topRight","top"),e("bottomLeft","bottom"),e("bottomRight","bottom"),i})(t,n):(i.topLeft=u(t,n),i.topRight=u(t,n),i):i})(t.cornerRadius,Object.assign({},t,{style:n,barWidth:i}));return Object.assign({},t,{style:n,barWidth:i,cornerRadius:e})},H=t=>{const{canvasRef:n}=G(),e=U(t),{polar:o,style:r,barWidth:s,cornerRadius:u,origin:c}=e,h=i().useMemo((()=>{const t=o?((t,n)=>((t,n)=>{const{datum:i,scale:e,index:o,alignment:r,style:s}=t,u=e.y(i._y0||0),c=e.y(void 0!==i._y1?i._y1:i._y),h=e.x(void 0!==i._x1?i._x1:i._x);let a,l;if(s.width){const n=((t,n)=>{const{scale:i}=t,e=i.y.range(),o=Math.max(...e),r=Math.abs(i.x.range()[1]-i.x.range()[0]);return n/(2*Math.PI*o)*r})(t,s.width),i="middle"===r?n/2:n;a="start"===r?h:h-i,l="end"===r?h:h+i}else a=((t,n)=>{const{data:i,scale:e,alignment:o}=t,r=D(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),u=0===n?D(t,i.length-1)-2*Math.PI:D(t,n-1);return 0===n&&s<2*Math.PI?e.x.range()[0]:"start"===o||"end"===o?"start"===o?u:r:(r+u)/2})(t,Number(o)),l=((t,n)=>{const{data:i,scale:e,alignment:o}=t,r=D(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),u=e.x.range()[1]===2*Math.PI?D(t,0)+2*Math.PI:e.x.range()[1],c=n===i.length-1?D(t,0)+2*Math.PI:D(t,n+1);return n===i.length-1&&s<2*Math.PI?u:"start"===o||"end"===o?"start"===o?r:c:(r+c)/2})(t,Number(o));const _=t=>I().innerRadius(u).outerRadius(c).startAngle(B(a)).endAngle(B(l)).cornerRadius(n[t])(),f=t=>{const n=_(`${t}Right`),i=n.match(/[A-Z]/g)||[],e=n.split(/[A-Z]/).slice(1),o=i.indexOf("L"),r=_(`${t}Left`),s=r.match(/[A-Z]/g)||[],u=r.split(/[A-Z]/).slice(1),c=s.indexOf("L");return{rightMoves:i,rightCoords:e,rightMiddle:o,leftMoves:s,leftCoords:u,leftMiddle:c}};return`${[...(()=>{const{topRight:t,topLeft:i}=n,e=c*Math.abs(l-a),{rightMoves:o,rightCoords:r,rightMiddle:s,leftMoves:u,leftCoords:h,leftMiddle:_}=f("top");let x,y;if(t===i||e<2*t+2*i)x=t>i?o:u,y=t>i?r:h;else{const n=t=>t<3,e=i>t&&n(s)?1:2;let c;if(t>i){const t=n(s)?_:_-2;c=n(_)?_-1:t}else{const t=n(_)?1:2;c=n(s)?t:_-2}x=[...o.slice(0,e),...u.slice(c)],y=[...r.slice(0,e),...h.slice(c)]}const p=x.indexOf("L"),v=x.slice(0,p),d=y.slice(0,p);return v.map(((t,n)=>({command:t,coords:d[n].split(",")})))})(),...(()=>{const{bottomRight:t,bottomLeft:i}=n,e=u*Math.abs(l-a),{rightMoves:o,rightCoords:r,rightMiddle:s,leftMoves:c,leftCoords:h,leftMiddle:_}=f("bottom");let x,y;if(t===i||e<2*t+2*i)x=t>i?o:c,y=t>i?r:h;else{const n=(t,n)=>t.length-n<4,e=(t>i?n(o,s):n(c,_))?-1:-3;x=[...c.slice(0,_+2),...o.slice(e)],y=[...h.slice(0,_+2),...r.slice(e)]}const p=x.indexOf("L"),v=x.slice(p,-1),d=y.slice(p,-1);return v.map(((t,n)=>({command:t,coords:d[n].split(",")})))})()].reduce(((t,n)=>`${t}${n.command} ${n.coords.join()}`),"")} z`})(t,n))(e,u):F(e,s,u);return new Path2D(t)}),[o,s,u,e]),a=(t=>{const n=i().useRef();return i().useEffect((()=>{n.current=t})),n.current})(h),l=i().useCallback(((t,n)=>{t.fillStyle=r.fill,t.strokeStyle=r.stroke,t.globalAlpha=r.fillOpacity,t.lineWidth=r.strokeWidth,o&&t.translate(c?.x||0,c?.y||0),t.fill(n),t.setTransform(1,0,0,1,0,0)}),[r,c,o]),_=i().useCallback((t=>{if(a){t.save();const n=r.strokeWidth||0;t.lineWidth=n+2,t.globalCompositeOperation="destination-out",l(t,a),t.stroke(a),t.restore()}}),[l,a,r]);return i().useEffect((()=>{const t=n.current?.getContext("2d");t&&(_(t),l(t,h))}),[n,l,o,s,u,e,h,_]),null},Q=t=>{const n=i().useRef(null),{children:e,width:o=0,height:r=0,clipWidth:s,padding:u}=t,c=i().useCallback((t=>t.clearRect(0,0,o,r)),[o,r]),h=i().useCallback((t=>{const n="number"==typeof u?u:u?.right||0,i=o-n-("number"==typeof u?u:u?.left||0);t.clearRect(o-n,0,s?-1*(i-s):0,r)}),[o,r,u,s]);return i().createElement(V.Provider,{value:{canvasRef:n,clear:c,clip:h}},i().createElement("foreignObject",{width:o,height:r,x:0,y:0},i().createElement("canvas",{width:o,height:r,ref:n})),e)};Q.role="container";var J=Array.prototype.slice;function K(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function tt(t){this._context=t}function nt(t){return new tt(t)}function it(t){return t[0]}function et(t){return t[1]}function ot(t,n){var i=d(!0),e=null,o=nt,r=null;function s(s){var u,c,h,a=(s=K(s)).length,l=!1;for(null==e&&(r=o(h=v())),u=0;u<=a;++u)!(u<a&&i(c=s[u],u,s))===l&&((l=!l)?r.lineStart():r.lineEnd()),l&&r.point(+t(c,u,s),+n(c,u,s));if(h)return r=null,h+""||null}return t="function"==typeof t?t:void 0===t?it:d(t),n="function"==typeof n?n:void 0===n?et:d(n),s.x=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),s):t},s.y=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),s):n},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:d(!!t),s):i},s.curve=function(t){return arguments.length?(o=t,null!=e&&(r=o(e)),s):o},s.context=function(t){return arguments.length?(null==t?e=r=null:r=o(e=t),s):e},s}function rt(t,n,i){var e=null,o=d(!0),r=null,s=nt,u=null;function c(c){var h,a,l,_,f,x=(c=K(c)).length,y=!1,p=new Array(x),d=new Array(x);for(null==r&&(u=s(f=v())),h=0;h<=x;++h){if(!(h<x&&o(_=c[h],h,c))===y)if(y=!y)a=h,u.areaStart(),u.lineStart();else{for(u.lineEnd(),u.lineStart(),l=h-1;l>=a;--l)u.point(p[l],d[l]);u.lineEnd(),u.areaEnd()}y&&(p[h]=+t(_,h,c),d[h]=+n(_,h,c),u.point(e?+e(_,h,c):p[h],i?+i(_,h,c):d[h]))}if(f)return u=null,f+""||null}function h(){return ot().defined(o).curve(s).context(r)}return t="function"==typeof t?t:void 0===t?it:d(+t),n="function"==typeof n?n:d(void 0===n?0:+n),i="function"==typeof i?i:void 0===i?et:d(+i),c.x=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),e=null,c):t},c.x0=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:d(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),i=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),c):n},c.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:d(+t),c):i},c.lineX0=c.lineY0=function(){return h().x(t).y(n)},c.lineY1=function(){return h().x(t).y(i)},c.lineX1=function(){return h().x(e).y(n)},c.defined=function(t){return arguments.length?(o="function"==typeof t?t:d(!!t),c):o},c.curve=function(t){return arguments.length?(s=t,null!=r&&(u=s(r)),c):s},c.context=function(t){return arguments.length?(null==t?r=u=null:u=s(r=t),c):r},c}function st(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function ut(t){return t}function ct(){var t=ut,n=st,i=null,e=d(0),o=d(C),r=d(0);function s(s){var u,c,h,a,l,_=(s=K(s)).length,f=0,x=new Array(_),y=new Array(_),p=+e.apply(this,arguments),v=Math.min(C,Math.max(-C,o.apply(this,arguments)-p)),d=Math.min(Math.abs(v)/_,r.apply(this,arguments)),g=d*(v<0?-1:1);for(u=0;u<_;++u)(l=y[x[u]=u]=+t(s[u],u,s))>0&&(f+=l);for(null!=n?x.sort((function(t,i){return n(y[t],y[i])})):null!=i&&x.sort((function(t,n){return i(s[t],s[n])})),u=0,h=f?(v-_*g)/f:0;u<_;++u,p=a)c=x[u],a=p+((l=y[c])>0?l*h:0)+g,y[c]={data:s[c],index:u,value:l,startAngle:p,endAngle:a,padAngle:d};return y}return s.value=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),s):t},s.sortValues=function(t){return arguments.length?(n=t,i=null,s):n},s.sort=function(t){return arguments.length?(i=t,n=null,s):i},s.startAngle=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),s):e},s.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),s):o},s.padAngle=function(t){return arguments.length?(r="function"==typeof t?t:d(+t),s):r},s}tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var ht=lt(nt);function at(t){this._curve=t}function lt(t){function n(n){return new at(t(n))}return n._curve=t,n}function _t(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(lt(t)):n()._curve},t}function ft(){return _t(ot().curve(ht))}function xt(){var t=rt().curve(ht),n=t.curve,i=t.lineX0,e=t.lineX1,o=t.lineY0,r=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return _t(i())},delete t.lineX0,t.lineEndAngle=function(){return _t(e())},delete t.lineX1,t.lineInnerRadius=function(){return _t(o())},delete t.lineY0,t.lineOuterRadius=function(){return _t(r())},delete t.lineY1,t.curve=function(t){return arguments.length?n(lt(t)):n()._curve},t}function yt(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}at.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};class pt{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n)}this._x0=t,this._y0=n}}class vt{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,n){if(t=+t,n=+n,0==this._point++)this._x0=t,this._y0=n;else{const i=yt(this._x0,this._y0),e=yt(this._x0,this._y0=(this._y0+n)/2),o=yt(t,this._y0),r=yt(t,n);this._context.moveTo(...i),this._context.bezierCurveTo(...e,...o,...r)}}}function dt(t){return new pt(t,!0)}function gt(t){return new pt(t,!1)}function bt(t){return new vt(t)}function mt(t){return t.source}function Tt(t){return t.target}function $t(t){let n=mt,i=Tt,e=it,o=et,r=null,s=null;function u(){let u;const c=J.call(arguments),h=n.apply(this,c),a=i.apply(this,c);if(null==r&&(s=t(u=v())),s.lineStart(),c[0]=h,s.point(+e.apply(this,c),+o.apply(this,c)),c[0]=a,s.point(+e.apply(this,c),+o.apply(this,c)),s.lineEnd(),u)return s=null,u+""||null}return u.source=function(t){return arguments.length?(n=t,u):n},u.target=function(t){return arguments.length?(i=t,u):i},u.x=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),u):e},u.y=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),u):o},u.context=function(n){return arguments.length?(null==n?r=s=null:s=t(r=n),u):r},u}function Mt(){return $t(dt)}function wt(){return $t(gt)}function kt(){const t=$t(bt);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const St=w(3);var Pt={draw(t,n){const i=.59436*w(n+$(n/28,.75)),e=i/2,o=e*St;t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-o,-e),t.lineTo(o,e),t.moveTo(-o,e),t.lineTo(o,-e)}},Ct={draw(t,n){const i=w(n/S);t.moveTo(i,0),t.arc(0,0,i,0,C)}},Rt={draw(t,n){const i=w(n/5)/2;t.moveTo(-3*i,-i),t.lineTo(-i,-i),t.lineTo(-i,-3*i),t.lineTo(i,-3*i),t.lineTo(i,-i),t.lineTo(3*i,-i),t.lineTo(3*i,i),t.lineTo(i,i),t.lineTo(i,3*i),t.lineTo(-i,3*i),t.lineTo(-i,i),t.lineTo(-3*i,i),t.closePath()}};const At=w(1/3),Ot=2*At;var Et={draw(t,n){const i=w(n/Ot),e=i*At;t.moveTo(0,-i),t.lineTo(e,0),t.lineTo(0,i),t.lineTo(-e,0),t.closePath()}},Nt={draw(t,n){const i=.62625*w(n);t.moveTo(0,-i),t.lineTo(i,0),t.lineTo(0,i),t.lineTo(-i,0),t.closePath()}},Lt={draw(t,n){const i=.87559*w(n-$(n/7,2));t.moveTo(-i,0),t.lineTo(i,0),t.moveTo(0,i),t.lineTo(0,-i)}},jt={draw(t,n){const i=w(n),e=-i/2;t.rect(e,e,i,i)}},zt={draw(t,n){const i=.4431*w(n);t.moveTo(i,i),t.lineTo(i,-i),t.lineTo(-i,-i),t.lineTo(-i,i),t.closePath()}};const qt=M(S/10)/M(7*S/10),It=M(C/10)*qt,Wt=-m(C/10)*qt;var Xt={draw(t,n){const i=w(.8908130915292852*n),e=It*i,o=Wt*i;t.moveTo(0,-i),t.lineTo(e,o);for(let n=1;n<5;++n){const r=C*n/5,s=m(r),u=M(r);t.lineTo(u*i,-s*i),t.lineTo(s*e-u*o,u*e+s*o)}t.closePath()}};const Yt=w(3);var Dt={draw(t,n){const i=-w(n/(3*Yt));t.moveTo(0,2*i),t.lineTo(-Yt*i,-i),t.lineTo(Yt*i,-i),t.closePath()}};const Bt=w(3);var Zt={draw(t,n){const i=.6824*w(n),e=i/2,o=i*Bt/2;t.moveTo(0,-i),t.lineTo(o,e),t.lineTo(-o,e),t.closePath()}};const Ft=-.5,Vt=w(3)/2,Gt=1/w(12),Ut=3*(Gt/2+1);var Ht={draw(t,n){const i=w(n/Ut),e=i/2,o=i*Gt,r=e,s=i*Gt+i,u=-r,c=s;t.moveTo(e,o),t.lineTo(r,s),t.lineTo(u,c),t.lineTo(Ft*e-Vt*o,Vt*e+Ft*o),t.lineTo(Ft*r-Vt*s,Vt*r+Ft*s),t.lineTo(Ft*u-Vt*c,Vt*u+Ft*c),t.lineTo(Ft*e+Vt*o,Ft*o-Vt*e),t.lineTo(Ft*r+Vt*s,Ft*s-Vt*r),t.lineTo(Ft*u+Vt*c,Ft*c-Vt*u),t.closePath()}},Qt={draw(t,n){const i=.6189*w(n-$(n/6,1.7));t.moveTo(-i,-i),t.lineTo(i,i),t.moveTo(-i,i),t.lineTo(i,-i)}};const Jt=[Ct,Rt,Et,jt,Xt,Dt,Ht],Kt=[Ct,Lt,Qt,Zt,Pt,zt,Nt];function tn(t,n){let i=null;function e(){let e;if(i||(i=e=v()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),e)return i=null,e+""||null}return t="function"==typeof t?t:d(t||Ct),n="function"==typeof n?n:d(void 0===n?64:+n),e.type=function(n){return arguments.length?(t="function"==typeof n?n:d(n),e):t},e.size=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),e):n},e.context=function(t){return arguments.length?(i=null==t?null:t,e):i},e}function nn(){}function en(t,n,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+i)/6)}function on(t){this._context=t}function rn(t){return new on(t)}function sn(t){this._context=t}function un(t){return new sn(t)}function cn(t){this._context=t}function hn(t){return new cn(t)}function an(t,n){this._basis=new on(t),this._beta=n}on.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:en(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:en(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},sn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:en(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},cn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,e=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(i,e):this._context.moveTo(i,e);break;case 3:this._point=4;default:en(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},an.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,i=t.length-1;if(i>0)for(var e,o=t[0],r=n[0],s=t[i]-o,u=n[i]-r,c=-1;++c<=i;)e=c/i,this._basis.point(this._beta*t[c]+(1-this._beta)*(o+e*s),this._beta*n[c]+(1-this._beta)*(r+e*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var ln=function t(n){function i(t){return 1===n?new on(t):new an(t,n)}return i.beta=function(n){return t(+n)},i}(.85);function _n(t,n,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function fn(t,n){this._context=t,this._k=(1-n)/6}fn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:_n(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:_n(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var xn=function t(n){function i(t){return new fn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function yn(t,n){this._context=t,this._k=(1-n)/6}yn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:_n(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var pn=function t(n){function i(t){return new yn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function vn(t,n){this._context=t,this._k=(1-n)/6}vn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_n(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var dn=function t(n){function i(t){return new vn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function gn(t,n,i){var e=t._x1,o=t._y1,r=t._x2,s=t._y2;if(t._l01_a>k){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);e=(e*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,o=(o*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>k){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,a=3*t._l23_a*(t._l23_a+t._l12_a);r=(r*h+t._x1*t._l23_2a-n*t._l12_2a)/a,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/a}t._context.bezierCurveTo(e,o,r,s,t._x2,t._y2)}function bn(t,n){this._context=t,this._alpha=n}bn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:gn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var mn=function t(n){function i(t){return n?new bn(t,n):new fn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Tn(t,n){this._context=t,this._alpha=n}Tn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:gn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var $n=function t(n){function i(t){return n?new Tn(t,n):new yn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Mn(t,n){this._context=t,this._alpha=n}Mn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var wn=function t(n){function i(t){return n?new Mn(t,n):new vn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function kn(t){this._context=t}function Sn(t){return new kn(t)}function Pn(t){return t<0?-1:1}function Cn(t,n,i){var e=t._x1-t._x0,o=n-t._x1,r=(t._y1-t._y0)/(e||o<0&&-0),s=(i-t._y1)/(o||e<0&&-0),u=(r*o+s*e)/(e+o);return(Pn(r)+Pn(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(u))||0}function Rn(t,n){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-n)/2:n}function An(t,n,i){var e=t._x0,o=t._y0,r=t._x1,s=t._y1,u=(r-e)/3;t._context.bezierCurveTo(e+u,o+u*n,r-u,s-u*i,r,s)}function On(t){this._context=t}function En(t){this._context=new Nn(t)}function Nn(t){this._context=t}function Ln(t){return new On(t)}function jn(t){return new En(t)}function zn(t){this._context=t}function qn(t){var n,i,e=t.length-1,o=new Array(e),r=new Array(e),s=new Array(e);for(o[0]=0,r[0]=2,s[0]=t[0]+2*t[1],n=1;n<e-1;++n)o[n]=1,r[n]=4,s[n]=4*t[n]+2*t[n+1];for(o[e-1]=2,r[e-1]=7,s[e-1]=8*t[e-1]+t[e],n=1;n<e;++n)i=o[n]/r[n-1],r[n]-=i,s[n]-=i*s[n-1];for(o[e-1]=s[e-1]/r[e-1],n=e-2;n>=0;--n)o[n]=(s[n]-o[n+1])/r[n];for(r[e-1]=(t[e]+o[e-1])/2,n=0;n<e-1;++n)r[n]=2*t[n+1]-o[n+1];return[o,r]}function In(t){return new zn(t)}function Wn(t,n){this._context=t,this._t=n}function Xn(t){return new Wn(t,.5)}function Yn(t){return new Wn(t,0)}function Dn(t){return new Wn(t,1)}function Bn(t,n){if((o=t.length)>1)for(var i,e,o,r=1,s=t[n[0]],u=s.length;r<o;++r)for(e=s,s=t[n[r]],i=0;i<u;++i)s[i][1]+=s[i][0]=isNaN(e[i][1])?e[i][0]:e[i][1]}function Zn(t){for(var n=t.length,i=new Array(n);--n>=0;)i[n]=n;return i}function Fn(t,n){return t[n]}function Vn(t){const n=[];return n.key=t,n}function Gn(){var t=d([]),n=Zn,i=Bn,e=Fn;function o(o){var r,s,u=Array.from(t.apply(this,arguments),Vn),c=u.length,h=-1;for(const t of o)for(r=0,++h;r<c;++r)(u[r][h]=[0,+e(t,u[r].key,h,o)]).data=t;for(r=0,s=K(n(u));r<c;++r)u[s[r]].index=r;return i(u,s),u}return o.keys=function(n){return arguments.length?(t="function"==typeof n?n:d(Array.from(n)),o):t},o.value=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),o):e},o.order=function(t){return arguments.length?(n=null==t?Zn:"function"==typeof t?t:d(Array.from(t)),o):n},o.offset=function(t){return arguments.length?(i=null==t?Bn:t,o):i},o}function Un(t,n){if((e=t.length)>0){for(var i,e,o,r=0,s=t[0].length;r<s;++r){for(o=i=0;i<e;++i)o+=t[i][r][1]||0;if(o)for(i=0;i<e;++i)t[i][r][1]/=o}Bn(t,n)}}function Hn(t,n){if((u=t.length)>0)for(var i,e,o,r,s,u,c=0,h=t[n[0]].length;c<h;++c)for(r=s=0,i=0;i<u;++i)(o=(e=t[n[i]][c])[1]-e[0])>0?(e[0]=r,e[1]=r+=o):o<0?(e[1]=s,e[0]=s+=o):(e[0]=0,e[1]=o)}function Qn(t,n){if((i=t.length)>0){for(var i,e=0,o=t[n[0]],r=o.length;e<r;++e){for(var s=0,u=0;s<i;++s)u+=t[s][e][1]||0;o[e][1]+=o[e][0]=-u/2}Bn(t,n)}}function Jn(t,n){if((o=t.length)>0&&(e=(i=t[n[0]]).length)>0){for(var i,e,o,r=0,s=1;s<e;++s){for(var u=0,c=0,h=0;u<o;++u){for(var a=t[n[u]],l=a[s][1]||0,_=(l-(a[s-1][1]||0))/2,f=0;f<u;++f){var x=t[n[f]];_+=(x[s][1]||0)-(x[s-1][1]||0)}c+=l,h+=_*l}i[s-1][1]+=i[s-1][0]=r,c&&(r-=h/c)}i[s-1][1]+=i[s-1][0]=r,Bn(t,n)}}function Kn(t){var n=t.map(ti);return Zn(t).sort((function(t,i){return n[t]-n[i]}))}function ti(t){for(var n,i=-1,e=0,o=t.length,r=-1/0;++i<o;)(n=+t[i][1])>r&&(r=n,e=i);return e}function ni(t){var n=t.map(ii);return Zn(t).sort((function(t,i){return n[t]-n[i]}))}function ii(t){for(var n,i=0,e=-1,o=t.length;++e<o;)(n=+t[e][1])&&(i+=n);return i}function ei(t){return ni(t).reverse()}function oi(t){var n,i,e=t.length,o=t.map(ii),r=Kn(t),s=0,u=0,c=[],h=[];for(n=0;n<e;++n)i=r[n],s<u?(s+=o[i],c.push(i)):(u+=o[i],h.push(i));return h.reverse().concat(c)}function ri(t){return Zn(t).reverse()}kn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},On.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:An(this,this._t0,Rn(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var i=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,An(this,Rn(this,i=Cn(this,t,n)),i);break;default:An(this,this._t0,i=Cn(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=i}}},(En.prototype=Object.create(On.prototype)).point=function(t,n){On.prototype.point.call(this,n,t)},Nn.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,i,e,o,r){this._context.bezierCurveTo(n,t,e,i,r,o)}},zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===i)this._context.lineTo(t[1],n[1]);else for(var e=qn(t),o=qn(n),r=0,s=1;s<i;++r,++s)this._context.bezierCurveTo(e[0][r],o[0][r],e[1][r],o[1][r],t[s],n[s]);(this._line||0!==this._line&&1===i)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},Wn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,n)}}this._x=t,this._y=n}};const si=t=>null!=(void 0!==t._y1?t._y1:t._y)&&null!==t._y0,ui=t=>n=>t.x(void 0!==n._x1?n._x1:n._x),ci=t=>n=>t.y(void 0!==n._y1?n._y1:n._y),hi=t=>`curve${(t=>t&&t[0].toUpperCase()+t.slice(1))(t)}`,ai=n=>{const{interpolation:i}=n;if("function"==typeof i)return i;if("string"==typeof i){const{polar:e,openCurve:o=!e}=n,r=o?hi(i):(t=>`${hi(t)}Closed`)(i);return t[r]}return nt},li=t=>{const{polar:n,scale:i,horizontal:e}=t;return n?ft().defined(si).curve(ai(t)).angle((t=>n=>-1*t.x(void 0!==n._x1?n._x1:n._x)+Math.PI/2)(i)).radius(ci(i)):ot().defined(si).curve(ai(t)).x(e?ci(i):ui(i)).y(e?ui(i):ci(i))},_i=t=>{const{canvasRef:n,clear:e,clip:o}=G(),{style:r,data:s}=t,{stroke:u,strokeWidth:c}=r,h=i().useCallback((n=>{const i=li(t);n.strokeStyle=u,n.lineWidth=c,i.context(n)(s),n.stroke()}),[s,t,u,c]);return i().useEffect((()=>{const t=n.current?.getContext("2d");t&&(e(t),h(t),o(t))}),[n,h,e,o]),null};function fi(t,n,i){return`M ${t}, ${n}\n m ${-i}, 0\n a ${i}, ${i} 0 1,0 ${2*i},0\n a ${i}, ${i} 0 1,0 ${2*-i},0`}function xi(t,n,i){const e=.87*i,o=t-e,r=t+e-o;return`M ${o}, ${n+e}\n h${r}\n v-${r}\n h-${r}\n z`}function yi(t,n,i){const e=.87*i,o=Math.sqrt(e*e*2);return`M ${t}, ${n+o}\n l ${o}, -${o}\n l -${o}, -${o}\n l -${o}, ${o}\n l ${o}, ${o}\n z`}function pi(t,n,i){const e=n-i;return`M ${t-i}, ${e}\n L ${t+i}, ${e}\n L ${t}, ${n+i/2*Math.sqrt(3)}\n z`}function vi(t,n,i){const e=n+i;return`M ${t-i}, ${e}\n L ${t+i}, ${e}\n L ${t}, ${n-i/2*Math.sqrt(3)}\n z`}function di(t,n,i){const e=1.1*i,o=e/1.5;return`\n M ${t-o/2}, ${n+e}\n v-${o}\n h-${o}\n v-${o}\n h${o}\n v-${o}\n h${o}\n v${o}\n h${o}\n v${o}\n h-${o}\n v${o}\n z`}function gi(t,n,i){const e=.8*i,o=e/1.5;return`\n M ${t-o/2}, ${n+e+o}\n v-${2*o}\n h-${o}\n v-${o}\n h${o}\n v-${o}\n h${o}\n v${o}\n h${o}\n v${o}\n h-${o}\n v${2*o}\n z`}function bi(t,n,i){const e=1.1*i,o=e-.3*e,r=t-e,s=t+e-r;return`M ${r}, ${n+o/2}\n h${s}\n v-${o}\n h-${s}\n z`}function mi(t,n,i){const e=1.35*i,o=Math.PI/5,r=function(t,n,i){let e=10;e||(e=0);const o=e-0,r=Math.abs(o),s=o/r||1,u=Math.max(Math.ceil(r/1),0);return Array.from(Array(u),((t,n)=>0+n*s*1))}().map((i=>{const r=i%2==0?e:e/2;return`${r*Math.sin(o*(i+1))+t},\n ${r*Math.cos(o*(i+1))+n}`}));return`M ${r.join("L")} z`}const Ti=t=>{const{canvasRef:n}=G(),e=(t=>{const n=u(t.size,t),i=c(t.style,t),e=u(t.symbol,t);return Object.assign({},t,{size:n,style:i,symbol:e})})(t),o=i().useCallback((t=>{const{style:n}=e,i=(t=>{const{x:n,y:i,size:e,symbol:o}=t;if(t.getPath)return t.getPath(n,i,e);const r={circle:fi,square:xi,diamond:yi,triangleDown:pi,triangleUp:vi,plus:di,minus:bi,star:mi,cross:gi};return("function"==typeof r[o]?r[o]:r.circle)(n,i,e)})(e);t.fillStyle=n.fill;const o=new Path2D(i);t.fill(o)}),[e]);return i().useEffect((()=>{const t=n.current?.getContext("2d");t&&o(t)}),[]),null}}(),o}()})); | ||
//# sourceMappingURL=victory-canvas.min.js.map |
import React from "react"; | ||
import { getBarPath, getBarWidth, getCornerRadius, getPolarBarPath, getStyle } from "victory-bar"; | ||
import { useCanvasContext } from "./hooks/use-canvas-context"; | ||
var evaluateProps = function (props) { | ||
const evaluateProps = props => { | ||
/** | ||
@@ -12,21 +11,20 @@ * Potential evaluated props of following must be evaluated in this order: | ||
*/ | ||
var style = getStyle(props.style, props); | ||
var barWidth = getBarWidth(props.barWidth, Object.assign({}, props, { | ||
style: style | ||
const style = getStyle(props.style, props); | ||
const barWidth = getBarWidth(props.barWidth, Object.assign({}, props, { | ||
style | ||
})); | ||
var cornerRadius = getCornerRadius(props.cornerRadius, Object.assign({}, props, { | ||
style: style, | ||
barWidth: barWidth | ||
const cornerRadius = getCornerRadius(props.cornerRadius, Object.assign({}, props, { | ||
style, | ||
barWidth | ||
})); | ||
var modifiedProps = Object.assign({}, props, { | ||
style: style, | ||
barWidth: barWidth, | ||
cornerRadius: cornerRadius | ||
const modifiedProps = Object.assign({}, props, { | ||
style, | ||
barWidth, | ||
cornerRadius | ||
}); | ||
return modifiedProps; | ||
}; | ||
var usePreviousValue = function (value) { | ||
var ref = React.useRef(); | ||
React.useEffect(function () { | ||
const usePreviousValue = value => { | ||
const ref = React.useRef(); | ||
React.useEffect(() => { | ||
ref.current = value; | ||
@@ -36,19 +34,20 @@ }); | ||
}; | ||
export var CanvasBar = function (props) { | ||
var _useCanvasContext = useCanvasContext(), | ||
canvasRef = _useCanvasContext.canvasRef; | ||
var modifiedProps = evaluateProps(props); | ||
var polar = modifiedProps.polar, | ||
style = modifiedProps.style, | ||
barWidth = modifiedProps.barWidth, | ||
cornerRadius = modifiedProps.cornerRadius, | ||
origin = modifiedProps.origin; | ||
var path2d = React.useMemo(function () { | ||
var p = polar ? getPolarBarPath(modifiedProps, cornerRadius) : getBarPath(modifiedProps, barWidth, cornerRadius); | ||
export const CanvasBar = props => { | ||
const { | ||
canvasRef | ||
} = useCanvasContext(); | ||
const modifiedProps = evaluateProps(props); | ||
const { | ||
polar, | ||
style, | ||
barWidth, | ||
cornerRadius, | ||
origin | ||
} = modifiedProps; | ||
const path2d = React.useMemo(() => { | ||
const p = polar ? getPolarBarPath(modifiedProps, cornerRadius) : getBarPath(modifiedProps, barWidth, cornerRadius); | ||
return new Path2D(p); | ||
}, [polar, barWidth, cornerRadius, modifiedProps]); | ||
var previousPath = usePreviousValue(path2d); | ||
var draw = React.useCallback(function (ctx, path) { | ||
const previousPath = usePreviousValue(path2d); | ||
const draw = React.useCallback((ctx, path) => { | ||
ctx.fillStyle = style.fill; | ||
@@ -58,16 +57,15 @@ ctx.strokeStyle = style.stroke; | ||
ctx.lineWidth = style.strokeWidth; | ||
if (polar) { | ||
ctx.translate((origin === null || origin === void 0 ? void 0 : origin.x) || 0, (origin === null || origin === void 0 ? void 0 : origin.y) || 0); | ||
ctx.translate(origin?.x || 0, origin?.y || 0); | ||
} | ||
ctx.fill(path); | ||
ctx.setTransform(1, 0, 0, 1, 0, 0); | ||
}, [style, origin, polar]); // This will clear the previous bar without clearing the entire canvas | ||
}, [style, origin, polar]); | ||
var clearPreviousPath = React.useCallback(function (ctx) { | ||
// This will clear the previous bar without clearing the entire canvas | ||
const clearPreviousPath = React.useCallback(ctx => { | ||
if (previousPath) { | ||
ctx.save(); // This ensures that the entire shape is erased | ||
var strokeWidth = style.strokeWidth || 0; | ||
ctx.save(); | ||
// This ensures that the entire shape is erased | ||
const strokeWidth = style.strokeWidth || 0; | ||
ctx.lineWidth = strokeWidth + 2; | ||
@@ -80,6 +78,4 @@ ctx.globalCompositeOperation = "destination-out"; | ||
}, [draw, previousPath, style]); | ||
React.useEffect(function () { | ||
var _canvasRef$current; | ||
var ctx = (_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.getContext("2d"); | ||
React.useEffect(() => { | ||
const ctx = canvasRef.current?.getContext("2d"); | ||
if (!ctx) return; | ||
@@ -86,0 +82,0 @@ clearPreviousPath(ctx); |
import React from "react"; | ||
import { LineHelpers } from "victory-core"; | ||
import { useCanvasContext } from "./hooks/use-canvas-context"; | ||
export var CanvasCurve = function (props) { | ||
var _useCanvasContext = useCanvasContext(), | ||
canvasRef = _useCanvasContext.canvasRef, | ||
clear = _useCanvasContext.clear, | ||
clip = _useCanvasContext.clip; | ||
var style = props.style, | ||
data = props.data; | ||
var stroke = style.stroke, | ||
strokeWidth = style.strokeWidth; | ||
var draw = React.useCallback(function (ctx) { | ||
var line = LineHelpers.getLineFunction(props); | ||
export const CanvasCurve = props => { | ||
const { | ||
canvasRef, | ||
clear, | ||
clip | ||
} = useCanvasContext(); | ||
const { | ||
style, | ||
data | ||
} = props; | ||
const { | ||
stroke, | ||
strokeWidth | ||
} = style; | ||
const draw = React.useCallback(ctx => { | ||
const line = LineHelpers.getLineFunction(props); | ||
ctx.strokeStyle = stroke; | ||
@@ -21,6 +25,4 @@ ctx.lineWidth = strokeWidth; | ||
}, [data, props, stroke, strokeWidth]); | ||
React.useEffect(function () { | ||
var _canvasRef$current; | ||
var ctx = (_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.getContext("2d"); | ||
React.useEffect(() => { | ||
const ctx = canvasRef.current?.getContext("2d"); | ||
if (!ctx) return; | ||
@@ -27,0 +29,0 @@ clear(ctx); |
import React from "react"; | ||
import { CanvasContext } from "./hooks/use-canvas-context"; | ||
export var CanvasGroup = function (props) { | ||
var canvasRef = React.useRef(null); | ||
var children = props.children, | ||
_props$width = props.width, | ||
width = _props$width === void 0 ? 0 : _props$width, | ||
_props$height = props.height, | ||
height = _props$height === void 0 ? 0 : _props$height, | ||
clipWidth = props.clipWidth, | ||
padding = props.padding; | ||
var clear = React.useCallback(function (ctx) { | ||
export const CanvasGroup = props => { | ||
const canvasRef = React.useRef(null); | ||
const { | ||
children, | ||
width = 0, | ||
height = 0, | ||
clipWidth, | ||
padding | ||
} = props; | ||
const clear = React.useCallback(ctx => { | ||
return ctx.clearRect(0, 0, width, height); | ||
}, [width, height]); // This needs to be called in the child component to ensure it is called after the | ||
}, [width, height]); | ||
// This needs to be called in the child component to ensure it is called after the | ||
// shape is drawn | ||
var clip = React.useCallback(function (ctx) { | ||
var paddingRight = typeof padding === "number" ? padding : (padding === null || padding === void 0 ? void 0 : padding.right) || 0; | ||
var paddingLeft = typeof padding === "number" ? padding : (padding === null || padding === void 0 ? void 0 : padding.left) || 0; | ||
var maxClipWidth = width - paddingRight - paddingLeft; | ||
const clip = React.useCallback(ctx => { | ||
const paddingRight = typeof padding === "number" ? padding : padding?.right || 0; | ||
const paddingLeft = typeof padding === "number" ? padding : padding?.left || 0; | ||
const maxClipWidth = width - paddingRight - paddingLeft; | ||
ctx.clearRect(width - paddingRight, 0, clipWidth ? (maxClipWidth - clipWidth) * -1 : 0, height); | ||
@@ -25,5 +26,5 @@ }, [width, height, padding, clipWidth]); | ||
value: { | ||
canvasRef: canvasRef, | ||
clear: clear, | ||
clip: clip | ||
canvasRef, | ||
clear, | ||
clip | ||
} | ||
@@ -30,0 +31,0 @@ }, /*#__PURE__*/React.createElement("foreignObject", { |
import React from "react"; | ||
import { Helpers, PointPathHelpers } from "victory-core"; | ||
import { useCanvasContext } from "./hooks/use-canvas-context"; | ||
var getPath = function (props) { | ||
var x = props.x, | ||
y = props.y, | ||
size = props.size, | ||
symbol = props.symbol; | ||
const getPath = props => { | ||
const { | ||
x, | ||
y, | ||
size, | ||
symbol | ||
} = props; | ||
if (props.getPath) { | ||
return props.getPath(x, y, size); | ||
} | ||
var pathFunctions = { | ||
const pathFunctions = { | ||
circle: PointPathHelpers.circle, | ||
@@ -26,7 +25,6 @@ square: PointPathHelpers.square, | ||
}; | ||
var symbolFunction = typeof pathFunctions[symbol] === "function" ? pathFunctions[symbol] : pathFunctions.circle; | ||
const symbolFunction = typeof pathFunctions[symbol] === "function" ? pathFunctions[symbol] : pathFunctions.circle; | ||
return symbolFunction(x, y, size); | ||
}; | ||
var evaluateProps = function (props) { | ||
const evaluateProps = props => { | ||
/** | ||
@@ -38,33 +36,33 @@ * Potential evaluated props are: | ||
*/ | ||
var size = Helpers.evaluateProp(props.size, props); | ||
var style = Helpers.evaluateStyle(props.style, props); | ||
var symbol = Helpers.evaluateProp(props.symbol, props); | ||
const size = Helpers.evaluateProp(props.size, props); | ||
const style = Helpers.evaluateStyle(props.style, props); | ||
const symbol = Helpers.evaluateProp(props.symbol, props); | ||
return Object.assign({}, props, { | ||
size: size, | ||
style: style, | ||
symbol: symbol | ||
size, | ||
style, | ||
symbol | ||
}); | ||
}; | ||
export var CanvasPoint = function (props) { | ||
var _useCanvasContext = useCanvasContext(), | ||
canvasRef = _useCanvasContext.canvasRef; | ||
var modifiedProps = evaluateProps(props); | ||
var draw = React.useCallback(function (ctx) { | ||
var style = modifiedProps.style; | ||
var path = getPath(modifiedProps); | ||
ctx.fillStyle = style.fill; // eslint-disable-next-line no-undef | ||
var path2d = new Path2D(path); | ||
export const CanvasPoint = props => { | ||
const { | ||
canvasRef | ||
} = useCanvasContext(); | ||
const modifiedProps = evaluateProps(props); | ||
const draw = React.useCallback(ctx => { | ||
const { | ||
style | ||
} = modifiedProps; | ||
const path = getPath(modifiedProps); | ||
ctx.fillStyle = style.fill; | ||
// eslint-disable-next-line no-undef | ||
const path2d = new Path2D(path); | ||
ctx.fill(path2d); | ||
}, [modifiedProps]); | ||
React.useEffect(function () { | ||
var _canvasRef$current; | ||
var ctx = (_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.getContext("2d"); | ||
React.useEffect(() => { | ||
const ctx = canvasRef.current?.getContext("2d"); | ||
if (!ctx) return; | ||
draw(ctx); // eslint-disable-next-line react-hooks/exhaustive-deps | ||
draw(ctx); | ||
// eslint-disable-next-line react-hooks/exhaustive-deps | ||
}, []); | ||
return null; | ||
}; |
import React from "react"; | ||
export var CanvasContext = /*#__PURE__*/React.createContext(undefined); | ||
export var useCanvasContext = function () { | ||
var context = React.useContext(CanvasContext); | ||
export const CanvasContext = /*#__PURE__*/React.createContext(undefined); | ||
export const useCanvasContext = () => { | ||
const context = React.useContext(CanvasContext); | ||
if (!context) { | ||
throw new Error("This component must be wrapped in a CanvasContext.Provider component.\n Try setting groupComponent={<CanvasGroup />} in your chart component."); | ||
throw new Error(`This component must be wrapped in a CanvasContext.Provider component. | ||
Try setting groupComponent={<CanvasGroup />} in your chart component.`); | ||
} | ||
return context; | ||
}; |
@@ -7,12 +7,7 @@ "use strict"; | ||
exports.CanvasBar = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _victoryBar = require("victory-bar"); | ||
var _useCanvasContext2 = require("./hooks/use-canvas-context"); | ||
var _useCanvasContext = require("./hooks/use-canvas-context"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var evaluateProps = function (props) { | ||
const evaluateProps = props => { | ||
/** | ||
@@ -24,47 +19,42 @@ * Potential evaluated props of following must be evaluated in this order: | ||
*/ | ||
var style = (0, _victoryBar.getStyle)(props.style, props); | ||
var barWidth = (0, _victoryBar.getBarWidth)(props.barWidth, Object.assign({}, props, { | ||
style: style | ||
const style = (0, _victoryBar.getStyle)(props.style, props); | ||
const barWidth = (0, _victoryBar.getBarWidth)(props.barWidth, Object.assign({}, props, { | ||
style | ||
})); | ||
var cornerRadius = (0, _victoryBar.getCornerRadius)(props.cornerRadius, Object.assign({}, props, { | ||
style: style, | ||
barWidth: barWidth | ||
const cornerRadius = (0, _victoryBar.getCornerRadius)(props.cornerRadius, Object.assign({}, props, { | ||
style, | ||
barWidth | ||
})); | ||
var modifiedProps = Object.assign({}, props, { | ||
style: style, | ||
barWidth: barWidth, | ||
cornerRadius: cornerRadius | ||
const modifiedProps = Object.assign({}, props, { | ||
style, | ||
barWidth, | ||
cornerRadius | ||
}); | ||
return modifiedProps; | ||
}; | ||
var usePreviousValue = function (value) { | ||
var ref = _react.default.useRef(); | ||
_react.default.useEffect(function () { | ||
const usePreviousValue = value => { | ||
const ref = _react.default.useRef(); | ||
_react.default.useEffect(() => { | ||
ref.current = value; | ||
}); | ||
return ref.current; | ||
}; | ||
var CanvasBar = function (props) { | ||
var _useCanvasContext = (0, _useCanvasContext2.useCanvasContext)(), | ||
canvasRef = _useCanvasContext.canvasRef; | ||
var modifiedProps = evaluateProps(props); | ||
var polar = modifiedProps.polar, | ||
style = modifiedProps.style, | ||
barWidth = modifiedProps.barWidth, | ||
cornerRadius = modifiedProps.cornerRadius, | ||
origin = modifiedProps.origin; | ||
var path2d = _react.default.useMemo(function () { | ||
var p = polar ? (0, _victoryBar.getPolarBarPath)(modifiedProps, cornerRadius) : (0, _victoryBar.getBarPath)(modifiedProps, barWidth, cornerRadius); | ||
const CanvasBar = props => { | ||
const { | ||
canvasRef | ||
} = (0, _useCanvasContext.useCanvasContext)(); | ||
const modifiedProps = evaluateProps(props); | ||
const { | ||
polar, | ||
style, | ||
barWidth, | ||
cornerRadius, | ||
origin | ||
} = modifiedProps; | ||
const path2d = _react.default.useMemo(() => { | ||
const p = polar ? (0, _victoryBar.getPolarBarPath)(modifiedProps, cornerRadius) : (0, _victoryBar.getBarPath)(modifiedProps, barWidth, cornerRadius); | ||
return new Path2D(p); | ||
}, [polar, barWidth, cornerRadius, modifiedProps]); | ||
var previousPath = usePreviousValue(path2d); | ||
var draw = _react.default.useCallback(function (ctx, path) { | ||
const previousPath = usePreviousValue(path2d); | ||
const draw = _react.default.useCallback((ctx, path) => { | ||
ctx.fillStyle = style.fill; | ||
@@ -74,17 +64,15 @@ ctx.strokeStyle = style.stroke; | ||
ctx.lineWidth = style.strokeWidth; | ||
if (polar) { | ||
ctx.translate((origin === null || origin === void 0 ? void 0 : origin.x) || 0, (origin === null || origin === void 0 ? void 0 : origin.y) || 0); | ||
ctx.translate(origin?.x || 0, origin?.y || 0); | ||
} | ||
ctx.fill(path); | ||
ctx.setTransform(1, 0, 0, 1, 0, 0); | ||
}, [style, origin, polar]); // This will clear the previous bar without clearing the entire canvas | ||
}, [style, origin, polar]); | ||
var clearPreviousPath = _react.default.useCallback(function (ctx) { | ||
// This will clear the previous bar without clearing the entire canvas | ||
const clearPreviousPath = _react.default.useCallback(ctx => { | ||
if (previousPath) { | ||
ctx.save(); // This ensures that the entire shape is erased | ||
var strokeWidth = style.strokeWidth || 0; | ||
ctx.save(); | ||
// This ensures that the entire shape is erased | ||
const strokeWidth = style.strokeWidth || 0; | ||
ctx.lineWidth = strokeWidth + 2; | ||
@@ -97,7 +85,4 @@ ctx.globalCompositeOperation = "destination-out"; | ||
}, [draw, previousPath, style]); | ||
_react.default.useEffect(function () { | ||
var _canvasRef$current; | ||
var ctx = (_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.getContext("2d"); | ||
_react.default.useEffect(() => { | ||
const ctx = canvasRef.current?.getContext("2d"); | ||
if (!ctx) return; | ||
@@ -107,6 +92,4 @@ clearPreviousPath(ctx); | ||
}, [canvasRef, draw, polar, barWidth, cornerRadius, modifiedProps, path2d, clearPreviousPath]); | ||
return null; | ||
}; | ||
exports.CanvasBar = CanvasBar; |
@@ -7,25 +7,22 @@ "use strict"; | ||
exports.CanvasCurve = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _victoryCore = require("victory-core"); | ||
var _useCanvasContext2 = require("./hooks/use-canvas-context"); | ||
var _useCanvasContext = require("./hooks/use-canvas-context"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var CanvasCurve = function (props) { | ||
var _useCanvasContext = (0, _useCanvasContext2.useCanvasContext)(), | ||
canvasRef = _useCanvasContext.canvasRef, | ||
clear = _useCanvasContext.clear, | ||
clip = _useCanvasContext.clip; | ||
var style = props.style, | ||
data = props.data; | ||
var stroke = style.stroke, | ||
strokeWidth = style.strokeWidth; | ||
var draw = _react.default.useCallback(function (ctx) { | ||
var line = _victoryCore.LineHelpers.getLineFunction(props); | ||
const CanvasCurve = props => { | ||
const { | ||
canvasRef, | ||
clear, | ||
clip | ||
} = (0, _useCanvasContext.useCanvasContext)(); | ||
const { | ||
style, | ||
data | ||
} = props; | ||
const { | ||
stroke, | ||
strokeWidth | ||
} = style; | ||
const draw = _react.default.useCallback(ctx => { | ||
const line = _victoryCore.LineHelpers.getLineFunction(props); | ||
ctx.strokeStyle = stroke; | ||
@@ -36,7 +33,4 @@ ctx.lineWidth = strokeWidth; | ||
}, [data, props, stroke, strokeWidth]); | ||
_react.default.useEffect(function () { | ||
var _canvasRef$current; | ||
var ctx = (_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.getContext("2d"); | ||
_react.default.useEffect(() => { | ||
const ctx = canvasRef.current?.getContext("2d"); | ||
if (!ctx) return; | ||
@@ -47,6 +41,4 @@ clear(ctx); | ||
}, [canvasRef, draw, clear, clip]); | ||
return null; | ||
}; | ||
exports.CanvasCurve = CanvasCurve; |
@@ -7,38 +7,31 @@ "use strict"; | ||
exports.CanvasGroup = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _useCanvasContext = require("./hooks/use-canvas-context"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const CanvasGroup = props => { | ||
const canvasRef = _react.default.useRef(null); | ||
const { | ||
children, | ||
width = 0, | ||
height = 0, | ||
clipWidth, | ||
padding | ||
} = props; | ||
const clear = _react.default.useCallback(ctx => { | ||
return ctx.clearRect(0, 0, width, height); | ||
}, [width, height]); | ||
var CanvasGroup = function (props) { | ||
var canvasRef = _react.default.useRef(null); | ||
var children = props.children, | ||
_props$width = props.width, | ||
width = _props$width === void 0 ? 0 : _props$width, | ||
_props$height = props.height, | ||
height = _props$height === void 0 ? 0 : _props$height, | ||
clipWidth = props.clipWidth, | ||
padding = props.padding; | ||
var clear = _react.default.useCallback(function (ctx) { | ||
return ctx.clearRect(0, 0, width, height); | ||
}, [width, height]); // This needs to be called in the child component to ensure it is called after the | ||
// This needs to be called in the child component to ensure it is called after the | ||
// shape is drawn | ||
var clip = _react.default.useCallback(function (ctx) { | ||
var paddingRight = typeof padding === "number" ? padding : (padding === null || padding === void 0 ? void 0 : padding.right) || 0; | ||
var paddingLeft = typeof padding === "number" ? padding : (padding === null || padding === void 0 ? void 0 : padding.left) || 0; | ||
var maxClipWidth = width - paddingRight - paddingLeft; | ||
const clip = _react.default.useCallback(ctx => { | ||
const paddingRight = typeof padding === "number" ? padding : padding?.right || 0; | ||
const paddingLeft = typeof padding === "number" ? padding : padding?.left || 0; | ||
const maxClipWidth = width - paddingRight - paddingLeft; | ||
ctx.clearRect(width - paddingRight, 0, clipWidth ? (maxClipWidth - clipWidth) * -1 : 0, height); | ||
}, [width, height, padding, clipWidth]); | ||
return /*#__PURE__*/_react.default.createElement(_useCanvasContext.CanvasContext.Provider, { | ||
value: { | ||
canvasRef: canvasRef, | ||
clear: clear, | ||
clip: clip | ||
canvasRef, | ||
clear, | ||
clip | ||
} | ||
@@ -56,4 +49,3 @@ }, /*#__PURE__*/_react.default.createElement("foreignObject", { | ||
}; | ||
exports.CanvasGroup = CanvasGroup; | ||
CanvasGroup.role = "container"; |
@@ -7,22 +7,17 @@ "use strict"; | ||
exports.CanvasPoint = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _victoryCore = require("victory-core"); | ||
var _useCanvasContext2 = require("./hooks/use-canvas-context"); | ||
var _useCanvasContext = require("./hooks/use-canvas-context"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var getPath = function (props) { | ||
var x = props.x, | ||
y = props.y, | ||
size = props.size, | ||
symbol = props.symbol; | ||
const getPath = props => { | ||
const { | ||
x, | ||
y, | ||
size, | ||
symbol | ||
} = props; | ||
if (props.getPath) { | ||
return props.getPath(x, y, size); | ||
} | ||
var pathFunctions = { | ||
const pathFunctions = { | ||
circle: _victoryCore.PointPathHelpers.circle, | ||
@@ -38,7 +33,6 @@ square: _victoryCore.PointPathHelpers.square, | ||
}; | ||
var symbolFunction = typeof pathFunctions[symbol] === "function" ? pathFunctions[symbol] : pathFunctions.circle; | ||
const symbolFunction = typeof pathFunctions[symbol] === "function" ? pathFunctions[symbol] : pathFunctions.circle; | ||
return symbolFunction(x, y, size); | ||
}; | ||
var evaluateProps = function (props) { | ||
const evaluateProps = props => { | ||
/** | ||
@@ -50,41 +44,34 @@ * Potential evaluated props are: | ||
*/ | ||
var size = _victoryCore.Helpers.evaluateProp(props.size, props); | ||
var style = _victoryCore.Helpers.evaluateStyle(props.style, props); | ||
var symbol = _victoryCore.Helpers.evaluateProp(props.symbol, props); | ||
const size = _victoryCore.Helpers.evaluateProp(props.size, props); | ||
const style = _victoryCore.Helpers.evaluateStyle(props.style, props); | ||
const symbol = _victoryCore.Helpers.evaluateProp(props.symbol, props); | ||
return Object.assign({}, props, { | ||
size: size, | ||
style: style, | ||
symbol: symbol | ||
size, | ||
style, | ||
symbol | ||
}); | ||
}; | ||
var CanvasPoint = function (props) { | ||
var _useCanvasContext = (0, _useCanvasContext2.useCanvasContext)(), | ||
canvasRef = _useCanvasContext.canvasRef; | ||
var modifiedProps = evaluateProps(props); | ||
var draw = _react.default.useCallback(function (ctx) { | ||
var style = modifiedProps.style; | ||
var path = getPath(modifiedProps); | ||
ctx.fillStyle = style.fill; // eslint-disable-next-line no-undef | ||
var path2d = new Path2D(path); | ||
const CanvasPoint = props => { | ||
const { | ||
canvasRef | ||
} = (0, _useCanvasContext.useCanvasContext)(); | ||
const modifiedProps = evaluateProps(props); | ||
const draw = _react.default.useCallback(ctx => { | ||
const { | ||
style | ||
} = modifiedProps; | ||
const path = getPath(modifiedProps); | ||
ctx.fillStyle = style.fill; | ||
// eslint-disable-next-line no-undef | ||
const path2d = new Path2D(path); | ||
ctx.fill(path2d); | ||
}, [modifiedProps]); | ||
_react.default.useEffect(function () { | ||
var _canvasRef$current; | ||
var ctx = (_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.getContext("2d"); | ||
_react.default.useEffect(() => { | ||
const ctx = canvasRef.current?.getContext("2d"); | ||
if (!ctx) return; | ||
draw(ctx); // eslint-disable-next-line react-hooks/exhaustive-deps | ||
draw(ctx); | ||
// eslint-disable-next-line react-hooks/exhaustive-deps | ||
}, []); | ||
return null; | ||
}; | ||
exports.CanvasPoint = CanvasPoint; |
@@ -7,21 +7,13 @@ "use strict"; | ||
exports.useCanvasContext = exports.CanvasContext = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var CanvasContext = /*#__PURE__*/_react.default.createContext(undefined); | ||
exports.CanvasContext = CanvasContext; | ||
var useCanvasContext = function () { | ||
var context = _react.default.useContext(CanvasContext); | ||
const CanvasContext = exports.CanvasContext = /*#__PURE__*/_react.default.createContext(undefined); | ||
const useCanvasContext = () => { | ||
const context = _react.default.useContext(CanvasContext); | ||
if (!context) { | ||
throw new Error("This component must be wrapped in a CanvasContext.Provider component.\n Try setting groupComponent={<CanvasGroup />} in your chart component."); | ||
throw new Error(`This component must be wrapped in a CanvasContext.Provider component. | ||
Try setting groupComponent={<CanvasGroup />} in your chart component.`); | ||
} | ||
return context; | ||
}; | ||
exports.useCanvasContext = useCanvasContext; |
@@ -15,5 +15,3 @@ "use strict"; | ||
}); | ||
var _canvasBar = require("./canvas-bar"); | ||
Object.keys(_canvasBar).forEach(function (key) { | ||
@@ -30,5 +28,3 @@ if (key === "default" || key === "__esModule") return; | ||
}); | ||
var _canvasGroup = require("./canvas-group"); | ||
Object.keys(_canvasGroup).forEach(function (key) { | ||
@@ -45,5 +41,3 @@ if (key === "default" || key === "__esModule") return; | ||
}); | ||
var _canvasCurve = require("./canvas-curve"); | ||
Object.keys(_canvasCurve).forEach(function (key) { | ||
@@ -60,5 +54,3 @@ if (key === "default" || key === "__esModule") return; | ||
}); | ||
var _canvasPoint = require("./canvas-point"); | ||
Object.keys(_canvasPoint).forEach(function (key) { | ||
@@ -75,3 +67,2 @@ if (key === "default" || key === "__esModule") return; | ||
}); | ||
var _useCanvasContext = require("./hooks/use-canvas-context"); |
{ | ||
"name": "victory-canvas", | ||
"version": "36.9.2", | ||
"version": "37.0.0", | ||
"description": "HTML5 Canvas Components for Victory", | ||
@@ -24,4 +24,4 @@ "keywords": [ | ||
"lodash": "^4.17.19", | ||
"victory-bar": "^36.9.2", | ||
"victory-core": "^36.9.2" | ||
"victory-bar": "^37.0.0", | ||
"victory-core": "^37.0.0" | ||
}, | ||
@@ -28,0 +28,0 @@ "peerDependencies": { |
Sorry, the diff of this file is too big to display
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
7083
3
386634
+ Addedvictory-bar@37.3.6(transitive)
+ Addedvictory-core@37.3.6(transitive)
+ Addedvictory-vendor@37.3.6(transitive)
- Removedvictory-bar@36.9.2(transitive)
- Removedvictory-core@36.9.2(transitive)
- Removedvictory-vendor@36.9.2(transitive)
Updatedvictory-bar@^37.0.0
Updatedvictory-core@^37.0.0