UNPKG

@groww-tech/react-charts

Version:
2 lines (1 loc) 3 kB
import e,{useState as t}from"react";import{G as a,c as n}from"./Group-da8eb18b.js";import{b as r,p as i}from"./D3ShapeFactories-c73bea6f.js";import"prop-types";var l=["className","top","left","data","centroid","innerRadius","outerRadius","cornerRadius","startAngle","endAngle","padAngle","padRadius","pieSort","pieSortValues","pieValue","children","fill"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},o.apply(this,arguments)}function u(t){var u=t.className,c=t.top,s=t.left,d=t.data,p=void 0===d?[]:d,f=t.centroid,m=t.innerRadius,v=void 0===m?0:m,g=t.outerRadius,h=t.cornerRadius,E=t.startAngle,R=t.endAngle,A=t.padAngle,y=t.padRadius,b=t.pieSort,V=t.pieSortValues,x=t.pieValue,k=t.children,O=t.fill,S=void 0===O?"":O,j=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(t,l),F=r({innerRadius:v,outerRadius:g,cornerRadius:h,padRadius:y}),M=i({startAngle:E,endAngle:R,padAngle:A,value:x,sort:b,sortValues:V}),N=M(p);return k?e.createElement(e.Fragment,null,k({arcs:N,path:F,pie:M})):e.createElement(a,{className:"visx-pie-arcs-group",top:c,left:s},N.map(function(t,a){return e.createElement("g",{key:"pie-arc-"+a},e.createElement("path",o({className:n("visx-pie-arc",u),d:F(t)||"",fill:null==S||"string"==typeof S?S:S(t)},j)),null==f?void 0:f(F.centroid(t),t))}))}var c=function(e){return e.value};export default function(a){var n=t(""),r=n[0],i=n[1],l=a.data,o=a.height,s=a.width,d=a.donutThickness,p=a.hoveredPieThicknes,f=a.children,m=a.textClass,v=a.showArcsValue,g=Math.min(o,s)/2-p,h=g+p,E=function(){return e.createElement(u,{data:l,pieValue:c,outerRadius:g,innerRadius:g-d,padAngle:0,pieSortValues:null},function(t){return t.arcs.map(function(n,r){var l,o=t.path.centroid(n),u=o[0],c=o[1];return e.createElement("g",{key:"letters-".concat(n.data.value,"-").concat(r)},e.createElement("path",{d:null!==(l=t.path(n))&&void 0!==l?l:void 0,fill:n.data.color,onMouseEnter:function(){return function(e){var t=a.onMouseEnter;i(e.title),t instanceof Function&&t(e)}(n.data)},onMouseLeave:function(){return function(){var e=a.onMouseLeave;i(""),e instanceof Function&&e()}()}}),v&&e.createElement("text",{fill:"black",textAnchor:"middle",x:u,y:c,dy:".33em",className:m},n.data.value>1?n.data.value:""))})})};return e.createElement("svg",{width:s,height:o},e.createElement("g",{transform:"translate(".concat(h,",").concat(h,")")},e.createElement(u,{data:l,pieValue:c,outerRadius:g+p,innerRadius:g+1,padAngle:.005,pieSortValues:null},function(t){return e.createElement(e.Fragment,null,t.arcs.filter(function(e){return e.data.title===r}).map(function(a){var n;return e.createElement("g",{key:"letters-".concat(a.data.value)},e.createElement("path",{d:null!==(n=t.path(a))&&void 0!==n?n:void 0,fill:a.data.color,fillOpacity:.5}))}),E(),e.createElement("g",null,f))})))}