victory-canvas
Advanced tools
Comparing version 36.9.1 to 36.9.2-next.0
# victory-canvas | ||
## 36.9.2-next.0 | ||
### Patch Changes | ||
- Updated dependencies [3f2da66e3] | ||
- Updated dependencies [c13308624] | ||
- Updated dependencies [f6f7cc515] | ||
- Updated dependencies [6e34169a5] | ||
- victory-core@36.9.2-next.0 | ||
- victory-bar@36.9.2-next.0 | ||
## 36.9.1 | ||
@@ -4,0 +15,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},9642:(t,n,i)=>{var e=i(563),o=i(7709);t.exports=function(t){if(!o(t))return!1;var n=e(t);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}},8454:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},9555:t=>{t.exports=function(t){return null==t}},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}},7747:(t,n,i)=>{var e=i(5125)(Object.keys,Object);t.exports=e},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:()=>rt,CanvasCurve:()=>mi,CanvasGroup:()=>st,CanvasPoint:()=>Ci,useCanvasContext:()=>et});var t={};e.r(t),e.d(t,{arc:()=>B,area:()=>yt,areaRadial:()=>wt,curveBasis:()=>yn,curveBasisClosed:()=>pn,curveBasisOpen:()=>dn,curveBumpX:()=>St,curveBumpY:()=>Pt,curveBundle:()=>gn,curveCardinal:()=>wn,curveCardinalClosed:()=>kn,curveCardinalOpen:()=>Sn,curveCatmullRom:()=>jn,curveCatmullRomClosed:()=>Rn,curveCatmullRomOpen:()=>Nn,curveLinear:()=>ut,curveLinearClosed:()=>zn,curveMonotoneX:()=>Fn,curveMonotoneY:()=>Zn,curveNatural:()=>Gn,curveStep:()=>Hn,curveStepAfter:()=>Jn,curveStepBefore:()=>Qn,line:()=>ft,lineRadial:()=>Tt,link:()=>Rt,linkHorizontal:()=>Et,linkRadial:()=>Lt,linkVertical:()=>Nt,pie:()=>vt,pointRadial:()=>Mt,radialArea:()=>wt,radialLine:()=>Tt,stack:()=>ei,stackOffsetDiverging:()=>ri,stackOffsetExpand:()=>oi,stackOffsetNone:()=>Kn,stackOffsetSilhouette:()=>si,stackOffsetWiggle:()=>ci,stackOrderAppearance:()=>ai,stackOrderAscending:()=>ui,stackOrderDescending:()=>_i,stackOrderInsideOut:()=>fi,stackOrderNone:()=>ti,stackOrderReverse:()=>yi,symbol:()=>un,symbolAsterisk:()=>qt,symbolCircle:()=>It,symbolCross:()=>Dt,symbolDiamond:()=>Yt,symbolDiamond2:()=>Bt,symbolPlus:()=>Ft,symbolSquare:()=>Zt,symbolSquare2:()=>$t,symbolStar:()=>Ht,symbolTriangle:()=>Jt,symbolTriangle2:()=>tn,symbolWye:()=>sn,symbolX:()=>cn,symbols:()=>an,symbolsFill:()=>an,symbolsStroke:()=>hn});var n=e(9787),i=e.n(n),r=e(3849),s=e.n(r),c=e(9555),a=e.n(c),h=e(7747),u=e.n(h),l=(e(9082),e(8532),e(9642)),_=e.n(l);function f(t,n){return _()(t)?t(n):t}function y(t,n){return n.disableInlineStyles?{}:t&&u()(t).some((function(n){return _()(t[n])}))?u()(t).reduce((function(i,e){return i[e]=f(t[e],n),i}),{}):t}e(1893);const x=Math.PI,p=2*x,v=1e-6,d=p-v;function b(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function g(){return new b}b.prototype=g.prototype={constructor:b,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,l=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(l>v)if(Math.abs(u*c-a*h)>v&&o){var _=i-r,f=e-s,y=c*c+a*a,p=_*_+f*f,d=Math.sqrt(y),b=Math.sqrt(l),g=o*Math.tan((x-Math.acos((y+l-p)/(2*d*b)))/2),m=g/b,T=g/d;Math.abs(m-1)>v&&(this._+="L"+(t+m*h)+","+(n+m*u)),this._+="A"+o+","+o+",0,0,"+ +(u*_>h*f)+","+(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,l=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)>v||Math.abs(this._y1-h)>v)&&(this._+="L"+a+","+h),i&&(l<0&&(l=l%p+p),l>d?this._+="A"+i+","+i+",0,1,"+u+","+(t-s)+","+(n-c)+"A"+i+","+i+",0,1,"+u+","+(this._x1=a)+","+(this._y1=h):l>v&&(this._+="A"+i+","+i+",0,"+ +(l>=x)+","+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 m=g;function T(t){return function(){return t}}const w=Math.abs,M=Math.atan2,k=Math.cos,O=Math.max,S=Math.min,P=Math.sin,A=Math.sqrt,j=1e-12,C=Math.PI,R=C/2,E=2*C;function N(t){return t>1?0:t<-1?C:Math.acos(t)}function L(t){return t>=1?R:t<=-1?-R:Math.asin(t)}function z(t){return t.innerRadius}function q(t){return t.outerRadius}function I(t){return t.startAngle}function D(t){return t.endAngle}function W(t){return t&&t.padAngle}function X(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(!(_*_<j))return[t+(_=(u*(n-r)-l*(t-o))/_)*a,n+_*h]}function Y(t,n,i,e,o,r,s){var c=t-i,a=n-e,h=(s?r:-r)/A(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,T=_*x-y*f,w=(b<0?-1:1)*A(O(0,m*m*g-T*T)),M=(T*b-d*w)/g,k=(-T*d-b*w)/g,S=(T*b+d*w)/g,P=(-T*d+b*w)/g,j=M-p,C=k-v,R=S-p,E=P-v;return j*j+C*C>R*R+E*E&&(M=S,k=P),{cx:M,cy:k,x01:-u,y01:-l,x11:M*(o/m-1),y11:k*(o/m-1)}}function B(){var t=z,n=q,i=T(0),e=null,o=I,r=D,s=W,c=null;function a(){var a,h,u=+t.apply(this,arguments),l=+n.apply(this,arguments),_=o.apply(this,arguments)-R,f=r.apply(this,arguments)-R,y=w(f-_),x=f>_;if(c||(c=a=m()),l<u&&(h=l,l=u,u=h),l>j)if(y>E-j)c.moveTo(l*k(_),l*P(_)),c.arc(0,0,l,_,f,!x),u>j&&(c.moveTo(u*k(f),u*P(f)),c.arc(0,0,u,f,_,x));else{var p,v,d=_,b=f,g=_,T=f,O=y,z=y,q=s.apply(this,arguments)/2,I=q>j&&(e?+e.apply(this,arguments):A(u*u+l*l)),D=S(w(l-u)/2,+i.apply(this,arguments)),W=D,B=D;if(I>j){var F=L(I/u*P(q)),Z=L(I/l*P(q));(O-=2*F)>j?(g+=F*=x?1:-1,T-=F):(O=0,g=T=(_+f)/2),(z-=2*Z)>j?(d+=Z*=x?1:-1,b-=Z):(z=0,d=b=(_+f)/2)}var $=l*k(d),V=l*P(d),G=u*k(T),U=u*P(T);if(D>j){var H,Q=l*k(b),J=l*P(b),K=u*k(g),tt=u*P(g);if(y<C&&(H=X($,V,K,tt,Q,J,G,U))){var nt=$-H[0],it=V-H[1],et=Q-H[0],ot=J-H[1],rt=1/P(N((nt*et+it*ot)/(A(nt*nt+it*it)*A(et*et+ot*ot)))/2),st=A(H[0]*H[0]+H[1]*H[1]);W=S(D,(u-st)/(rt-1)),B=S(D,(l-st)/(rt+1))}}z>j?B>j?(p=Y(K,tt,$,V,l,B,x),v=Y(Q,J,G,U,l,B,x),c.moveTo(p.cx+p.x01,p.cy+p.y01),B<D?c.arc(p.cx,p.cy,B,M(p.y01,p.x01),M(v.y01,v.x01),!x):(c.arc(p.cx,p.cy,B,M(p.y01,p.x01),M(p.y11,p.x11),!x),c.arc(0,0,l,M(p.cy+p.y11,p.cx+p.x11),M(v.cy+v.y11,v.cx+v.x11),!x),c.arc(v.cx,v.cy,B,M(v.y11,v.x11),M(v.y01,v.x01),!x))):(c.moveTo($,V),c.arc(0,0,l,d,b,!x)):c.moveTo($,V),u>j&&O>j?W>j?(p=Y(G,U,Q,J,u,-W,x),v=Y($,V,K,tt,u,-W,x),c.lineTo(p.cx+p.x01,p.cy+p.y01),W<D?c.arc(p.cx,p.cy,W,M(p.y01,p.x01),M(v.y01,v.x01),!x):(c.arc(p.cx,p.cy,W,M(p.y01,p.x01),M(p.y11,p.x11),!x),c.arc(0,0,u,M(p.cy+p.y11,p.cx+p.x11),M(v.cy+v.y11,v.cx+v.x11),x),c.arc(v.cx,v.cy,W,M(v.y11,v.x11),M(v.y01,v.x01),!x))):c.arc(0,0,u,T,g,x):c.lineTo(G,U)}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-C/2;return[k(e)*i,P(e)*i]},a.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:T(+n),a):t},a.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:T(+t),a):n},a.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:T(+t),a):i},a.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:T(+t),a):e},a.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:T(+t),a):o},a.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:T(+t),a):r},a.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:T(+t),a):s},a.context=function(t){return arguments.length?(c=null==t?null:t,a):c},a}var F=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 F(this.x+t.x,this.y+t.y)},subtract:function(t){return F(this.x-t.x,this.y-t.y)},scalarMult:function(t){return F(this.x*t,this.y*t)},scalarDivide:function(t){if(0===t)throw new Error("Division by 0 error");return F(this.x/t,this.y/t)},equals:function(t){return this.x===t.x&&this.y===t.y}}},Z=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=[F(f-c*(_-u)/r,y+c*(l-h)/r),F(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 $(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 V(t){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?$(Object(i),!0).forEach((function(n){G(t,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):$(Object(i)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(i,n))}))}return t}function G(t,n,i){return n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i,t}function U(t){return function(t){if(Array.isArray(t))return H(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 H(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)?H(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 H(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 Q=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}},J=function(t,n){var i=t.data,e=t.scale,o=void 0===i[n]._x1?"_x":"_x1";return e.x(i[n][o])},K=function(t){return-1*t+Math.PI/2},tt=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")},nt=function(t,n,i){return t.getPath?function(t,n){var i=t.getPath;if("function"==typeof i)return i(V(V({},t),Q(t,n)))}(t,n):t.horizontal?function(t,n,i){var e=Q(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=F(r+i["".concat(t,"Left")],h-a*i["".concat(t,"Left")]),x=Z(y,i["".concat(t,"Left")]),p=F(s-i["".concat(t,"Right")],h-a*i["".concat(t,"Right")]),v=Z(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(U(a),[h[3],h[2]])}(e,o,r);return tt(s,r,"0 0 1")}(t,n,i):function(t,n,i){var e=Q(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=F(h+a*i["top".concat(t)],s+n*i["top".concat(t)]),x=Z(y,i["top".concat(t)]),p=F(h+a*i["bottom".concat(t)],r-n*i["bottom".concat(t)]),v=Z(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 tt(s,i,r)}(t,n,i)},it=i().createContext(void 0),et=function(){var t=i().useContext(it);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},ot=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 y(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 f(t,n);if(o.width)return o.width;var r=i.x.range(),s=Math.abs(r[1]-r[0]),c=e.length+2,a=(n.barRatio||.5)*(e.length<2?8:s/c);return Math.max(1,a)}(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){a()(t[e])?a()(t[o])||(i[e]=f(t[o],n)):i[e]=f(t[e],n)};return e("topLeft","top"),e("topRight","top"),e("bottomLeft","bottom"),e("bottomRight","bottom"),i}(t,n):(i.topLeft=f(t,n),i.topRight=f(t,n),i):i}(t.cornerRadius,Object.assign({},t,{style:n,barWidth:i}));return Object.assign({},t,{style:n,barWidth:i,cornerRadius:e})},rt=function(t){var n,e,o=et().canvasRef,r=ot(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,U(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=J(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),c=0===n?J(t,i.length-1)-2*Math.PI:J(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=J(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),c=e.x.range()[1]===2*Math.PI?J(t,0)+2*Math.PI:e.x.range()[1],a=n===i.length-1?J(t,0)+2*Math.PI:J(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 B().innerRadius(h).outerRadius(u).startAngle(K(i)).endAngle(K(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(U(h.slice(0,b)),U(f.slice(v))),o=[].concat(U(l.slice(0,b)),U(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(U(f.slice(0,p+2)),U(u.slice(d))),o=[].concat(U(y.slice(0,p+2)),U(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(U(p),U(v)).reduce((function(t,n){return"".concat(t).concat(n.command," ").concat(n.coords.join())}),"");return"".concat(d," z")}(t,n)}(r,h):nt(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},st=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(it.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)};st.role="container";var ct=Array.prototype.slice;function at(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function ht(t){this._context=t}function ut(t){return new ht(t)}function lt(t){return t[0]}function _t(t){return t[1]}function ft(t,n){var i=T(!0),e=null,o=ut,r=null;function s(s){var c,a,h,u=(s=at(s)).length,l=!1;for(null==e&&(r=o(h=m())),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?lt:T(t),n="function"==typeof n?n:void 0===n?_t:T(n),s.x=function(n){return arguments.length?(t="function"==typeof n?n:T(+n),s):t},s.y=function(t){return arguments.length?(n="function"==typeof t?t:T(+t),s):n},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:T(!!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 yt(t,n,i){var e=null,o=T(!0),r=null,s=ut,c=null;function a(a){var h,u,l,_,f,y=(a=at(a)).length,x=!1,p=new Array(y),v=new Array(y);for(null==r&&(c=s(f=m())),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],v[l]);c.lineEnd(),c.areaEnd()}x&&(p[h]=+t(_,h,a),v[h]=+n(_,h,a),c.point(e?+e(_,h,a):p[h],i?+i(_,h,a):v[h]))}if(f)return c=null,f+""||null}function h(){return ft().defined(o).curve(s).context(r)}return t="function"==typeof t?t:void 0===t?lt:T(+t),n="function"==typeof n?n:T(void 0===n?0:+n),i="function"==typeof i?i:void 0===i?_t:T(+i),a.x=function(n){return arguments.length?(t="function"==typeof n?n:T(+n),e=null,a):t},a.x0=function(n){return arguments.length?(t="function"==typeof n?n:T(+n),a):t},a.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:T(+t),a):e},a.y=function(t){return arguments.length?(n="function"==typeof t?t:T(+t),i=null,a):n},a.y0=function(t){return arguments.length?(n="function"==typeof t?t:T(+t),a):n},a.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:T(+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:T(!!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 xt(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function pt(t){return t}function vt(){var t=pt,n=xt,i=null,e=T(0),o=T(E),r=T(0);function s(s){var c,a,h,u,l,_=(s=at(s)).length,f=0,y=new Array(_),x=new Array(_),p=+e.apply(this,arguments),v=Math.min(E,Math.max(-E,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:T(+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:T(+t),s):e},s.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:T(+t),s):o},s.padAngle=function(t){return arguments.length?(r="function"==typeof t?t:T(+t),s):r},s}ht.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 dt=gt(ut);function bt(t){this._curve=t}function gt(t){function n(n){return new bt(t(n))}return n._curve=t,n}function mt(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(gt(t)):n()._curve},t}function Tt(){return mt(ft().curve(dt))}function wt(){var t=yt().curve(dt),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 mt(i())},delete t.lineX0,t.lineEndAngle=function(){return mt(e())},delete t.lineX1,t.lineInnerRadius=function(){return mt(o())},delete t.lineY0,t.lineOuterRadius=function(){return mt(r())},delete t.lineY1,t.curve=function(t){return arguments.length?n(gt(t)):n()._curve},t}function Mt(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}bt.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 kt{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 Ot{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=Mt(this._x0,this._y0),e=Mt(this._x0,this._y0=(this._y0+n)/2),o=Mt(t,this._y0),r=Mt(t,n);this._context.moveTo(...i),this._context.bezierCurveTo(...e,...o,...r)}}}function St(t){return new kt(t,!0)}function Pt(t){return new kt(t,!1)}function At(t){return new Ot(t)}function jt(t){return t.source}function Ct(t){return t.target}function Rt(t){let n=jt,i=Ct,e=lt,o=_t,r=null,s=null;function c(){let c;const a=ct.call(arguments),h=n.apply(this,a),u=i.apply(this,a);if(null==r&&(s=t(c=m())),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:T(+t),c):e},c.y=function(t){return arguments.length?(o="function"==typeof t?t:T(+t),c):o},c.context=function(n){return arguments.length?(null==n?r=s=null:s=t(r=n),c):r},c}function Et(){return Rt(St)}function Nt(){return Rt(Pt)}function Lt(){const t=Rt(At);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const zt=A(3),qt={draw(t,n){const i=.59436*A(n+S(n/28,.75)),e=i/2,o=e*zt;t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-o,-e),t.lineTo(o,e),t.moveTo(-o,e),t.lineTo(o,-e)}},It={draw(t,n){const i=A(n/C);t.moveTo(i,0),t.arc(0,0,i,0,E)}},Dt={draw(t,n){const i=A(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()}},Wt=A(1/3),Xt=2*Wt,Yt={draw(t,n){const i=A(n/Xt),e=i*Wt;t.moveTo(0,-i),t.lineTo(e,0),t.lineTo(0,i),t.lineTo(-e,0),t.closePath()}},Bt={draw(t,n){const i=.62625*A(n);t.moveTo(0,-i),t.lineTo(i,0),t.lineTo(0,i),t.lineTo(-i,0),t.closePath()}},Ft={draw(t,n){const i=.87559*A(n-S(n/7,2));t.moveTo(-i,0),t.lineTo(i,0),t.moveTo(0,i),t.lineTo(0,-i)}},Zt={draw(t,n){const i=A(n),e=-i/2;t.rect(e,e,i,i)}},$t={draw(t,n){const i=.4431*A(n);t.moveTo(i,i),t.lineTo(i,-i),t.lineTo(-i,-i),t.lineTo(-i,i),t.closePath()}},Vt=P(C/10)/P(7*C/10),Gt=P(E/10)*Vt,Ut=-k(E/10)*Vt,Ht={draw(t,n){const i=A(.8908130915292852*n),e=Gt*i,o=Ut*i;t.moveTo(0,-i),t.lineTo(e,o);for(let n=1;n<5;++n){const r=E*n/5,s=k(r),c=P(r);t.lineTo(c*i,-s*i),t.lineTo(s*e-c*o,c*e+s*o)}t.closePath()}},Qt=A(3),Jt={draw(t,n){const i=-A(n/(3*Qt));t.moveTo(0,2*i),t.lineTo(-Qt*i,-i),t.lineTo(Qt*i,-i),t.closePath()}},Kt=A(3),tn={draw(t,n){const i=.6824*A(n),e=i/2,o=i*Kt/2;t.moveTo(0,-i),t.lineTo(o,e),t.lineTo(-o,e),t.closePath()}},nn=-.5,en=A(3)/2,on=1/A(12),rn=3*(on/2+1),sn={draw(t,n){const i=A(n/rn),e=i/2,o=i*on,r=e,s=i*on+i,c=-r,a=s;t.moveTo(e,o),t.lineTo(r,s),t.lineTo(c,a),t.lineTo(nn*e-en*o,en*e+nn*o),t.lineTo(nn*r-en*s,en*r+nn*s),t.lineTo(nn*c-en*a,en*c+nn*a),t.lineTo(nn*e+en*o,nn*o-en*e),t.lineTo(nn*r+en*s,nn*s-en*r),t.lineTo(nn*c+en*a,nn*a-en*c),t.closePath()}},cn={draw(t,n){const i=.6189*A(n-S(n/6,1.7));t.moveTo(-i,-i),t.lineTo(i,i),t.moveTo(-i,i),t.lineTo(i,-i)}},an=[It,Dt,Yt,Zt,Ht,Jt,sn],hn=[It,Ft,cn,tn,qt,$t,Bt];function un(t,n){let i=null;function e(){let e;if(i||(i=e=m()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),e)return i=null,e+""||null}return t="function"==typeof t?t:T(t||It),n="function"==typeof n?n:T(void 0===n?64:+n),e.type=function(n){return arguments.length?(t="function"==typeof n?n:T(n),e):t},e.size=function(t){return arguments.length?(n="function"==typeof t?t:T(+t),e):n},e.context=function(t){return arguments.length?(i=null==t?null:t,e):i},e}function ln(){}function _n(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 fn(t){this._context=t}function yn(t){return new fn(t)}function xn(t){this._context=t}function pn(t){return new xn(t)}function vn(t){this._context=t}function dn(t){return new vn(t)}function bn(t,n){this._basis=new fn(t),this._beta=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(){switch(this._point){case 3:_n(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:_n(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},xn.prototype={areaStart:ln,areaEnd:ln,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:_n(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},vn.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:_n(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},bn.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 gn=function t(n){function i(t){return 1===n?new fn(t):new bn(t,n)}return i.beta=function(n){return t(+n)},i}(.85);function mn(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 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(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:mn(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:mn(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){this._context=t,this._k=(1-n)/6}Mn.prototype={areaStart:ln,areaEnd:ln,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:mn(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 kn=function t(n){function i(t){return new Mn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function On(t,n){this._context=t,this._k=(1-n)/6}On.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:mn(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 Sn=function t(n){function i(t){return new On(t,n)}return i.tension=function(n){return t(+n)},i}(0);function Pn(t,n,i){var e=t._x1,o=t._y1,r=t._x2,s=t._y2;if(t._l01_a>j){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>j){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 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(){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:Pn(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 jn=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 Cn(t,n){this._context=t,this._alpha=n}Cn.prototype={areaStart:ln,areaEnd:ln,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:Pn(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 Rn=function t(n){function i(t){return n?new Cn(t,n):new Mn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function En(t,n){this._context=t,this._alpha=n}En.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:Pn(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 Nn=function t(n){function i(t){return n?new En(t,n):new On(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Ln(t){this._context=t}function zn(t){return new Ln(t)}function qn(t){return t<0?-1:1}function In(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(qn(r)+qn(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(c))||0}function Dn(t,n){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-n)/2:n}function Wn(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 Xn(t){this._context=t}function Yn(t){this._context=new Bn(t)}function Bn(t){this._context=t}function Fn(t){return new Xn(t)}function Zn(t){return new Yn(t)}function $n(t){this._context=t}function Vn(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 Gn(t){return new $n(t)}function Un(t,n){this._context=t,this._t=n}function Hn(t){return new Un(t,.5)}function Qn(t){return new Un(t,0)}function Jn(t){return new Un(t,1)}function Kn(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 ti(t){for(var n=t.length,i=new Array(n);--n>=0;)i[n]=n;return i}function ni(t,n){return t[n]}function ii(t){const n=[];return n.key=t,n}function ei(){var t=T([]),n=ti,i=Kn,e=ni;function o(o){var r,s,c=Array.from(t.apply(this,arguments),ii),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=at(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:T(Array.from(n)),o):t},o.value=function(t){return arguments.length?(e="function"==typeof t?t:T(+t),o):e},o.order=function(t){return arguments.length?(n=null==t?ti:"function"==typeof t?t:T(Array.from(t)),o):n},o.offset=function(t){return arguments.length?(i=null==t?Kn:t,o):i},o}function oi(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}Kn(t,n)}}function ri(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 si(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}Kn(t,n)}}function ci(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,Kn(t,n)}}function ai(t){var n=t.map(hi);return ti(t).sort((function(t,i){return n[t]-n[i]}))}function hi(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 ui(t){var n=t.map(li);return ti(t).sort((function(t,i){return n[t]-n[i]}))}function li(t){for(var n,i=0,e=-1,o=t.length;++e<o;)(n=+t[e][1])&&(i+=n);return i}function _i(t){return ui(t).reverse()}function fi(t){var n,i,e=t.length,o=t.map(li),r=ai(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 yi(t){return ti(t).reverse()}Ln.prototype={areaStart:ln,areaEnd:ln,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))}},Xn.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:Wn(this,this._t0,Dn(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,Wn(this,Dn(this,i=In(this,t,n)),i);break;default:Wn(this,this._t0,i=In(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=i}}},(Yn.prototype=Object.create(Xn.prototype)).point=function(t,n){Xn.prototype.point.call(this,n,t)},Bn.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)}},$n.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=Vn(t),o=Vn(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)}},Un.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 xi=function(t){return null!=(void 0!==t._y1?t._y1:t._y)&&null!==t._y0},pi=function(t){return function(n){return t.x(void 0!==n._x1?n._x1:n._x)}},vi=function(t){return function(n){return t.y(void 0!==n._y1?n._y1:n._y)}},di=function(t){return"curve".concat(function(t){return t&&t[0].toUpperCase()+t.slice(1)}(t))},bi=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)?di(i):function(t){return"".concat(di(t),"Closed")}(i);return t[r]}return ut},gi=function(t){var n=t.polar,i=t.scale,e=t.horizontal;return n?Tt().defined(xi).curve(bi(t)).angle(function(t){return function(n){return-1*t.x(void 0!==n._x1?n._x1:n._x)+Math.PI/2}}(i)).radius(vi(i)):ft().defined(xi).curve(bi(t)).x(e?vi(i):pi(i)).y(e?pi(i):vi(i))},mi=function(t){var n=et(),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=gi(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 Ti(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 wi(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 Mi(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 ki(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 Oi(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 Si(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 Pi(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 Ai(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 ji(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 Ci=function(t){var n=et().canvasRef,e=function(t){var n=f(t.size,t),i=y(t.style,t),e=f(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:Ti,square:wi,diamond:Mi,triangleDown:ki,triangleUp:Oi,plus:Si,minus:Ai,star:ji,cross:Pi};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}},7747:function(t,n,i){var e=i(5125)(Object.keys,Object);t.exports=e},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 J},CanvasCurve:function(){return xi},CanvasGroup:function(){return K},CanvasPoint:function(){return Mi},useCanvasContext:function(){return H}});var t={};e.r(t),e.d(t,{arc:function(){return X},area:function(){return ut},areaRadial:function(){return pt},curveBasis:function(){return un},curveBasisClosed:function(){return hn},curveBasisOpen:function(){return ln},curveBumpX:function(){return bt},curveBumpY:function(){return mt},curveBundle:function(){return fn},curveCardinal:function(){return pn},curveCardinalClosed:function(){return dn},curveCardinalOpen:function(){return bn},curveCatmullRom:function(){return $n},curveCatmullRomClosed:function(){return wn},curveCatmullRomOpen:function(){return Sn},curveLinear:function(){return et},curveLinearClosed:function(){return Cn},curveMonotoneX:function(){return zn},curveMonotoneY:function(){return qn},curveNatural:function(){return Xn},curveStep:function(){return Dn},curveStepAfter:function(){return Zn},curveStepBefore:function(){return Bn},line:function(){return st},lineRadial:function(){return yt},link:function(){return wt},linkHorizontal:function(){return kt},linkRadial:function(){return Pt},linkVertical:function(){return St},pie:function(){return at},pointRadial:function(){return vt},radialArea:function(){return pt},radialLine:function(){return yt},stack:function(){return Hn},stackOffsetDiverging:function(){return Jn},stackOffsetExpand:function(){return Qn},stackOffsetNone:function(){return Fn},stackOffsetSilhouette:function(){return Kn},stackOffsetWiggle:function(){return ti},stackOrderAppearance:function(){return ni},stackOrderAscending:function(){return ei},stackOrderDescending:function(){return ri},stackOrderInsideOut:function(){return si},stackOrderNone:function(){return Vn},stackOrderReverse:function(){return ui},symbol:function(){return en},symbolAsterisk:function(){return Rt},symbolCircle:function(){return At},symbolCross:function(){return Ot},symbolDiamond:function(){return Lt},symbolDiamond2:function(){return jt},symbolPlus:function(){return zt},symbolSquare:function(){return qt},symbolSquare2:function(){return It},symbolStar:function(){return Dt},symbolTriangle:function(){return Zt},symbolTriangle2:function(){return Vt},symbolWye:function(){return Jt},symbolX:function(){return Kt},symbols:function(){return tn},symbolsFill:function(){return tn},symbolsStroke:function(){return nn}});var n=e(9787),i=e.n(n),r=e(3849),s=e.n(r),u=e(7747),c=e.n(u);function h(t,n){return _(t)?t(n):t}function a(t,n){return n.disableInlineStyles?{}:t&&c()(t).some((n=>_(t[n])))?c()(t).reduce(((i,e)=>(i[e]=h(t[e],n),i)),{}):t}function l(t){return null==t}function _(t){return"function"==typeof t}e(9082),e(8532),e(1893);const f=Math.PI,x=2*f,y=1e-6,p=x-y;function v(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function d(){return new v}v.prototype=d.prototype={constructor:v,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,l=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(l>y)if(Math.abs(a*u-c*h)>y&&o){var _=i-r,x=e-s,p=u*u+c*c,v=_*_+x*x,d=Math.sqrt(p),g=Math.sqrt(l),b=o*Math.tan((f-Math.acos((p+l-v)/(2*d*g)))/2),m=b/g,T=b/d;Math.abs(m-1)>y&&(this._+="L"+(t+m*h)+","+(n+m*a)),this._+="A"+o+","+o+",0,0,"+ +(a*_>h*x)+","+(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,l=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)>y||Math.abs(this._y1-h)>y)&&(this._+="L"+c+","+h),i&&(l<0&&(l=l%x+x),l>p?this._+="A"+i+","+i+",0,1,"+a+","+(t-s)+","+(n-u)+"A"+i+","+i+",0,1,"+a+","+(this._x1=c)+","+(this._y1=h):l>y&&(this._+="A"+i+","+i+",0,"+ +(l>=f)+","+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 g=d;function b(t){return function(){return t}}const m=Math.abs,T=Math.atan2,$=Math.cos,M=Math.max,w=Math.min,k=Math.sin,S=Math.sqrt,P=1e-12,C=Math.PI,R=C/2,A=2*C;function O(t){return t>1?0:t<-1?C:Math.acos(t)}function E(t){return t>=1?R:t<=-1?-R:Math.asin(t)}function N(t){return t.innerRadius}function L(t){return t.outerRadius}function j(t){return t.startAngle}function z(t){return t.endAngle}function q(t){return t&&t.padAngle}function I(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(!(_*_<P))return[t+(_=(a*(n-r)-l*(t-o))/_)*c,n+_*h]}function W(t,n,i,e,o,r,s){var u=t-i,c=n-e,h=(s?r:-r)/S(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,T=_*y-x*f,$=(g<0?-1:1)*S(M(0,m*m*b-T*T)),w=(T*g-d*$)/b,k=(-T*d-g*$)/b,P=(T*g+d*$)/b,C=(-T*d+g*$)/b,R=w-p,A=k-v,O=P-p,E=C-v;return R*R+A*A>O*O+E*E&&(w=P,k=C),{cx:w,cy:k,x01:-a,y01:-l,x11:w*(o/m-1),y11:k*(o/m-1)}}function X(){var t=N,n=L,i=b(0),e=null,o=j,r=z,s=q,u=null;function c(){var c,h,a=+t.apply(this,arguments),l=+n.apply(this,arguments),_=o.apply(this,arguments)-R,f=r.apply(this,arguments)-R,x=m(f-_),y=f>_;if(u||(u=c=g()),l<a&&(h=l,l=a,a=h),l>P)if(x>A-P)u.moveTo(l*$(_),l*k(_)),u.arc(0,0,l,_,f,!y),a>P&&(u.moveTo(a*$(f),a*k(f)),u.arc(0,0,a,f,_,y));else{var p,v,d=_,b=f,M=_,N=f,L=x,j=x,z=s.apply(this,arguments)/2,q=z>P&&(e?+e.apply(this,arguments):S(a*a+l*l)),X=w(m(l-a)/2,+i.apply(this,arguments)),Y=X,D=X;if(q>P){var B=E(q/a*k(z)),Z=E(q/l*k(z));(L-=2*B)>P?(M+=B*=y?1:-1,N-=B):(L=0,M=N=(_+f)/2),(j-=2*Z)>P?(d+=Z*=y?1:-1,b-=Z):(j=0,d=b=(_+f)/2)}var F=l*$(d),V=l*k(d),G=a*$(N),U=a*k(N);if(X>P){var H,Q=l*$(b),J=l*k(b),K=a*$(M),tt=a*k(M);if(x<C&&(H=I(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/k(O((nt*et+it*ot)/(S(nt*nt+it*it)*S(et*et+ot*ot)))/2),st=S(H[0]*H[0]+H[1]*H[1]);Y=w(X,(a-st)/(rt-1)),D=w(X,(l-st)/(rt+1))}}j>P?D>P?(p=W(K,tt,F,V,l,D,y),v=W(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,T(p.y01,p.x01),T(v.y01,v.x01),!y):(u.arc(p.cx,p.cy,D,T(p.y01,p.x01),T(p.y11,p.x11),!y),u.arc(0,0,l,T(p.cy+p.y11,p.cx+p.x11),T(v.cy+v.y11,v.cx+v.x11),!y),u.arc(v.cx,v.cy,D,T(v.y11,v.x11),T(v.y01,v.x01),!y))):(u.moveTo(F,V),u.arc(0,0,l,d,b,!y)):u.moveTo(F,V),a>P&&L>P?Y>P?(p=W(G,U,Q,J,a,-Y,y),v=W(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,T(p.y01,p.x01),T(v.y01,v.x01),!y):(u.arc(p.cx,p.cy,Y,T(p.y01,p.x01),T(p.y11,p.x11),!y),u.arc(0,0,a,T(p.cy+p.y11,p.cx+p.x11),T(v.cy+v.y11,v.cx+v.x11),y),u.arc(v.cx,v.cy,Y,T(v.y11,v.x11),T(v.y01,v.x01),!y))):u.arc(0,0,a,N,M,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-C/2;return[$(e)*i,k(e)*i]},c.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:b(+n),c):t},c.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:b(+t),c):n},c.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:b(+t),c):i},c.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:b(+t),c):e},c.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:b(+t),c):o},c.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:b(+t),c):r},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:b(+t),c):s},c.context=function(t){return arguments.length?(u=null==t?null:t,c):u},c}const Y=(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 Y(this.x+t.x,this.y+t.y)},subtract(t){return Y(this.x-t.x,this.y-t.y)},scalarMult(t){return Y(this.x*t,this.y*t)},scalarDivide(t){if(0===t)throw new Error("Division by 0 error");return Y(this.x/t,this.y/t)},equals(t){return this.x===t.x&&this.y===t.y}}),D=(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=[Y(f-u*(_-a)/r,x+u*(l-h)/r),Y(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]}}),B=(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}},Z=(t,n)=>{const{data:i,scale:e}=t,o=void 0===i[n]._x1?"_x":"_x1";return e.x(i[n][o])},F=t=>-1*t+Math.PI/2,V=(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`},G=(t,n,i)=>t.getPath?((t,n)=>{const{getPath:i}=t;if("function"==typeof i)return i({...t,...B(t,n)})})(t,n):t.horizontal?((t,n,i)=>{const e=B(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=Y(r+i[`${t}Left`],h-c*i[`${t}Left`]),o=D(e,i[`${t}Left`]),x=Y(s-i[`${t}Right`],h-c*i[`${t}Right`]),y=D(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 V(s,r,"0 0 1")})(t,n,i):((t,n,i)=>{const e=B(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=Y(h+c*i[`top${t}`],s+n*i[`top${t}`]),o=D(e,i[`top${t}`]),x=Y(h+c*i[`bottom${t}`],r-n*i[`bottom${t}`]),y=D(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 V(s,i,r)})(t,n,i),U=i().createContext(void 0),H=()=>{const t=i().useContext(U);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},Q=t=>{const n=function(t,n){if(void 0===t&&(t={}),n.disableInlineStyles)return{};const i={fill:"black",stroke:t.fill||"black"};return a(Object.assign(i,t),n)}(t.style,t),i=((t,n)=>{const{scale:i,data:e,style:o}=n;if(t)return h(t,n);if(o.width)return o.width;const r=i.x.range(),s=Math.abs(r[1]-r[0]),u=e.length+2,c=(n.barRatio||.5)*(e.length<2?8:s/u);return Math.max(1,c)})(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)=>{l(t[e])?l(t[o])||(i[e]=h(t[o],n)):i[e]=h(t[e],n)};return e("topLeft","top"),e("topRight","top"),e("bottomLeft","bottom"),e("bottomRight","bottom"),i})(t,n):(i.topLeft=h(t,n),i.topRight=h(t,n),i):i})(t.cornerRadius,Object.assign({},t,{style:n,barWidth:i}));return Object.assign({},t,{style:n,barWidth:i,cornerRadius:e})},J=t=>{const{canvasRef:n}=H(),e=Q(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=Z(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),u=0===n?Z(t,i.length-1)-2*Math.PI:Z(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=Z(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),u=e.x.range()[1]===2*Math.PI?Z(t,0)+2*Math.PI:e.x.range()[1],c=n===i.length-1?Z(t,0)+2*Math.PI:Z(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=>X().innerRadius(u).outerRadius(c).startAngle(F(a)).endAngle(F(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):G(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},K=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(U.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)};K.role="container";var tt=Array.prototype.slice;function nt(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function it(t){this._context=t}function et(t){return new it(t)}function ot(t){return t[0]}function rt(t){return t[1]}function st(t,n){var i=b(!0),e=null,o=et,r=null;function s(s){var u,c,h,a=(s=nt(s)).length,l=!1;for(null==e&&(r=o(h=g())),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?ot:b(t),n="function"==typeof n?n:void 0===n?rt:b(n),s.x=function(n){return arguments.length?(t="function"==typeof n?n:b(+n),s):t},s.y=function(t){return arguments.length?(n="function"==typeof t?t:b(+t),s):n},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:b(!!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=b(!0),r=null,s=et,u=null;function c(c){var h,a,l,_,f,x=(c=nt(c)).length,y=!1,p=new Array(x),v=new Array(x);for(null==r&&(u=s(f=g())),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],v[l]);u.lineEnd(),u.areaEnd()}y&&(p[h]=+t(_,h,c),v[h]=+n(_,h,c),u.point(e?+e(_,h,c):p[h],i?+i(_,h,c):v[h]))}if(f)return u=null,f+""||null}function h(){return st().defined(o).curve(s).context(r)}return t="function"==typeof t?t:void 0===t?ot:b(+t),n="function"==typeof n?n:b(void 0===n?0:+n),i="function"==typeof i?i:void 0===i?rt:b(+i),c.x=function(n){return arguments.length?(t="function"==typeof n?n:b(+n),e=null,c):t},c.x0=function(n){return arguments.length?(t="function"==typeof n?n:b(+n),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:b(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:b(+t),i=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:b(+t),c):n},c.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:b(+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:b(!!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 ct(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function ht(t){return t}function at(){var t=ht,n=ct,i=null,e=b(0),o=b(A),r=b(0);function s(s){var u,c,h,a,l,_=(s=nt(s)).length,f=0,x=new Array(_),y=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)),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:b(+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:b(+t),s):e},s.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:b(+t),s):o},s.padAngle=function(t){return arguments.length?(r="function"==typeof t?t:b(+t),s):r},s}it.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 lt=ft(et);function _t(t){this._curve=t}function ft(t){function n(n){return new _t(t(n))}return n._curve=t,n}function xt(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(ft(t)):n()._curve},t}function yt(){return xt(st().curve(lt))}function pt(){var t=ut().curve(lt),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 xt(i())},delete t.lineX0,t.lineEndAngle=function(){return xt(e())},delete t.lineX1,t.lineInnerRadius=function(){return xt(o())},delete t.lineY0,t.lineOuterRadius=function(){return xt(r())},delete t.lineY1,t.curve=function(t){return arguments.length?n(ft(t)):n()._curve},t}function vt(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}_t.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 dt{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 gt{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=vt(this._x0,this._y0),e=vt(this._x0,this._y0=(this._y0+n)/2),o=vt(t,this._y0),r=vt(t,n);this._context.moveTo(...i),this._context.bezierCurveTo(...e,...o,...r)}}}function bt(t){return new dt(t,!0)}function mt(t){return new dt(t,!1)}function Tt(t){return new gt(t)}function $t(t){return t.source}function Mt(t){return t.target}function wt(t){let n=$t,i=Mt,e=ot,o=rt,r=null,s=null;function u(){let u;const c=tt.call(arguments),h=n.apply(this,c),a=i.apply(this,c);if(null==r&&(s=t(u=g())),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:b(+t),u):e},u.y=function(t){return arguments.length?(o="function"==typeof t?t:b(+t),u):o},u.context=function(n){return arguments.length?(null==n?r=s=null:s=t(r=n),u):r},u}function kt(){return wt(bt)}function St(){return wt(mt)}function Pt(){const t=wt(Tt);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const Ct=S(3);var Rt={draw(t,n){const i=.59436*S(n+w(n/28,.75)),e=i/2,o=e*Ct;t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-o,-e),t.lineTo(o,e),t.moveTo(-o,e),t.lineTo(o,-e)}},At={draw(t,n){const i=S(n/C);t.moveTo(i,0),t.arc(0,0,i,0,A)}},Ot={draw(t,n){const i=S(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 Et=S(1/3),Nt=2*Et;var Lt={draw(t,n){const i=S(n/Nt),e=i*Et;t.moveTo(0,-i),t.lineTo(e,0),t.lineTo(0,i),t.lineTo(-e,0),t.closePath()}},jt={draw(t,n){const i=.62625*S(n);t.moveTo(0,-i),t.lineTo(i,0),t.lineTo(0,i),t.lineTo(-i,0),t.closePath()}},zt={draw(t,n){const i=.87559*S(n-w(n/7,2));t.moveTo(-i,0),t.lineTo(i,0),t.moveTo(0,i),t.lineTo(0,-i)}},qt={draw(t,n){const i=S(n),e=-i/2;t.rect(e,e,i,i)}},It={draw(t,n){const i=.4431*S(n);t.moveTo(i,i),t.lineTo(i,-i),t.lineTo(-i,-i),t.lineTo(-i,i),t.closePath()}};const Wt=k(C/10)/k(7*C/10),Xt=k(A/10)*Wt,Yt=-$(A/10)*Wt;var Dt={draw(t,n){const i=S(.8908130915292852*n),e=Xt*i,o=Yt*i;t.moveTo(0,-i),t.lineTo(e,o);for(let n=1;n<5;++n){const r=A*n/5,s=$(r),u=k(r);t.lineTo(u*i,-s*i),t.lineTo(s*e-u*o,u*e+s*o)}t.closePath()}};const Bt=S(3);var Zt={draw(t,n){const i=-S(n/(3*Bt));t.moveTo(0,2*i),t.lineTo(-Bt*i,-i),t.lineTo(Bt*i,-i),t.closePath()}};const Ft=S(3);var Vt={draw(t,n){const i=.6824*S(n),e=i/2,o=i*Ft/2;t.moveTo(0,-i),t.lineTo(o,e),t.lineTo(-o,e),t.closePath()}};const Gt=-.5,Ut=S(3)/2,Ht=1/S(12),Qt=3*(Ht/2+1);var Jt={draw(t,n){const i=S(n/Qt),e=i/2,o=i*Ht,r=e,s=i*Ht+i,u=-r,c=s;t.moveTo(e,o),t.lineTo(r,s),t.lineTo(u,c),t.lineTo(Gt*e-Ut*o,Ut*e+Gt*o),t.lineTo(Gt*r-Ut*s,Ut*r+Gt*s),t.lineTo(Gt*u-Ut*c,Ut*u+Gt*c),t.lineTo(Gt*e+Ut*o,Gt*o-Ut*e),t.lineTo(Gt*r+Ut*s,Gt*s-Ut*r),t.lineTo(Gt*u+Ut*c,Gt*c-Ut*u),t.closePath()}},Kt={draw(t,n){const i=.6189*S(n-w(n/6,1.7));t.moveTo(-i,-i),t.lineTo(i,i),t.moveTo(-i,i),t.lineTo(i,-i)}};const tn=[At,Ot,Lt,qt,Dt,Zt,Jt],nn=[At,zt,Kt,Vt,Rt,It,jt];function en(t,n){let i=null;function e(){let e;if(i||(i=e=g()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),e)return i=null,e+""||null}return t="function"==typeof t?t:b(t||At),n="function"==typeof n?n:b(void 0===n?64:+n),e.type=function(n){return arguments.length?(t="function"==typeof n?n:b(n),e):t},e.size=function(t){return arguments.length?(n="function"==typeof t?t:b(+t),e):n},e.context=function(t){return arguments.length?(i=null==t?null:t,e):i},e}function on(){}function rn(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 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){this._context=t}function ln(t){return new an(t)}function _n(t,n){this._basis=new sn(t),this._beta=n}sn.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:rn(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:rn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},cn.prototype={areaStart:on,areaEnd:on,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:rn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},an.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:rn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},_n.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 fn=function t(n){function i(t){return 1===n?new sn(t):new _n(t,n)}return i.beta=function(n){return t(+n)},i}(.85);function xn(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 yn(t,n){this._context=t,this._k=(1-n)/6}yn.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:xn(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:xn(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:on,areaEnd:on,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:xn(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){this._context=t,this._k=(1-n)/6}gn.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:xn(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 bn=function t(n){function i(t){return new gn(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>P){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>P){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 Tn(t,n){this._context=t,this._alpha=n}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._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}};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:on,areaEnd:on,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}};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,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(){(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}};var Sn=function t(n){function i(t){return n?new kn(t,n):new gn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Pn(t){this._context=t}function Cn(t){return new Pn(t)}function Rn(t){return t<0?-1:1}function An(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(Rn(r)+Rn(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(u))||0}function On(t,n){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-n)/2:n}function En(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 Nn(t){this._context=t}function Ln(t){this._context=new jn(t)}function jn(t){this._context=t}function zn(t){return new Nn(t)}function qn(t){return new Ln(t)}function In(t){this._context=t}function Wn(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 Xn(t){return new In(t)}function Yn(t,n){this._context=t,this._t=n}function Dn(t){return new Yn(t,.5)}function Bn(t){return new Yn(t,0)}function Zn(t){return new Yn(t,1)}function Fn(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 Vn(t){for(var n=t.length,i=new Array(n);--n>=0;)i[n]=n;return i}function Gn(t,n){return t[n]}function Un(t){const n=[];return n.key=t,n}function Hn(){var t=b([]),n=Vn,i=Fn,e=Gn;function o(o){var r,s,u=Array.from(t.apply(this,arguments),Un),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=nt(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:b(Array.from(n)),o):t},o.value=function(t){return arguments.length?(e="function"==typeof t?t:b(+t),o):e},o.order=function(t){return arguments.length?(n=null==t?Vn:"function"==typeof t?t:b(Array.from(t)),o):n},o.offset=function(t){return arguments.length?(i=null==t?Fn:t,o):i},o}function Qn(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}Fn(t,n)}}function Jn(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 Kn(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}Fn(t,n)}}function ti(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,Fn(t,n)}}function ni(t){var n=t.map(ii);return Vn(t).sort((function(t,i){return n[t]-n[i]}))}function ii(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 ei(t){var n=t.map(oi);return Vn(t).sort((function(t,i){return n[t]-n[i]}))}function oi(t){for(var n,i=0,e=-1,o=t.length;++e<o;)(n=+t[e][1])&&(i+=n);return i}function ri(t){return ei(t).reverse()}function si(t){var n,i,e=t.length,o=t.map(oi),r=ni(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 ui(t){return Vn(t).reverse()}Pn.prototype={areaStart:on,areaEnd:on,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))}},Nn.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:En(this,this._t0,On(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,En(this,On(this,i=An(this,t,n)),i);break;default:En(this,this._t0,i=An(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=i}}},(Ln.prototype=Object.create(Nn.prototype)).point=function(t,n){Nn.prototype.point.call(this,n,t)},jn.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)}},In.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=Wn(t),o=Wn(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)}},Yn.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 ci=t=>null!=(void 0!==t._y1?t._y1:t._y)&&null!==t._y0,hi=t=>n=>t.x(void 0!==n._x1?n._x1:n._x),ai=t=>n=>t.y(void 0!==n._y1?n._y1:n._y),li=t=>`curve${(t=>t&&t[0].toUpperCase()+t.slice(1))(t)}`,_i=n=>{const{interpolation:i}=n;if("function"==typeof i)return i;if("string"==typeof i){const{polar:e,openCurve:o=!e}=n,r=o?li(i):(t=>`${li(t)}Closed`)(i);return t[r]}return et},fi=t=>{const{polar:n,scale:i,horizontal:e}=t;return n?yt().defined(ci).curve(_i(t)).angle((t=>n=>-1*t.x(void 0!==n._x1?n._x1:n._x)+Math.PI/2)(i)).radius(ai(i)):st().defined(ci).curve(_i(t)).x(e?ai(i):hi(i)).y(e?hi(i):ai(i))},xi=t=>{const{canvasRef:n,clear:e,clip:o}=H(),{style:r,data:s}=t,{stroke:u,strokeWidth:c}=r,h=i().useCallback((n=>{const i=fi(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 yi(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 pi(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 vi(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 di(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 gi(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 bi(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 mi(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 Ti(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 $i(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 Mi=t=>{const{canvasRef:n}=H(),e=(t=>{const n=h(t.size,t),i=a(t.style,t),e=h(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:yi,square:pi,diamond:vi,triangleDown:di,triangleUp:gi,plus:bi,minus:Ti,star:$i,cross:mi};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 |
@@ -0,0 +0,0 @@ import { VictoryBarAlignmentType, VictoryBarCornerRadiusObject } from "victory-bar"; |
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); |
@@ -0,0 +0,0 @@ import { NumberOrCallback, StringOrCallback, VictoryCommonPrimitiveProps } from "victory-core"; |
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); |
@@ -0,0 +0,0 @@ import React from "react"; |
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", { |
@@ -0,0 +0,0 @@ import { ScatterSymbolType, VictoryCommonPrimitiveProps } from "victory-core"; |
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; | ||
}; |
@@ -0,0 +0,0 @@ import React from "react"; |
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; | ||
}; |
@@ -0,0 +0,0 @@ export * from "./canvas-bar"; |
@@ -0,0 +0,0 @@ import { VictoryBarAlignmentType, VictoryBarCornerRadiusObject } from "victory-bar"; |
@@ -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; |
@@ -0,0 +0,0 @@ import { NumberOrCallback, StringOrCallback, VictoryCommonPrimitiveProps } from "victory-core"; |
@@ -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; |
@@ -0,0 +0,0 @@ import React from "react"; |
@@ -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"; |
@@ -0,0 +0,0 @@ import { ScatterSymbolType, VictoryCommonPrimitiveProps } from "victory-core"; |
@@ -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; |
@@ -0,0 +0,0 @@ import React from "react"; |
@@ -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; |
@@ -0,0 +0,0 @@ export * from "./canvas-bar"; |
@@ -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.1", | ||
"version": "36.9.2-next.0", | ||
"description": "HTML5 Canvas Components for Victory", | ||
@@ -24,4 +24,4 @@ "keywords": [ | ||
"lodash": "^4.17.19", | ||
"victory-bar": "^36.9.1", | ||
"victory-core": "^36.9.1" | ||
"victory-bar": "^36.9.2-next.0", | ||
"victory-core": "^36.9.2-next.0" | ||
}, | ||
@@ -31,5 +31,2 @@ "peerDependencies": { | ||
}, | ||
"publishConfig": { | ||
"provenance": true | ||
}, | ||
"wireit": { | ||
@@ -255,3 +252,3 @@ "### THESE WIREIT CONFIGS ARE GENERATED ####": {}, | ||
"jest": { | ||
"command": "nps jest:pkg", | ||
"command": "jest --passWithNoTests", | ||
"files": [ | ||
@@ -265,5 +262,6 @@ "src/**/*.test.*", | ||
"dependencies": [ | ||
"build:lib:cjs", | ||
"../victory-vendor:build:lib:cjs", | ||
"../victory-voronoi:build:lib:cjs" | ||
"../victory-bar:build", | ||
"../victory-core:build", | ||
"../victory-vendor:build", | ||
"../victory-voronoi:build" | ||
], | ||
@@ -270,0 +268,0 @@ "packageLocks": [ |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
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
7072
3
387145
2
Updatedvictory-bar@^36.9.2-next.0
Updatedvictory-core@^36.9.2-next.0