@groww-tech/react-charts
Version:
React charts library tailored as per Groww needs
2 lines (1 loc) • 3.15 kB
JavaScript
import e,{useState as t}from"react";import{G as a,c as n}from"./Group-14a36d27.js";import{b as r,p as l}from"./D3ShapeFactories-794cd3eb.js";import"prop-types";var i=["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,g=void 0===m?0:m,v=t.outerRadius,h=t.cornerRadius,A=t.startAngle,E=t.endAngle,R=t.padAngle,y=t.padRadius,V=t.pieSort,b=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={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(t,i),F=r({innerRadius:g,outerRadius:v,cornerRadius:h,padRadius:y}),M=l({startAngle:A,endAngle:E,padAngle:R,value:x,sort:V,sortValues:b}),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],l=n[1],i=a.data,o=a.height,s=a.width,d=a.donutThickness,p=a.hoveredPieThicknes,f=a.children,m=a.textClass,g=a.showArcsValue,v=a.innerPadAngle,h=void 0===v?.005:v,A=a.padAngle,E=void 0===A?0:A,R=a.startAngle,y=a.endAngle,V=Math.min(o,s)/2-p,b=V+p,x=function(){return e.createElement(u,{data:i,pieValue:c,outerRadius:V,innerRadius:V-d,padAngle:E,pieSortValues:null,startAngle:R,endAngle:y},function(t){return t.arcs.map(function(n,r){var i,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!==(i=t.path(n))&&void 0!==i?i:void 0,fill:n.data.color,onMouseEnter:function(){return function(e){var t=a.onMouseEnter;l(e.title),t instanceof Function&&t(e)}(n.data)},onMouseLeave:function(){return function(){var e=a.onMouseLeave;l(""),e instanceof Function&&e()}()}}),g&&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(b,",").concat(b,")")},e.createElement(u,{data:i,pieValue:c,outerRadius:V+p,innerRadius:V+1,padAngle:h,pieSortValues:null,startAngle:R,endAngle:y},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}))}),x(),e.createElement("g",null,f))})))}