UNPKG

@nivo/bar

Version:
3 lines (2 loc) 28.2 kB
"use strict";var e=require("react"),t=require("@nivo/axes"),a=require("@nivo/core"),i=require("@react-spring/web"),n=require("@nivo/annotations"),r=require("react/jsx-runtime"),o=require("@nivo/legends"),l=require("@nivo/colors"),d=require("@nivo/theming"),u=require("@nivo/tooltip"),s=require("@nivo/text"),c=require("@nivo/canvas"),h=require("@nivo/scales"),f=require("d3-shape"),b=require("lodash/uniqBy.js");function v(){return v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},v.apply(null,arguments)}function g(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a}var x,p=function(e){var t=e.bars,a=e.annotations,i=n.useAnnotations({data:t,annotations:a,getPosition:function(e){return{x:e.x+e.width/2,y:e.y+e.height/2}},getDimensions:function(e){var t=e.height,a=e.width;return{width:a,height:t,size:Math.max(a,t)}}});return r.jsx(r.Fragment,{children:i.map((function(e,t){return r.jsx(n.Annotation,v({},e),t)}))})},m=function(e){var t=e.width,a=e.height,i=e.legends,n=e.toggleSerie;return r.jsx(r.Fragment,{children:i.map((function(e,i){var l,d=e[0],u=e[1];return r.jsx(o.BoxLegendSvg,v({},d,{containerWidth:t,containerHeight:a,data:null!=(l=d.data)?l:u,toggleSerie:d.toggleSerie&&"keys"===d.dataFrom?n:void 0}),i)}))})},y=["data"],k=function(t){var a,n=t.bar,o=n.data,l=g(n,y),c=t.style,h=c.borderColor,f=c.color,b=c.height,x=c.labelColor,p=c.labelOpacity,m=c.labelX,k=c.labelY,S=c.transform,C=c.width,w=c.textAnchor,L=t.borderRadius,M=t.borderWidth,R=t.label,W=t.shouldRenderLabel,B=t.isInteractive,T=t.onClick,O=t.onMouseEnter,I=t.onMouseLeave,V=t.tooltip,P=t.isFocusable,E=t.ariaLabel,H=t.ariaLabelledBy,j=t.ariaDescribedBy,F=t.ariaDisabled,A=t.ariaHidden,D=d.useTheme(),z=u.useTooltip(),X=z.showTooltipFromEvent,Y=z.showTooltipAt,q=z.hideTooltip,G=e.useMemo((function(){return function(){return e.createElement(V,v({},l,o))}}),[V,l,o]),N=e.useCallback((function(e){null==T||T(v({color:l.color},o),e)}),[l,o,T]),K=e.useCallback((function(e){return X(G(),e)}),[X,G]),_=e.useCallback((function(e){null==O||O(o,e),X(G(),e)}),[o,O,X,G]),J=e.useCallback((function(e){null==I||I(o,e),q()}),[o,q,I]),Q=e.useCallback((function(){Y(G(),[l.absX+l.width/2,l.absY])}),[Y,G,l]),U=e.useCallback((function(){q()}),[q]);return r.jsxs(i.animated.g,{transform:S,children:[r.jsx(i.animated.rect,{width:i.to(C,(function(e){return Math.max(e,0)})),height:i.to(b,(function(e){return Math.max(e,0)})),rx:L,ry:L,fill:null!=(a=o.fill)?a:f,strokeWidth:M,stroke:h,focusable:P,tabIndex:P?0:void 0,"aria-label":E?E(o):void 0,"aria-labelledby":H?H(o):void 0,"aria-describedby":j?j(o):void 0,"aria-disabled":F?F(o):void 0,"aria-hidden":A?A(o):void 0,onMouseEnter:B?_:void 0,onMouseMove:B?K:void 0,onMouseLeave:B?J:void 0,onClick:B?N:void 0,onFocus:B&&P?Q:void 0,onBlur:B&&P?U:void 0,"data-testid":"bar.item."+o.id+"."+o.index}),W&&r.jsx(s.Text,{x:m,y:k,textAnchor:w,dominantBaseline:"central",fillOpacity:p,style:v({},D.labels.text,{pointerEvents:"none",fill:x}),children:R})]})},S=["color","label"],C=function(e){var t=e.color,a=e.label,i=g(e,S);return r.jsx(u.BasicTooltip,{id:a,value:i.formattedValue,enableChip:!0,color:t})},w={indexBy:"id",keys:["value"],groupMode:"stacked",layout:"vertical",valueScale:{type:"linear",nice:!0,round:!1},indexScale:{type:"band",round:!1},padding:.1,innerPadding:0,enableGridX:!1,enableGridY:!0,enableLabel:!0,label:"formattedValue",labelPosition:"middle",labelOffset:0,labelSkipWidth:0,labelSkipHeight:0,labelTextColor:{theme:"labels.text.fill"},colorBy:"id",colors:{scheme:"nivo"},borderRadius:0,borderWidth:0,borderColor:{from:"color"},isInteractive:!0,tooltip:C,tooltipLabel:function(e){return e.id+" - "+e.indexValue},legends:[],initialHiddenIds:[],annotations:[],enableTotals:!1,totalsOffset:10},L=v({},w,{layers:["grid","axes","bars","totals","markers","legends","annotations"],axisTop:null,axisRight:null,axisBottom:{},axisLeft:{},barComponent:k,defs:[],fill:[],markers:[],animate:!0,animateOnMount:!1,motionConfig:"default",role:"img",isFocusable:!1}),M=v({},w,{layers:["grid","axes","bars","totals","legends","annotations"],axisTop:null,axisRight:null,axisBottom:{},axisLeft:{},renderBar:function(e,t){var a=t.bar,i=a.color,n=a.height,r=a.width,o=a.x,l=a.y,d=t.borderColor,u=t.borderRadius,h=t.borderWidth,f=t.label,b=t.shouldRenderLabel,v=t.labelStyle,g=t.labelX,x=t.labelY,p=t.textAnchor;e.fillStyle=i,h>0&&(e.strokeStyle=d,e.lineWidth=h),e.beginPath(),c.roundedRect(e,o,l,r,n,Math.min(u,n)),e.fill(),h>0&&e.stroke(),b&&(e.textBaseline="middle",e.textAlign="middle"===p?"center":p,s.drawCanvasText(e,v,f,o+g,l+x))},pixelRatio:"undefined"!=typeof window&&null!=(x=window.devicePixelRatio)?x:1}),R=function(e,t,a,i,n,r){return h.computeScale(i,{all:e.map(t),min:0,max:0},n,r).padding(a)},W=function(e,t){return e.map((function(e){return v({},t.reduce((function(e,t){return e[t]=null,e}),{}),e)}))},B=function(e){return Object.keys(e).reduce((function(t,a){return e[a]&&(t[a]=e[a]),t}),{})},T=function(e){return[e,Number(e)]};function O(e,t,a,i){return void 0===e&&(e=w.layout),void 0===a&&(a=w.labelPosition),void 0===i&&(i=w.labelOffset),function(n,r){var o=i*(t?-1:1);if("horizontal"===e){var l=n/2;return"start"===a?l=t?n:0:"end"===a&&(l=t?0:n),{labelX:l+o,labelY:r/2,textAnchor:"middle"===a?"middle":t?"end":"start"}}var d=r/2;return"start"===a?d=t?0:r:"end"===a&&(d=t?r:0),{labelX:n/2,labelY:d-o,textAnchor:"middle"}}}var I=["layout","width","height","padding","innerPadding","valueScale","indexScale","hiddenIds"],V=function(e,t){return e>t},P=function(e,t){return e<t},E=function(e,t){return Array.from(" ".repeat(t-e),(function(t,a){return e+a}))},H=function(e){return V(e,0)?0:e},j=function(e,t,a,i){var n=e.data,r=e.formatValue,o=e.getColor,l=e.getIndex,d=e.getTooltipLabel,u=e.innerPadding,s=void 0===u?0:u,c=e.keys,h=e.xScale,f=e.yScale,b=e.margin,v=a?P:V,g=n.map(B),x=[];return c.forEach((function(e,a){return E(0,h.domain().length).forEach((function(u){var c,p,m,y=T(n[u][e]),k=y[0],S=y[1],C=l(n[u]),w=(null!=(c=h(C))?c:0)+t*a+s*a,L=v(p=S,0)?null!=(m=f(p))?m:0:i,M=function(e,t){var a;return v(e,0)?i-t:(null!=(a=f(e))?a:0)-i}(S,L),R={id:e,value:null===k?k:S,formattedValue:r(S),hidden:!1,index:u,indexValue:C,data:g[u]};x.push({key:e+"."+R.indexValue,index:x.length,data:R,x:w,y:L,absX:b.left+w,absY:b.top+L,width:t,height:M,color:o(R),label:d(R)})}))})),x},F=function(e,t,a,i){var n=e.data,r=e.formatValue,o=e.getIndex,l=e.getColor,d=e.getTooltipLabel,u=e.keys,s=e.innerPadding,c=void 0===s?0:s,h=e.xScale,f=e.yScale,b=e.margin,v=a?P:V,g=n.map(B),x=[];return u.forEach((function(e,a){return E(0,f.domain().length).forEach((function(u){var s,p,m,y=T(n[u][e]),k=y[0],S=y[1],C=o(n[u]),w=v(p=S,0)?i:null!=(m=h(p))?m:0,L=(null!=(s=f(C))?s:0)+t*a+c*a,M=function(e,t){var a;return v(e,0)?(null!=(a=h(e))?a:0)-i:i-t}(S,w),R={id:e,value:null===k?k:S,formattedValue:r(S),hidden:!1,index:u,indexValue:C,data:g[u]};x.push({key:e+"."+R.indexValue,index:x.length,data:R,x:w,y:L,absX:b.left+w,absY:b.top+L,width:M,height:t,color:l(R),label:d(R)})}))})),x},A=function(e){var t,a,i,n=e.layout,r=e.width,o=e.height,l=e.padding,d=void 0===l?0:l,u=e.innerPadding,s=void 0===u?0:u,c=e.valueScale,f=e.indexScale,b=e.hiddenIds,x=void 0===b?[]:b,p=g(e,I),m=p.keys.filter((function(e){return!x.includes(e)})),y=W(p.data,m),k="vertical"===n?["y","x",r]:["x","y",o],S=k[0],C=k[1],w=k[2],L=R(y,p.getIndex,d,f,w,C),M="auto"===c.min?H:function(e){return e},B=y.reduce((function(e,t){return[].concat(e,m.map((function(e){return t[e]})))}),[]).filter(Boolean),T=M(Math.min.apply(Math,B)),O=(i=Math.max.apply(Math,B),isFinite(i)?i:0),V=h.computeScale(c,{all:B,min:T,max:O},"x"===S?r:o,S),P="vertical"===n?[L,V]:[V,L],E=P[0],A=P[1],D=(L.bandwidth()-s*(m.length-1))/m.length,z=[v({},p,{data:y,keys:m,innerPadding:s,xScale:E,yScale:A}),D,null!=(t=c.reverse)&&t,null!=(a=V(0))?a:0];return{xScale:E,yScale:A,bars:D>0?"vertical"===n?j.apply(void 0,z):F.apply(void 0,z):[]}},D=["data","layout","width","height","padding","valueScale","indexScale","hiddenIds"],z=function(e){var t;return e.some(Array.isArray)?z((t=[]).concat.apply(t,e)):e},X=function(e,t,a){var i=e.formatValue,n=e.getColor,r=e.getIndex,o=e.getTooltipLabel,l=e.innerPadding,d=e.stackedData,u=e.xScale,s=e.yScale,c=e.margin,h=[];return d.forEach((function(e){return u.domain().forEach((function(d,f){var b,v,g=e[f],x=null!=(b=u(r(g.data)))?b:0,p=(null!=(v=function(e){return s(e[a?0:1])}(g))?v:0)+.5*l,m=function(e,t){var i;return(null!=(i=s(e[a?1:0]))?i:0)-t}(g,p)-l,y=T(g.data[e.key]),k=y[0],S=y[1],C={id:e.key,value:null===k?k:S,formattedValue:i(S),hidden:!1,index:f,indexValue:d,data:B(g.data)};h.push({key:e.key+"."+d,index:h.length,data:C,x:x,y:p,absX:c.left+x,absY:c.top+p,width:t,height:m,color:n(C),label:o(C)})}))})),h},Y=function(e,t,a){var i=e.formatValue,n=e.getColor,r=e.getIndex,o=e.getTooltipLabel,l=e.innerPadding,d=e.stackedData,u=e.xScale,s=e.yScale,c=e.margin,h=[];return d.forEach((function(e){return s.domain().forEach((function(d,f){var b,v,g=e[f],x=null!=(b=s(r(g.data)))?b:0,p=(null!=(v=function(e){return u(e[a?1:0])}(g))?v:0)+.5*l,m=function(e,t){var i;return(null!=(i=u(e[a?0:1]))?i:0)-t}(g,p)-l,y=T(g.data[e.key]),k=y[0],S=y[1],C={id:e.key,value:null===k?k:S,formattedValue:i(S),hidden:!1,index:f,indexValue:d,data:B(g.data)};h.push({key:e.key+"."+d,index:h.length,data:C,x:p,y:x,absX:c.left+p,absY:c.top+x,width:m,height:t,color:n(C),label:o(C)})}))})),h},q=function(e){var t,a,i=e.data,n=e.layout,r=e.width,o=e.height,l=e.padding,d=void 0===l?0:l,u=e.valueScale,s=e.indexScale,c=e.hiddenIds,b=void 0===c?[]:c,x=g(e,D),p=x.keys.filter((function(e){return!b.includes(e)})),m=f.stack().keys(p).offset(f.stackOffsetDiverging)(W(i,p)),y="vertical"===n?["y","x",r]:["x","y",o],k=y[0],S=y[1],C=y[2],w=R(i,x.getIndex,d,s,C,S),L=(a=z(m),"log"===u.type?a.filter((function(e){return 0!==e})):a),M=Math.min.apply(Math,L),B=Math.max.apply(Math,L),T=h.computeScale(u,{all:L,min:M,max:B},"x"===k?r:o,k),O="vertical"===n?[w,T]:[T,w],I=O[0],V=O[1],P=x.innerPadding>0?x.innerPadding:0,E=w.bandwidth(),H=[v({},x,{innerPadding:P,stackedData:m,xScale:I,yScale:V}),E,null!=(t=u.reverse)&&t];return{xScale:I,yScale:V,bars:E>0?"vertical"===n?X.apply(void 0,H):Y.apply(void 0,H):[]}},G=function(e){var t=e.bars,i=e.direction,n=e.from,r=e.groupMode,o=e.layout,l=e.legendLabel,d=e.reverse,u=a.getPropertyAccessor(null!=l?l:"indexes"===n?"indexValue":"id");return"indexes"===n?function(e,t,a){var i=b(e.map((function(e){var t,i;return{id:null!=(t=e.data.indexValue)?t:"",label:a(e.data),hidden:e.data.hidden,color:null!=(i=e.color)?i:"#000"}})),(function(e){return e.id}));return"horizontal"===t&&i.reverse(),i}(t,o,u):function(e,t,a,i,n,r){var o=b(e.map((function(e){var t;return{id:e.data.id,label:r(e.data),hidden:e.data.hidden,color:null!=(t=e.color)?t:"#000"}})),(function(e){return e.id}));return("vertical"===t&&"stacked"===i&&"column"===a&&!0!==n||"horizontal"===t&&"stacked"===i&&!0===n)&&o.reverse(),o}(t,o,i,r,d,u)},N=function(e,t,a){var i=e.get(t)||0;e.set(t,i+a)},K=function(e,t,a){var i=e.get(t)||0;e.set(t,i+(a>0?a:0))},_=function(e,t,a){var i=e.get(t)||0;e.set(t,Math.max(i,Number(a)))},J=function(e,t){var a=e.get(t)||0;e.set(t,a+1)},Q=function(t){var i,n=t.indexBy,r=void 0===n?w.indexBy:n,o=t.keys,u=void 0===o?w.keys:o,s=t.label,c=void 0===s?w.label:s,h=t.tooltipLabel,f=void 0===h?w.tooltipLabel:h,b=t.valueFormat,g=t.colors,x=void 0===g?w.colors:g,p=t.colorBy,m=void 0===p?w.colorBy:p,y=t.borderColor,k=void 0===y?w.borderColor:y,S=t.labelTextColor,C=void 0===S?w.labelTextColor:S,L=t.groupMode,M=void 0===L?w.groupMode:L,R=t.layout,W=void 0===R?w.layout:R,B=t.data,T=t.margin,O=t.width,I=t.height,V=t.padding,P=void 0===V?w.padding:V,E=t.innerPadding,H=void 0===E?w.innerPadding:E,j=t.valueScale,F=void 0===j?w.valueScale:j,D=t.indexScale,z=void 0===D?w.indexScale:D,X=t.initialHiddenIds,Y=void 0===X?w.initialHiddenIds:X,Q=t.enableLabel,U=void 0===Q?w.enableLabel:Q,Z=t.labelSkipWidth,$=void 0===Z?w.labelSkipWidth:Z,ee=t.labelSkipHeight,te=void 0===ee?w.labelSkipHeight:ee,ae=t.legends,ie=void 0===ae?w.legends:ae,ne=t.legendLabel,re=t.totalsOffset,oe=void 0===re?w.totalsOffset:re,le=e.useState(null!=Y?Y:[]),de=le[0],ue=le[1],se=e.useCallback((function(e){ue((function(t){return t.indexOf(e)>-1?t.filter((function(t){return t!==e})):[].concat(t,[e])}))}),[]),ce=a.usePropertyAccessor(r),he=a.usePropertyAccessor(c),fe=a.usePropertyAccessor(f),be=a.useValueFormatter(b),ve=d.useTheme(),ge=l.useOrdinalColorScale(x,m),xe=l.useInheritedColor(k,ve),pe=l.useInheritedColor(C,ve),me=("grouped"===M?A:q)({layout:W,data:B,getIndex:ce,keys:u,width:O,height:I,getColor:ge,padding:P,innerPadding:H,valueScale:F,indexScale:z,hiddenIds:de,formatValue:be,getTooltipLabel:fe,margin:T}),ye=me.bars,ke=me.xScale,Se=me.yScale,Ce=e.useMemo((function(){return ye.filter((function(e){return null!==e.data.value})).map((function(e,t){return v({},e,{index:t})}))}),[ye]),we=e.useCallback((function(e){var t=e.width,a=e.height;return!!U&&(!($>0&&t<$)&&!(te>0&&a<te))}),[U,$,te]),Le=e.useMemo((function(){return u.map((function(e){var t=ye.find((function(t){return t.data.id===e}));return v({},t,{data:v({id:e},null==t?void 0:t.data,{hidden:de.includes(e)})})}))}),[de,u,ye]),Me=null!=(i=F.reverse)&&i,Re=e.useMemo((function(){return ie.map((function(e){return[e,G({bars:"keys"===e.dataFrom?Le:ye,direction:e.direction,from:e.dataFrom,groupMode:M,layout:W,legendLabel:ne,reverse:Me})]}))}),[ie,Le,ye,M,W,ne,Me]),We=e.useMemo((function(){return function(e,t,a,i,n,r,o){void 0===i&&(i=w.layout),void 0===n&&(n=w.groupMode);var l=[];if(0===e.length)return l;var d=new Map,u=e[0].width,s=e[0].height;if("stacked"===n){var c=new Map;e.forEach((function(e){var t=e.data,a=t.indexValue,i=t.value;N(d,a,Number(i)),K(c,a,Number(i))})),c.forEach((function(e,n){var c,h,f,b=d.get(n)||0;"vertical"===i?(c=t(n),h=a(e),f=a(e/2)):(c=t(e),h=a(n),f=t(e/2)),c+="vertical"===i?u/2:r,h+="vertical"===i?-r:s/2,l.push({key:"total_"+n,x:c,y:h,value:b,formattedValue:o(b),animationOffset:f})}))}else if("grouped"===n){var h=new Map,f=new Map;e.forEach((function(e){var t=e.data,a=t.indexValue,i=t.value;N(d,a,Number(i)),_(h,a,Number(i)),J(f,a)})),h.forEach((function(e,n){var c,h,b,v=d.get(n)||0,g=f.get(n);"vertical"===i?(c=t(n),h=a(e),b=a(e/2)):(c=t(e),h=a(n),b=t(e/2)),c+="vertical"===i?g*u/2:r,h+="vertical"===i?-r:g*s/2,l.push({key:"total_"+n,x:c,y:h,value:v,formattedValue:o(v),animationOffset:b})}))}return l}(ye,ke,Se,W,M,oe,be)}),[ye,ke,Se,W,M,oe,be]);return{bars:ye,barsWithValue:Ce,xScale:ke,yScale:Se,getIndex:ce,getLabel:he,getTooltipLabel:fe,formatValue:be,getColor:ge,getBorderColor:xe,getLabelColor:pe,shouldRenderBarLabel:we,hiddenIds:de,toggleSerie:se,legendsWithData:Re,barTotals:We}},U=function(e){var t=e.data,a=e.springConfig,n=e.animate,o=e.layout,l=void 0===o?L.layout:o,u=d.useTheme();return i.useTransition(t,{keys:function(e){return e.key},from:function(e){return{x:"vertical"===l?e.x:e.animationOffset,y:"vertical"===l?e.animationOffset:e.y,labelOpacity:0}},enter:function(e){return{x:e.x,y:e.y,labelOpacity:1}},update:function(e){return{x:e.x,y:e.y,labelOpacity:1}},leave:function(e){return{x:"vertical"===l?e.x:e.animationOffset,y:"vertical"===l?e.animationOffset:e.y,labelOpacity:0}},config:a,immediate:!n,initial:n?void 0:null})((function(e,t){return r.jsx(i.animated.text,{x:e.x,y:e.y,fillOpacity:e.labelOpacity,style:v({},u.labels.text,{pointerEvents:"none"}),fontWeight:"bold",fontSize:u.labels.text.fontSize,fontFamily:u.labels.text.fontFamily,textAnchor:"vertical"===l?"middle":"start",alignmentBaseline:"vertical"===l?"alphabetic":"middle",children:t.formattedValue},t.key)}))},Z=["isInteractive","animate","motionConfig","theme","renderWrapper"],$=function(n){var o,l=n.data,d=n.indexBy,u=n.keys,s=n.margin,c=n.width,h=n.height,f=n.groupMode,b=n.layout,g=n.valueScale,x=n.indexScale,y=n.padding,k=n.innerPadding,S=n.axisTop,C=n.axisRight,w=n.axisBottom,M=void 0===w?L.axisBottom:w,R=n.axisLeft,W=void 0===R?L.axisLeft:R,B=n.enableGridX,T=void 0===B?L.enableGridX:B,I=n.enableGridY,V=void 0===I?L.enableGridY:I,P=n.gridXValues,E=n.gridYValues,H=n.layers,j=void 0===H?L.layers:H,F=n.barComponent,A=void 0===F?L.barComponent:F,D=n.enableLabel,z=void 0===D?L.enableLabel:D,X=n.label,Y=n.labelSkipWidth,q=void 0===Y?L.labelSkipWidth:Y,G=n.labelSkipHeight,N=void 0===G?L.labelSkipHeight:G,K=n.labelTextColor,_=n.labelPosition,J=void 0===_?L.labelPosition:_,Z=n.labelOffset,$=void 0===Z?L.labelOffset:Z,ee=n.markers,te=void 0===ee?L.markers:ee,ae=n.colorBy,ie=n.colors,ne=n.defs,re=void 0===ne?L.defs:ne,oe=n.fill,le=void 0===oe?L.fill:oe,de=n.borderRadius,ue=void 0===de?L.borderRadius:de,se=n.borderWidth,ce=void 0===se?L.borderWidth:se,he=n.borderColor,fe=n.annotations,be=void 0===fe?L.annotations:fe,ve=n.legendLabel,ge=n.tooltipLabel,xe=n.valueFormat,pe=n.isInteractive,me=void 0===pe?L.isInteractive:pe,ye=n.tooltip,ke=void 0===ye?L.tooltip:ye,Se=n.onClick,Ce=n.onMouseEnter,we=n.onMouseLeave,Le=n.legends,Me=n.role,Re=void 0===Me?L.role:Me,We=n.ariaLabel,Be=n.ariaLabelledBy,Te=n.ariaDescribedBy,Oe=n.isFocusable,Ie=void 0===Oe?L.isFocusable:Oe,Ve=n.barAriaLabel,Pe=n.barAriaLabelledBy,Ee=n.barAriaDescribedBy,He=n.barAriaHidden,je=n.barAriaDisabled,Fe=n.initialHiddenIds,Ae=n.enableTotals,De=void 0===Ae?L.enableTotals:Ae,ze=n.totalsOffset,Xe=void 0===ze?L.totalsOffset:ze,Ye=n.forwardedRef,qe=a.useMotionConfig(),Ge=qe.animate,Ne=qe.config,Ke=a.useDimensions(c,h,s),_e=Ke.outerWidth,Je=Ke.outerHeight,Qe=Ke.margin,Ue=Ke.innerWidth,Ze=Ke.innerHeight,$e=Q({indexBy:d,label:X,tooltipLabel:ge,valueFormat:xe,colors:ie,colorBy:ae,borderColor:he,labelTextColor:K,groupMode:f,layout:b,data:l,keys:u,margin:Qe,width:Ue,height:Ze,padding:y,innerPadding:k,valueScale:g,indexScale:x,enableLabel:z,labelSkipWidth:q,labelSkipHeight:N,legends:Le,legendLabel:ve,initialHiddenIds:Fe,totalsOffset:Xe}),et=$e.bars,tt=$e.barsWithValue,at=$e.xScale,it=$e.yScale,nt=$e.getLabel,rt=$e.getTooltipLabel,ot=$e.getBorderColor,lt=$e.getLabelColor,dt=$e.shouldRenderBarLabel,ut=$e.toggleSerie,st=$e.legendsWithData,ct=$e.barTotals,ht=$e.getColor,ft=O(b,null!=(o=null==g?void 0:g.reverse)&&o,J,$),bt=i.useTransition(tt,{keys:function(e){return e.key},from:function(e){return v({borderColor:ot(e),color:e.color,height:0,labelColor:lt(e),labelOpacity:0},ft(e.width,e.height),{transform:"translate("+e.x+", "+(e.y+e.height)+")",width:e.width},"vertical"===b?{}:{height:e.height,transform:"translate("+e.x+", "+e.y+")",width:0})},enter:function(e){return v({borderColor:ot(e),color:e.color,height:e.height,labelColor:lt(e),labelOpacity:1},ft(e.width,e.height),{transform:"translate("+e.x+", "+e.y+")",width:e.width})},update:function(e){return v({borderColor:ot(e),color:e.color,height:e.height,labelColor:lt(e),labelOpacity:1},ft(e.width,e.height),{transform:"translate("+e.x+", "+e.y+")",width:e.width})},leave:function(e){return v({borderColor:ot(e),color:e.color,height:0,labelColor:lt(e),labelOpacity:0},ft(e.width,e.height),{labelY:0,transform:"translate("+e.x+", "+(e.y+e.height)+")",width:e.width},"vertical"===b?{}:v({},ft(e.width,e.height),{labelX:0,height:e.height,transform:"translate("+e.x+", "+e.y+")",width:0}))},config:Ne,immediate:!Ge,initial:Ge?void 0:null}),vt=e.useMemo((function(){return{borderRadius:ue,borderWidth:ce,enableLabel:z,isInteractive:me,labelSkipWidth:q,labelSkipHeight:N,onClick:Se,onMouseEnter:Ce,onMouseLeave:we,getTooltipLabel:rt,tooltip:ke,isFocusable:Ie,ariaLabel:Ve,ariaLabelledBy:Pe,ariaDescribedBy:Ee,ariaHidden:He,ariaDisabled:je}}),[ue,ce,z,rt,me,N,q,Se,Ce,we,ke,Ie,Ve,Pe,Ee,He,je]),gt=a.bindDefs(re,et,le,{dataKey:"data",targetKey:"data.fill"}),xt={annotations:null,axes:null,bars:null,grid:null,legends:null,markers:null,totals:null};j.includes("annotations")&&(xt.annotations=r.jsx(p,{bars:et,annotations:be},"annotations")),j.includes("axes")&&(xt.axes=r.jsx(t.Axes,{xScale:at,yScale:it,width:Ue,height:Ze,top:S,right:C,bottom:M,left:W},"axes")),j.includes("bars")&&(xt.bars=r.jsx(e.Fragment,{children:bt((function(t,a){return e.createElement(A,v({},vt,{bar:a,style:t,shouldRenderLabel:dt(a),label:nt(a.data)}))}))},"bars")),j.includes("grid")&&(xt.grid=r.jsx(t.Grid,{width:Ue,height:Ze,xScale:T?at:null,yScale:V?it:null,xValues:P,yValues:E},"grid")),j.includes("legends")&&(xt.legends=r.jsx(m,{width:Ue,height:Ze,legends:st,toggleSerie:ut},"legends")),j.includes("markers")&&(xt.markers=r.jsx(a.CartesianMarkers,{markers:te,width:Ue,height:Ze,xScale:at,yScale:it},"markers")),j.includes("totals")&&De&&(xt.totals=r.jsx(U,{data:ct,springConfig:Ne,animate:Ge,layout:b},"totals"));var pt=v({},vt,{margin:Qe,width:c,height:h,innerWidth:Ue,innerHeight:Ze,bars:et,legendData:st,enableLabel:z,xScale:at,yScale:it,tooltip:ke,getTooltipLabel:rt,onClick:Se,onMouseEnter:Ce,onMouseLeave:we,getColor:ht});return r.jsx(a.SvgWrapper,{width:_e,height:Je,margin:Qe,defs:gt,role:Re,ariaLabel:We,ariaLabelledBy:Be,ariaDescribedBy:Te,isFocusable:Ie,ref:Ye,children:j.map((function(t,a){var i;return"function"==typeof t?r.jsx(e.Fragment,{children:e.createElement(t,pt)},a):null!=(i=null==xt?void 0:xt[t])?i:null}))})},ee=e.forwardRef((function(e,t){var i=e.isInteractive,n=void 0===i?L.isInteractive:i,o=e.animate,l=void 0===o?L.animate:o,d=e.motionConfig,u=void 0===d?L.motionConfig:d,s=e.theme,c=e.renderWrapper,h=g(e,Z);return r.jsx(a.Container,{animate:l,isInteractive:n,motionConfig:u,renderWrapper:c,theme:s,children:r.jsx($,v({},h,{isInteractive:n,forwardedRef:t}))})})),te=["isInteractive","renderWrapper","theme"],ae=function(e,t,i,n){return e.find((function(e){return a.isCursorInRect(e.x+t.left,e.y+t.top,e.width,e.height,i,n)}))};var ie=function(i){var l,c=i.data,h=i.indexBy,f=i.keys,b=i.margin,g=i.width,x=i.height,p=i.groupMode,m=i.layout,y=i.valueScale,k=i.indexScale,S=i.padding,C=i.innerPadding,w=i.axisTop,L=i.axisRight,R=i.axisBottom,W=void 0===R?M.axisBottom:R,B=i.axisLeft,T=void 0===B?M.axisLeft:B,I=i.enableGridX,V=void 0===I?M.enableGridX:I,P=i.enableGridY,E=void 0===P?M.enableGridY:P,H=i.gridXValues,j=i.gridYValues,F=i.labelPosition,A=void 0===F?M.labelPosition:F,D=i.labelOffset,z=void 0===D?M.labelOffset:D,X=i.layers,Y=void 0===X?M.layers:X,q=i.renderBar,G=void 0===q?M.renderBar:q,N=i.enableLabel,K=void 0===N?M.enableLabel:N,_=i.label,J=i.labelSkipWidth,U=void 0===J?M.labelSkipWidth:J,Z=i.labelSkipHeight,$=void 0===Z?M.labelSkipHeight:Z,ee=i.labelTextColor,te=i.colorBy,ie=i.colors,ne=i.borderRadius,re=void 0===ne?M.borderRadius:ne,oe=i.borderWidth,le=void 0===oe?M.borderWidth:oe,de=i.borderColor,ue=i.annotations,se=void 0===ue?M.annotations:ue,ce=i.legendLabel,he=i.tooltipLabel,fe=i.valueFormat,be=i.isInteractive,ve=void 0===be?M.isInteractive:be,ge=i.tooltip,xe=void 0===ge?M.tooltip:ge,pe=i.onClick,me=i.onMouseEnter,ye=i.onMouseLeave,ke=i.legends,Se=i.pixelRatio,Ce=void 0===Se?M.pixelRatio:Se,we=i.role,Le=i.forwardedRef,Me=i.enableTotals,Re=void 0===Me?M.enableTotals:Me,We=i.totalsOffset,Be=void 0===We?M.totalsOffset:We,Te=e.useRef(null),Oe=d.useTheme(),Ie=a.useDimensions(g,x,b),Ve=Ie.margin,Pe=Ie.innerWidth,Ee=Ie.innerHeight,He=Ie.outerWidth,je=Ie.outerHeight,Fe=Q({indexBy:h,label:_,tooltipLabel:he,valueFormat:fe,colors:ie,colorBy:te,borderColor:de,labelTextColor:ee,groupMode:p,layout:m,data:c,keys:f,margin:Ve,width:Pe,height:Ee,padding:S,innerPadding:C,valueScale:y,indexScale:k,enableLabel:K,labelSkipWidth:U,labelSkipHeight:$,legends:ke,legendLabel:ce,totalsOffset:Be}),Ae=Fe.bars,De=Fe.barsWithValue,ze=Fe.xScale,Xe=Fe.yScale,Ye=Fe.getLabel,qe=Fe.getTooltipLabel,Ge=Fe.getBorderColor,Ne=Fe.getLabelColor,Ke=Fe.shouldRenderBarLabel,_e=Fe.legendsWithData,Je=Fe.barTotals,Qe=Fe.getColor,Ue=u.useTooltip(),Ze=Ue.showTooltipFromEvent,$e=Ue.hideTooltip,et=n.useComputedAnnotations({annotations:n.useAnnotations({data:Ae,annotations:se,getPosition:function(e){return{x:e.x,y:e.y}},getDimensions:function(e){var t=e.width,a=e.height;return{width:t,height:a,size:Math.max(t,a)}}})}),tt=e.useMemo((function(){return{borderRadius:re,borderWidth:le,isInteractive:ve,isFocusable:!1,labelSkipWidth:U,labelSkipHeight:$,margin:Ve,width:g,height:x,innerWidth:Pe,innerHeight:Ee,bars:Ae,legendData:_e,enableLabel:K,xScale:ze,yScale:Xe,tooltip:xe,getTooltipLabel:qe,onClick:pe,onMouseEnter:me,onMouseLeave:ye,getColor:Qe}}),[re,le,ve,U,$,Ve,g,x,Pe,Ee,Ae,_e,K,ze,Xe,xe,qe,pe,me,ye,Qe]),at=a.useValueFormatter(fe),it=O(m,null!=(l=null==y?void 0:y.reverse)&&l,A,z);e.useEffect((function(){if(Te.current){Te.current.width=He*Ce,Te.current.height=je*Ce;var e=Te.current.getContext("2d");e.scale(Ce,Ce),e.fillStyle=Oe.background,e.fillRect(0,0,He,je),e.translate(Ve.left,Ve.top),Y.forEach((function(a){"grid"===a?"number"==typeof Oe.grid.line.strokeWidth&&Oe.grid.line.strokeWidth>0&&(e.lineWidth=Oe.grid.line.strokeWidth,e.strokeStyle=Oe.grid.line.stroke,V&&t.renderGridLinesToCanvas(e,{width:Pe,height:Ee,scale:ze,axis:"x",values:H}),E&&t.renderGridLinesToCanvas(e,{width:Pe,height:Ee,scale:Xe,axis:"y",values:j})):"axes"===a?t.renderAxesToCanvas(e,{xScale:ze,yScale:Xe,width:Pe,height:Ee,top:w,right:L,bottom:W,left:T,theme:Oe}):"bars"===a?(s.setCanvasFont(e,Oe.text),De.forEach((function(t){G(e,v({bar:t,borderColor:Ge(t),borderRadius:re,borderWidth:le,label:Ye(t.data),shouldRenderLabel:Ke(t),labelStyle:v({},Oe.labels.text,{fill:Ne(t)})},it(t.width,t.height)))}))):"legends"===a?_e.forEach((function(t){var a=t[0],i=t[1];o.renderLegendToCanvas(e,v({},a,{data:i,containerWidth:Pe,containerHeight:Ee,theme:Oe}))})):"annotations"===a?n.renderAnnotationsToCanvas(e,{annotations:et,theme:Oe}):"totals"===a&&Re?function(e,t,a,i){void 0===i&&(i=M.layout),s.setCanvasFont(e,a.labels.text),e.textBaseline="vertical"===i?"alphabetic":"middle",e.textAlign="vertical"===i?"center":"start",t.forEach((function(t){s.drawCanvasText(e,a.labels.text,t.formattedValue,t.x,t.y)}))}(e,Je,Oe,m):"function"==typeof a&&a(e,tt)})),e.save()}}),[W,T,L,w,De,re,le,et,V,E,Ge,Ye,Ne,H,j,p,x,Ee,Pe,tt,Y,m,_e,Ve.left,Ve.top,je,He,Ce,G,ze,Xe,Ke,Oe,g,Je,Re,at,it]);var nt=e.useCallback((function(t){if(Ae&&Te.current){var i=a.getRelativeCursor(Te.current,t),n=i[0],r=i[1],o=ae(Ae,Ve,n,r);void 0!==o?(Ze(e.createElement(xe,v({},o.data,{color:o.color,label:o.label,value:Number(o.data.value)})),t),"mouseenter"===t.type&&(null==me||me(o.data,t))):$e()}}),[$e,Ve,me,Ae,Ze,xe]),rt=e.useCallback((function(e){if(Ae&&Te.current){$e();var t=a.getRelativeCursor(Te.current,e),i=t[0],n=t[1],r=ae(Ae,Ve,i,n);r&&(null==ye||ye(r.data,e))}}),[$e,Ve,ye,Ae]),ot=e.useCallback((function(e){if(Ae&&Te.current){var t=a.getRelativeCursor(Te.current,e),i=t[0],n=t[1],r=ae(Ae,Ve,i,n);void 0!==r&&(null==pe||pe(v({},r.data,{color:r.color}),e))}}),[Ve,pe,Ae]);return r.jsx("canvas",{ref:a.mergeRefs(Te,Le),width:He*Ce,height:je*Ce,style:{width:He,height:je,cursor:ve?"auto":"normal"},onMouseEnter:ve?nt:void 0,onMouseMove:ve?nt:void 0,onMouseLeave:ve?rt:void 0,onClick:ve?ot:void 0,role:we})},ne=e.forwardRef((function(e,t){var i=e.isInteractive,n=e.renderWrapper,o=e.theme,l=g(e,te);return r.jsx(a.Container,{isInteractive:i,renderWrapper:n,theme:o,animate:!1,children:r.jsx(ie,v({},l,{isInteractive:i,forwardedRef:t}))})})),re=["defaultWidth","defaultHeight","onResize","debounceResize"],oe=e.forwardRef((function(e,t){var i=e.defaultWidth,n=e.defaultHeight,o=e.onResize,l=e.debounceResize,d=g(e,re);return r.jsx(a.ResponsiveWrapper,{defaultWidth:i,defaultHeight:n,onResize:o,debounceResize:l,children:function(e){var a=e.width,i=e.height;return r.jsx(ee,v({},d,{width:a,height:i,ref:t}))}})})),le=["defaultWidth","defaultHeight","onResize","debounceResize"],de=e.forwardRef((function(e,t){var i=e.defaultWidth,n=e.defaultHeight,o=e.onResize,l=e.debounceResize,d=g(e,le);return r.jsx(a.ResponsiveWrapper,{defaultWidth:i,defaultHeight:n,onResize:o,debounceResize:l,children:function(e){var a=e.width,i=e.height;return r.jsx(ne,v({},d,{width:a,height:i,ref:t}))}})}));exports.Bar=ee,exports.BarCanvas=ne,exports.BarItem=k,exports.BarTooltip=C,exports.BarTotals=U,exports.ResponsiveBar=oe,exports.ResponsiveBarCanvas=de,exports.canvasDefaultProps=M,exports.commonDefaultProps=w,exports.svgDefaultProps=L; //# sourceMappingURL=nivo-bar.cjs.js.map