@semcore/d3-chart 1.5.4 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/lib/cjs/Area.js +5 -5
  3. package/lib/cjs/Axis.js +12 -12
  4. package/lib/cjs/Bar.js +7 -10
  5. package/lib/cjs/Bar.js.map +1 -1
  6. package/lib/cjs/Donut.js +3 -3
  7. package/lib/cjs/Dots.js +4 -4
  8. package/lib/cjs/GroupBar.js +7 -7
  9. package/lib/cjs/GroupBar.js.map +1 -1
  10. package/lib/cjs/HorizontalBar.js +7 -10
  11. package/lib/cjs/HorizontalBar.js.map +1 -1
  12. package/lib/cjs/Hover.js +3 -3
  13. package/lib/cjs/Line.js +4 -4
  14. package/lib/cjs/StackBar.js +38 -14
  15. package/lib/cjs/StackBar.js.map +1 -1
  16. package/lib/cjs/StackedArea.js +10 -9
  17. package/lib/cjs/StackedArea.js.map +1 -1
  18. package/lib/cjs/Tooltip.js +5 -5
  19. package/lib/cjs/Venn.js +3 -3
  20. package/lib/es6/Area.js +5 -5
  21. package/lib/es6/Axis.js +12 -12
  22. package/lib/es6/Bar.js +7 -10
  23. package/lib/es6/Bar.js.map +1 -1
  24. package/lib/es6/Donut.js +3 -3
  25. package/lib/es6/Dots.js +4 -4
  26. package/lib/es6/GroupBar.js +7 -7
  27. package/lib/es6/GroupBar.js.map +1 -1
  28. package/lib/es6/HorizontalBar.js +7 -10
  29. package/lib/es6/HorizontalBar.js.map +1 -1
  30. package/lib/es6/Hover.js +3 -3
  31. package/lib/es6/Line.js +4 -4
  32. package/lib/es6/StackBar.js +38 -14
  33. package/lib/es6/StackBar.js.map +1 -1
  34. package/lib/es6/StackedArea.js +10 -9
  35. package/lib/es6/StackedArea.js.map +1 -1
  36. package/lib/es6/Tooltip.js +5 -5
  37. package/lib/es6/Venn.js +3 -3
  38. package/lib/types/Bar.d.ts +1 -1
  39. package/lib/types/HorizontalBar.d.ts +1 -1
  40. package/package.json +1 -1
  41. package/src/Bar.js +6 -7
  42. package/src/GroupBar.js +6 -2
  43. package/src/HorizontalBar.js +5 -7
  44. package/src/StackBar.js +24 -7
  45. package/src/StackedArea.js +3 -2
  46. package/src/types/Bar.d.ts +1 -1
  47. package/src/types/HorizontalBar.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackBar.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","push","props","y","x","series","find","s","key","map","y0","x0","Element","getSeries","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar) {\n acc.push(child.props.y);\n }\n if (React.isValidElement(child) && child.type === StackBar.HorizontalBar) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n const series = this.series.find((s) => s.key === y);\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n y0: XY0,\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n const series = this.series.find((s) => s.key === x);\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n x0: XY0,\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
1
+ {"version":3,"sources":["../../src/StackBar.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n y0: XY0,\n x,\n r: rBar,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n x0: XY0,\n y,\n r: rBar,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
@@ -26,15 +26,15 @@ var _ref = (
26
26
  /*__reshadow_css_start__*/
27
27
  __css__(
28
28
  /*__inner_css_start__*/
29
- ".___SArea_1hbu9_gg_{fill:var(--color);fill-opacity:.4}.___SAreaLine_1hbu9_gg_{stroke:var(--color);stroke-width:3;fill:transparent}.___SArea_1hbu9_gg_,.___SAreaLine_1hbu9_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_1hbu9_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_1hbu9_gg_.__hide_1hbu9_gg_{display:none}"
29
+ ".___SArea_iztho_gg_{fill:var(--color);fill-opacity:.4}.___SAreaLine_iztho_gg_{stroke:var(--color);stroke-width:3;fill:transparent}.___SArea_iztho_gg_,.___SAreaLine_iztho_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_iztho_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_iztho_gg_.__hide_iztho_gg_{display:none}"
30
30
  /*__inner_css_end__*/
31
- , "edyr64_gg_")
31
+ , "w67b23_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SArea": "___SArea_1hbu9_gg_",
35
- "__SAreaLine": "___SAreaLine_1hbu9_gg_",
36
- "__SNull": "___SNull_1hbu9_gg_",
37
- "_hide": "__hide_1hbu9_gg_"
34
+ "__SArea": "___SArea_iztho_gg_",
35
+ "__SAreaLine": "___SAreaLine_iztho_gg_",
36
+ "__SNull": "___SNull_iztho_gg_",
37
+ "_hide": "__hide_iztho_gg_"
38
38
  }),
39
39
  style = _extends({}, _ref);
40
40
 
@@ -62,7 +62,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
62
62
 
63
63
  if (stack[DEFAULT_INSTANCE]) {
64
64
  var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
65
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area) {
65
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
66
66
  acc.push(child.props.y);
67
67
  }
68
68
 
@@ -77,10 +77,11 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
77
77
  key: "getAreaProps",
78
78
  value: function getAreaProps(_ref2) {
79
79
  var y = _ref2.y;
80
- var x = this.asProps.x;
80
+ var x = this.asProps.x; // or [] if hide area
81
+
81
82
  var series = this.series.find(function (s) {
82
83
  return s.key === y;
83
- });
84
+ }) || [];
84
85
  return {
85
86
  data: series.map(function (s) {
86
87
  var _objectSpread2;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackedArea.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","push","props","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;;WAWJ,qBAAY;AAAA,0BACwB,KAAKC,OAD7B;AAAA,UACFC,QADE,iBACFA,QADE;AAAA,UACQC,IADR,iBACQA,IADR;AAAA,UACcZ,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;AAC3B,YAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA9D,EAAoE;AAClEW,YAAAA,GAAG,CAACK,IAAJ,CAASJ,KAAK,CAACK,KAAN,CAAYC,CAArB;AACD;;AACD,iBAAOP,GAAP;AACD,SALY,EAKV,EALU,CAAb;AAMAhB,QAAAA,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACW,OAAL,EAAX;AACD;;AAED,aAAOxB,KAAK,CAACY,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALW,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKf,OADD,CACVe,CADU;AAElB,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,CAAf;AACA,aAAO;AACLX,QAAAA,IAAI,EAAEc,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAAChB,IADU,6DAGdW,CAHc,EAGVK,CAAC,CAAChB,IAAF,CAAOW,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdpB,EAJc,EAIToB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAEvB,EAPC;AAQLiB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;;EA9C2BxB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGWyB,K;;gBAHXzB,e,kBAKkB,YAAM;AAC1B,MAAMT,KAAK,GAAGC,OAAO,EAArB;AACAD,EAAAA,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEN,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;;AAwCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;AAAEJ,EAAAA,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n const series = this.series.find((s) => s.key === y);\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
1
+ {"version":3,"sources":["../../src/StackedArea.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;;WAWJ,qBAAY;AAAA,0BACwB,KAAKC,OAD7B;AAAA,UACFC,QADE,iBACFA,QADE;AAAA,UACQC,IADR,iBACQA,IADR;AAAA,UACcZ,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;AAC3B,YAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA1D,IAAkE,CAACY,KAAK,CAACI,KAAN,CAAYC,IAAnF,EAAyF;AACvFN,YAAAA,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;AACD;;AACD,iBAAOR,GAAP;AACD,SALY,EAKV,EALU,CAAb;AAMAhB,QAAAA,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACY,OAAL,EAAX;AACD;;AAED,aAAOzB,KAAK,CAACY,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALY,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKhB,OADD,CACVgB,CADU,EAElB;;AACA,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,KAAwC,EAAvD;AACA,aAAO;AACLZ,QAAAA,IAAI,EAAEe,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAACjB,IADU,6DAGdY,CAHc,EAGVK,CAAC,CAACjB,IAAF,CAAOY,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdrB,EAJc,EAITqB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAExB,EAPC;AAQLkB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;;EA/C2BzB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGW0B,K;;gBAHX1B,e,kBAKkB,YAAM;AAC1B,MAAMT,KAAK,GAAGC,OAAO,EAArB;AACAD,EAAAA,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEN,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;;AAyCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;AAAEJ,EAAAA,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
@@ -33,15 +33,15 @@ var style = (
33
33
  /*__reshadow_css_start__*/
34
34
  _sstyled.insert(
35
35
  /*__inner_css_start__*/
36
- ".___STooltip_1tt9g_gg_{position:relative;background-color:#fff;border-radius:3px;border:1px solid #bdc4c6;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.25),0 -2px 5px -2px rgba(0,0,0,.25);padding:12px}.___STitle_1tt9g_gg_{font-size:12px;line-height:1.5;color:#757575;margin-bottom:8px}.___SDotGroup_1tt9g_gg_{display:flex;align-items:center}.___SDot_1tt9g_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--color_1vsdjfi)}"
36
+ ".___STooltip_1exb3_gg_{position:relative;background-color:#fff;border-radius:3px;border:1px solid #bdc4c6;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.25),0 -2px 5px -2px rgba(0,0,0,.25);padding:12px}.___STitle_1exb3_gg_{font-size:12px;line-height:1.5;color:#757575;margin-bottom:8px}.___SDotGroup_1exb3_gg_{display:flex;align-items:center}.___SDot_1exb3_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--color_1vsdjfi)}"
37
37
  /*__inner_css_end__*/
38
38
  , "1vsdjfi_gg_")
39
39
  /*__reshadow_css_end__*/
40
40
  , {
41
- "__STooltip": "___STooltip_1tt9g_gg_",
42
- "__STitle": "___STitle_1tt9g_gg_",
43
- "__SDotGroup": "___SDotGroup_1tt9g_gg_",
44
- "__SDot": "___SDot_1tt9g_gg_",
41
+ "__STooltip": "___STooltip_1exb3_gg_",
42
+ "__STitle": "___STitle_1exb3_gg_",
43
+ "__SDotGroup": "___SDotGroup_1exb3_gg_",
44
+ "__SDot": "___SDot_1exb3_gg_",
45
45
  "--color": "--color_1vsdjfi"
46
46
  });
47
47
 
package/lib/es6/Venn.js CHANGED
@@ -26,15 +26,15 @@ var style = (
26
26
  /*__reshadow_css_start__*/
27
27
  _sstyled.insert(
28
28
  /*__inner_css_start__*/
29
- ".___SCircle_1p0jc_gg_{fill:var(--color_v23pgz);stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_v23pgz);transition-timing-function:ease-in-out}.___SCircle_1p0jc_gg_:hover{fill-opacity:.7}.___SIntersection_1p0jc_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1p0jc_gg_:hover{fill-opacity:.1}"
29
+ ".___SCircle_1qcib_gg_{fill:var(--color_v23pgz);stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_v23pgz);transition-timing-function:ease-in-out}.___SCircle_1qcib_gg_:hover{fill-opacity:.7}.___SIntersection_1qcib_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1qcib_gg_:hover{fill-opacity:.1}"
30
30
  /*__inner_css_end__*/
31
31
  , "v23pgz_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SCircle": "___SCircle_1p0jc_gg_",
34
+ "__SCircle": "___SCircle_1qcib_gg_",
35
35
  "--color": "--color_v23pgz",
36
36
  "--duration": "--duration_v23pgz",
37
- "__SIntersection": "___SIntersection_1p0jc_gg_"
37
+ "__SIntersection": "___SIntersection_1qcib_gg_"
38
38
  });
39
39
 
40
40
  var VennRoot = /*#__PURE__*/function (_Component) {
@@ -18,7 +18,7 @@ export interface IBarProps extends IContext {
18
18
  /** Radius of curvature
19
19
  * @default 2
20
20
  */
21
- r?: number;
21
+ r?: number | number[];
22
22
  }
23
23
 
24
24
  export interface IBarContext {
@@ -17,7 +17,7 @@ export interface IHorizontalBarProps extends IContext {
17
17
  /** Radius of curvature
18
18
  * @default 2
19
19
  */
20
- r?: number;
20
+ r?: number | number[];
21
21
  }
22
22
 
23
23
  declare const HorizontalBar: (<T>(
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/d3-chart",
3
3
  "description": "SEMRush D3 Chart Component",
4
- "version": "1.5.4",
4
+ "version": "1.5.5",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
package/src/Bar.js CHANGED
@@ -70,17 +70,16 @@ class BarRoot extends Component {
70
70
  const [xScale, yScale] = scale;
71
71
  const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];
72
72
  const barX = xScale(d[x]) + offset[0];
73
- let height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)));
74
- height = isRounded ? height + r : height;
73
+ const height = Math.abs(
74
+ yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),
75
+ );
75
76
  const width = widthProps || getBandwidth(xScale);
76
- const isRounded = r !== 0;
77
- const yValue = isRounded ? (d[y] > 0 ? barY - r : barY) : barY;
78
77
  const dSvg = getRect({
79
78
  x: barX,
80
- y: yValue,
79
+ y: barY,
81
80
  width,
82
81
  height,
83
- radius: r,
82
+ radius: Array.isArray(r) ? r[i] : r,
84
83
  position: d[y] > 0 ? 'top' : 'bottom',
85
84
  });
86
85
 
@@ -96,7 +95,7 @@ class BarRoot extends Component {
96
95
  hide={hide}
97
96
  color={color}
98
97
  x={barX}
99
- y={yValue}
98
+ y={barY}
100
99
  width={width}
101
100
  height={height}
102
101
  d={dSvg}
package/src/GroupBar.js CHANGED
@@ -20,10 +20,14 @@ class GroupBarRoot extends Component {
20
20
  if (scaleGroup) return scaleGroup;
21
21
 
22
22
  const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
23
- if (React.isValidElement(child) && child.type === GroupBar.Bar) {
23
+ if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
24
24
  acc.push(child.props.y);
25
25
  }
26
- if (React.isValidElement(child) && child.type === GroupBar.HorizontalBar) {
26
+ if (
27
+ React.isValidElement(child) &&
28
+ child.type === GroupBar.HorizontalBar &&
29
+ !child.props.hide
30
+ ) {
27
31
  acc.push(child.props.x);
28
32
  }
29
33
  return acc;
@@ -44,20 +44,18 @@ class HorizontalBarRoot extends Component {
44
44
  onMouseMove,
45
45
  onMouseLeave,
46
46
  } = this.asProps;
47
+
47
48
  const [xScale, yScale] = scale;
48
49
  const barY = yScale(d[y]) + offset[1];
49
50
  const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];
50
51
  const height = heightProps || getBandwidth(yScale);
51
- let width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));
52
- width = isRounded ? width + r : width;
53
- const isRounded = r !== 0;
54
- const xValue = isRounded ? (d[x] > 0 ? barX : barX - r) : barX;
52
+ const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));
55
53
  const dSvg = getHorizontalRect({
56
- x: xValue,
54
+ x: barX,
57
55
  y: barY,
58
56
  width,
59
57
  height,
60
- radius: r,
58
+ radius: Array.isArray(r) ? r[i] : r,
61
59
  position: d[x] > 0 ? 'right' : 'left',
62
60
  });
63
61
 
@@ -72,7 +70,7 @@ class HorizontalBarRoot extends Component {
72
70
  index={i}
73
71
  hide={hide}
74
72
  color={color}
75
- x={xValue}
73
+ x={barX}
76
74
  y={barY}
77
75
  width={width}
78
76
  height={height}
package/src/StackBar.js CHANGED
@@ -19,7 +19,7 @@ class StackBarRoot extends Component {
19
19
  static defaultProps = () => {
20
20
  const stack = d3Stack();
21
21
  stack[DEFAULT_INSTANCE] = true;
22
- return { stack };
22
+ return { stack, r: 2 };
23
23
  };
24
24
 
25
25
  getSeries() {
@@ -27,10 +27,14 @@ class StackBarRoot extends Component {
27
27
 
28
28
  if (stack[DEFAULT_INSTANCE]) {
29
29
  const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
30
- if (React.isValidElement(child) && child.type === StackBar.Bar) {
30
+ if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
31
31
  acc.push(child.props.y);
32
32
  }
33
- if (React.isValidElement(child) && child.type === StackBar.HorizontalBar) {
33
+ if (
34
+ React.isValidElement(child) &&
35
+ child.type === StackBar.HorizontalBar &&
36
+ !child.props.hide
37
+ ) {
34
38
  acc.push(child.props.x);
35
39
  }
36
40
  return acc;
@@ -42,9 +46,15 @@ class StackBarRoot extends Component {
42
46
  }
43
47
 
44
48
  getBarProps({ y }) {
45
- const { x } = this.asProps;
49
+ const { x, r } = this.asProps;
46
50
 
47
- const series = this.series.find((s) => s.key === y);
51
+ const seriesIndex = this.series.findIndex((s) => s.key === y);
52
+ // or [] if hide bar
53
+ const series = this.series[seriesIndex] || [];
54
+
55
+ const rBar = series.map((s, i) =>
56
+ this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,
57
+ );
48
58
 
49
59
  return {
50
60
  data: series.map((s) => ({
@@ -54,13 +64,19 @@ class StackBarRoot extends Component {
54
64
  })),
55
65
  y0: XY0,
56
66
  x,
67
+ r: rBar,
57
68
  };
58
69
  }
59
70
 
60
71
  getHorizontalBarProps({ x }) {
61
- const { y } = this.asProps;
72
+ const { y, r } = this.asProps;
73
+
74
+ const seriesIndex = this.series.findIndex((s) => s.key === x);
75
+ const series = this.series[seriesIndex];
62
76
 
63
- const series = this.series.find((s) => s.key === x);
77
+ const rBar = series.map((s, i) =>
78
+ this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,
79
+ );
64
80
 
65
81
  return {
66
82
  data: series.map((s) => ({
@@ -70,6 +86,7 @@ class StackBarRoot extends Component {
70
86
  })),
71
87
  x0: XY0,
72
88
  y,
89
+ r: rBar,
73
90
  };
74
91
  }
75
92
 
@@ -26,7 +26,7 @@ class StackedAreaRoot extends Component {
26
26
 
27
27
  if (stack[DEFAULT_INSTANCE]) {
28
28
  const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
29
- if (React.isValidElement(child) && child.type === StackedArea.Area) {
29
+ if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
30
30
  acc.push(child.props.y);
31
31
  }
32
32
  return acc;
@@ -39,7 +39,8 @@ class StackedAreaRoot extends Component {
39
39
 
40
40
  getAreaProps({ y }) {
41
41
  const { x } = this.asProps;
42
- const series = this.series.find((s) => s.key === y);
42
+ // or [] if hide area
43
+ const series = this.series.find((s) => s.key === y) || [];
43
44
  return {
44
45
  data: series.map((s) => ({
45
46
  ...s.data,
@@ -18,7 +18,7 @@ export interface IBarProps extends IContext {
18
18
  /** Radius of curvature
19
19
  * @default 2
20
20
  */
21
- r?: number;
21
+ r?: number | number[];
22
22
  }
23
23
 
24
24
  export interface IBarContext {
@@ -17,7 +17,7 @@ export interface IHorizontalBarProps extends IContext {
17
17
  /** Radius of curvature
18
18
  * @default 2
19
19
  */
20
- r?: number;
20
+ r?: number | number[];
21
21
  }
22
22
 
23
23
  declare const HorizontalBar: (<T>(