@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/StackedArea.js"],"names":["DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","stack","keys","React","toArray","reduce","acc","child","isValidElement","type","StackedArea","Area","push","props","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","Component","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,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,UACcC,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;AAC3B,YAAMQ,IAAI,GAAGC,kBAAMJ,QAAN,CAAeK,OAAf,CAAuB,mCAAkBL,QAAlB,CAAvB,EAAoDM,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,gCAAMC,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACC,IAA9D,EAAoE;AAClEL,YAAAA,GAAG,CAACM,IAAJ,CAASL,KAAK,CAACM,KAAN,CAAYC,CAArB;AACD;;AACD,iBAAOR,GAAP;AACD,SALY,EAKV,EALU,CAAb;;AAMAL,QAAAA,KAAK,CAACC,IAAN,CAAWA,IAAI,CAACa,OAAL,EAAX;AACD;;AAED,aAAOd,KAAK,CAACD,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALc,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKlB,OADD,CACVkB,CADU;AAElB,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,CAAf;AACA,aAAO;AACLd,QAAAA,IAAI,EAAEiB,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAACnB,IADU,8EAGdc,CAHc,EAGVK,CAAC,CAACnB,IAAF,CAAOc,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,oDAIdvB,EAJc,EAITuB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAE1B,EAPC;AAQLoB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,gCAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;EA9C2BQ,e;;iCAAxB5B,e,iBACiB,a;iCADjBA,e,WAGW6B,K;iCAHX7B,e,kBAKkB,YAAM;AAC1B,MAAMI,KAAK,GAAG,qBAAd;AACAA,EAAAA,KAAK,CAACP,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEO,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;AAwCH,IAAMS,WAAW,GAAG,+BAAcb,eAAd,EAA+B;AAAEc,EAAAA,IAAI,EAAJA;AAAF,CAA/B,CAApB;eAEeD,W","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":["DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","stack","keys","React","toArray","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","Component","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,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,UACcC,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;AAC3B,YAAMQ,IAAI,GAAGC,kBAAMJ,QAAN,CAAeK,OAAf,CAAuB,mCAAkBL,QAAlB,CAAvB,EAAoDM,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,gCAAMC,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACC,IAA1D,IAAkE,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAAnF,EAAyF;AACvFP,YAAAA,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;AACD;;AACD,iBAAOT,GAAP;AACD,SALY,EAKV,EALU,CAAb;;AAMAL,QAAAA,KAAK,CAACC,IAAN,CAAWA,IAAI,CAACc,OAAL,EAAX;AACD;;AAED,aAAOf,KAAK,CAACD,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALe,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKnB,OADD,CACVmB,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;AACLf,QAAAA,IAAI,EAAEkB,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAACpB,IADU,8EAGde,CAHc,EAGVK,CAAC,CAACpB,IAAF,CAAOe,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,oDAIdxB,EAJc,EAITwB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAE3B,EAPC;AAQLqB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,gCAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;EA/C2BQ,e;;iCAAxB7B,e,iBACiB,a;iCADjBA,e,WAGW8B,K;iCAHX9B,e,kBAKkB,YAAM;AAC1B,MAAMI,KAAK,GAAG,qBAAd;AACAA,EAAAA,KAAK,CAACP,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEO,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;AAyCH,IAAMS,WAAW,GAAG,+BAAcb,eAAd,EAA+B;AAAEc,EAAAA,IAAI,EAAJA;AAAF,CAA/B,CAApB;eAEeD,W","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"}
@@ -54,15 +54,15 @@ var style = (
54
54
  /*__reshadow_css_start__*/
55
55
  _core.sstyled.insert(
56
56
  /*__inner_css_start__*/
57
- ".___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)}"
57
+ ".___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)}"
58
58
  /*__inner_css_end__*/
59
59
  , "1vsdjfi_gg_")
60
60
  /*__reshadow_css_end__*/
61
61
  , {
62
- "__STooltip": "___STooltip_1tt9g_gg_",
63
- "__STitle": "___STitle_1tt9g_gg_",
64
- "__SDotGroup": "___SDotGroup_1tt9g_gg_",
65
- "__SDot": "___SDot_1tt9g_gg_",
62
+ "__STooltip": "___STooltip_1exb3_gg_",
63
+ "__STitle": "___STitle_1exb3_gg_",
64
+ "__SDotGroup": "___SDotGroup_1exb3_gg_",
65
+ "__SDot": "___SDot_1exb3_gg_",
66
66
  "--color": "--color_1vsdjfi"
67
67
  });
68
68
 
package/lib/cjs/Venn.js CHANGED
@@ -48,15 +48,15 @@ var style = (
48
48
  /*__reshadow_css_start__*/
49
49
  _core.sstyled.insert(
50
50
  /*__inner_css_start__*/
51
- ".___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}"
51
+ ".___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}"
52
52
  /*__inner_css_end__*/
53
53
  , "v23pgz_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SCircle": "___SCircle_1p0jc_gg_",
56
+ "__SCircle": "___SCircle_1qcib_gg_",
57
57
  "--color": "--color_v23pgz",
58
58
  "--duration": "--duration_v23pgz",
59
- "__SIntersection": "___SIntersection_1p0jc_gg_"
59
+ "__SIntersection": "___SIntersection_1qcib_gg_"
60
60
  });
61
61
 
62
62
  var VennRoot = /*#__PURE__*/function (_Component) {
package/lib/es6/Area.js CHANGED
@@ -25,17 +25,17 @@ var style = (
25
25
  /*__reshadow_css_start__*/
26
26
  _sstyled.insert(
27
27
  /*__inner_css_start__*/
28
- ".___SArea_1asfb_gg_{fill:var(--color_16k7jnx);fill-opacity:.4}.___SAreaLine_1asfb_gg_{stroke:var(--color_16k7jnx);stroke-width:3;fill:transparent}.___SArea_1asfb_gg_,.___SAreaLine_1asfb_gg_{transition-property:d;transition-duration:var(--duration_16k7jnx);transition-timing-function:ease-in-out}.___SNull_1asfb_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_1asfb_gg_.__hide_1asfb_gg_{display:none}"
28
+ ".___SArea_110zq_gg_{fill:var(--color_16k7jnx);fill-opacity:.4}.___SAreaLine_110zq_gg_{stroke:var(--color_16k7jnx);stroke-width:3;fill:transparent}.___SArea_110zq_gg_,.___SAreaLine_110zq_gg_{transition-property:d;transition-duration:var(--duration_16k7jnx);transition-timing-function:ease-in-out}.___SNull_110zq_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_110zq_gg_.__hide_110zq_gg_{display:none}"
29
29
  /*__inner_css_end__*/
30
30
  , "16k7jnx_gg_")
31
31
  /*__reshadow_css_end__*/
32
32
  , {
33
- "__SArea": "___SArea_1asfb_gg_",
33
+ "__SArea": "___SArea_110zq_gg_",
34
34
  "--color": "--color_16k7jnx",
35
- "__SAreaLine": "___SAreaLine_1asfb_gg_",
35
+ "__SAreaLine": "___SAreaLine_110zq_gg_",
36
36
  "--duration": "--duration_16k7jnx",
37
- "__SNull": "___SNull_1asfb_gg_",
38
- "_hide": "__hide_1asfb_gg_"
37
+ "__SNull": "___SNull_110zq_gg_",
38
+ "_hide": "__hide_110zq_gg_"
39
39
  });
40
40
 
41
41
  var AreaRoot = /*#__PURE__*/function (_Component) {
package/lib/es6/Axis.js CHANGED
@@ -27,22 +27,22 @@ var style = (
27
27
  /*__reshadow_css_start__*/
28
28
  _sstyled.insert(
29
29
  /*__inner_css_start__*/
30
- ".___SAxis_jwdop_gg_{stroke:#a6b0b3}.___SAxis_jwdop_gg_.__hide_jwdop_gg_{display:none}.___STick_jwdop_gg_{font-size:12px;fill:#757575}.___STick_jwdop_gg_.__hide_jwdop_gg_{display:none}.___SGrid_jwdop_gg_{fill:transparent;stroke:#dee3e5}.___STitle_jwdop_gg_{font-size:12px;fill:#757575;transform-origin:center}.___STitle_jwdop_gg_._position_top_jwdop_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_jwdop_gg_._position_bottom_jwdop_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_jwdop_gg_._position_left_jwdop_gg_,.___STitle_jwdop_gg_._position_right_jwdop_gg_{transform:rotate(-90deg);transform-box:fill-box;alignment-baseline:middle}.___STitle_jwdop_gg_._position_left_jwdop_gg_{text-anchor:end}.___STick_jwdop_gg_._position_top_jwdop_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_jwdop_gg_._position_bottom_jwdop_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_jwdop_gg_._position_right_jwdop_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_jwdop_gg_._position_left_jwdop_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_jwdop_gg_._position_custom_0_jwdop_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_jwdop_gg_._position_custom_1_jwdop_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
30
+ ".___SAxis_pw4pp_gg_{stroke:#a6b0b3}.___SAxis_pw4pp_gg_.__hide_pw4pp_gg_{display:none}.___STick_pw4pp_gg_{font-size:12px;fill:#757575}.___STick_pw4pp_gg_.__hide_pw4pp_gg_{display:none}.___SGrid_pw4pp_gg_{fill:transparent;stroke:#dee3e5}.___STitle_pw4pp_gg_{font-size:12px;fill:#757575;transform-origin:center}.___STitle_pw4pp_gg_._position_top_pw4pp_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_pw4pp_gg_._position_bottom_pw4pp_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_pw4pp_gg_._position_left_pw4pp_gg_,.___STitle_pw4pp_gg_._position_right_pw4pp_gg_{transform:rotate(-90deg);transform-box:fill-box;alignment-baseline:middle}.___STitle_pw4pp_gg_._position_left_pw4pp_gg_{text-anchor:end}.___STick_pw4pp_gg_._position_top_pw4pp_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_pw4pp_gg_._position_bottom_pw4pp_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_pw4pp_gg_._position_right_pw4pp_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_pw4pp_gg_._position_left_pw4pp_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_pw4pp_gg_._position_custom_0_pw4pp_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_pw4pp_gg_._position_custom_1_pw4pp_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
31
31
  /*__inner_css_end__*/
32
32
  , "8vu5zg_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SAxis": "___SAxis_jwdop_gg_",
36
- "_hide": "__hide_jwdop_gg_",
37
- "__STick": "___STick_jwdop_gg_",
38
- "__SGrid": "___SGrid_jwdop_gg_",
39
- "__STitle": "___STitle_jwdop_gg_",
40
- "_position_top": "_position_top_jwdop_gg_",
41
- "_position_bottom": "_position_bottom_jwdop_gg_",
42
- "_position_left": "_position_left_jwdop_gg_",
43
- "_position_right": "_position_right_jwdop_gg_",
44
- "_position_custom_0": "_position_custom_0_jwdop_gg_",
45
- "_position_custom_1": "_position_custom_1_jwdop_gg_"
35
+ "__SAxis": "___SAxis_pw4pp_gg_",
36
+ "_hide": "__hide_pw4pp_gg_",
37
+ "__STick": "___STick_pw4pp_gg_",
38
+ "__SGrid": "___SGrid_pw4pp_gg_",
39
+ "__STitle": "___STitle_pw4pp_gg_",
40
+ "_position_top": "_position_top_pw4pp_gg_",
41
+ "_position_bottom": "_position_bottom_pw4pp_gg_",
42
+ "_position_left": "_position_left_pw4pp_gg_",
43
+ "_position_right": "_position_right_pw4pp_gg_",
44
+ "_position_custom_0": "_position_custom_0_pw4pp_gg_",
45
+ "_position_custom_1": "_position_custom_1_pw4pp_gg_"
46
46
  });
47
47
  var CUSTOM_0 = Symbol('custom_0');
48
48
  var CUSTOM_1 = Symbol('custom_1');
package/lib/es6/Bar.js CHANGED
@@ -24,16 +24,16 @@ var style = (
24
24
  /*__reshadow_css_start__*/
25
25
  _sstyled.insert(
26
26
  /*__inner_css_start__*/
27
- ".___SBar_17amb_gg_{fill:var(--color_10kcl1b);transition-property:height,width,y;transition-duration:var(--duration_10kcl1b);transition-timing-function:ease-in-out}.___SBar_17amb_gg_.__hide_17amb_gg_{display:none}.___SBackground_17amb_gg_{fill:#e4ecf1}"
27
+ ".___SBar_1u1r9_gg_{fill:var(--color_10kcl1b);transition-property:height,width,y;transition-duration:var(--duration_10kcl1b);transition-timing-function:ease-in-out}.___SBar_1u1r9_gg_.__hide_1u1r9_gg_{display:none}.___SBackground_1u1r9_gg_{fill:#e4ecf1}"
28
28
  /*__inner_css_end__*/
29
29
  , "10kcl1b_gg_")
30
30
  /*__reshadow_css_end__*/
31
31
  , {
32
- "__SBar": "___SBar_17amb_gg_",
32
+ "__SBar": "___SBar_1u1r9_gg_",
33
33
  "--color": "--color_10kcl1b",
34
34
  "--duration": "--duration_10kcl1b",
35
- "_hide": "__hide_17amb_gg_",
36
- "__SBackground": "___SBackground_17amb_gg_"
35
+ "_hide": "__hide_1u1r9_gg_",
36
+ "__SBackground": "___SBackground_1u1r9_gg_"
37
37
  });
38
38
 
39
39
  var BarRoot = /*#__PURE__*/function (_Component) {
@@ -107,16 +107,13 @@ var BarRoot = /*#__PURE__*/function (_Component) {
107
107
  var barY = yScale(Math.max((_d$y = d[y0]) !== null && _d$y !== void 0 ? _d$y : 0, d[y])) + offset[1];
108
108
  var barX = xScale(d[x]) + offset[0];
109
109
  var height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale((_d$y2 = d[y0]) !== null && _d$y2 !== void 0 ? _d$y2 : 0)));
110
- height = isRounded ? height + r : height;
111
110
  var width = widthProps || getBandwidth(xScale);
112
- var isRounded = r !== 0;
113
- var yValue = isRounded ? d[y] > 0 ? barY - r : barY : barY;
114
111
  var dSvg = getRect({
115
112
  x: barX,
116
- y: yValue,
113
+ y: barY,
117
114
  width: width,
118
115
  height: height,
119
- radius: r,
116
+ radius: Array.isArray(r) ? r[i] : r,
120
117
  position: d[y] > 0 ? 'top' : 'bottom'
121
118
  });
122
119
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SBar, _ref.cn("SBar", {
@@ -130,7 +127,7 @@ var BarRoot = /*#__PURE__*/function (_Component) {
130
127
  "hide": hide,
131
128
  "color": color,
132
129
  "x": barX,
133
- "y": yValue,
130
+ "y": barY,
134
131
  "width": width,
135
132
  "height": height,
136
133
  "d": dSvg,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Bar.js"],"names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","isRounded","yValue","dSvg","getRect","radius","position","size","map","renderBar","bind","style","Background","SBackground","yRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n color: '#50aef4',\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition()\n .selection()\n .selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect\n .transition()\n .duration(duration)\n .attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n width: widthProps,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];\n const barX = xScale(d[x]) + offset[0];\n let height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)));\n height = isRounded ? height + r : height;\n const width = widthProps || getBandwidth(xScale);\n const isRounded = r !== 0;\n const yValue = isRounded ? (d[y] > 0 ? barY - r : barY) : barY;\n const dSvg = getRect({\n x: barX,\n y: yValue,\n width,\n height,\n radius: r,\n position: d[y] > 0 ? 'top' : 'bottom',\n });\n\n return sstyled(styles)(\n <SBar\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={yValue}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height <= radius) return '';\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"file":"Bar.js"}
1
+ {"version":3,"sources":["../../src/Bar.js"],"names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","style","Background","SBackground","yRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n color: '#50aef4',\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition()\n .selection()\n .selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect\n .transition()\n .duration(duration)\n .attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n width: widthProps,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];\n const barX = xScale(d[x]) + offset[0];\n const height = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 ? 'top' : 'bottom',\n });\n\n return sstyled(styles)(\n <SBar\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height <= radius) return '';\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"file":"Bar.js"}
package/lib/es6/Donut.js CHANGED
@@ -28,14 +28,14 @@ var style = (
28
28
  /*__reshadow_css_start__*/
29
29
  _sstyled.insert(
30
30
  /*__inner_css_start__*/
31
- ".___SPie_101rw_gg_{stroke:#fff;fill:var(--color_3mch97)}.___SLabel_101rw_gg_{text-anchor:middle;vertical-anchor:middle}"
31
+ ".___SPie_1ar8h_gg_{stroke:#fff;fill:var(--color_3mch97)}.___SLabel_1ar8h_gg_{text-anchor:middle;vertical-anchor:middle}"
32
32
  /*__inner_css_end__*/
33
33
  , "3mch97_gg_")
34
34
  /*__reshadow_css_end__*/
35
35
  , {
36
- "__SPie": "___SPie_101rw_gg_",
36
+ "__SPie": "___SPie_1ar8h_gg_",
37
37
  "--color": "--color_3mch97",
38
- "__SLabel": "___SLabel_101rw_gg_"
38
+ "__SLabel": "___SLabel_1ar8h_gg_"
39
39
  });
40
40
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
41
41
 
package/lib/es6/Dots.js CHANGED
@@ -14,16 +14,16 @@ var style = (
14
14
  /*__reshadow_css_start__*/
15
15
  _sstyled.insert(
16
16
  /*__inner_css_start__*/
17
- ".___SDot_w2tzj_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:var(--color_8nea8t);transition-property:cx,cy;transition-duration:var(--duration_8nea8t);transition-timing-function:ease-in-out}.___SDot_w2tzj_gg_.__hide_w2tzj_gg_{display:none}.___SDot_w2tzj_gg_.__active_w2tzj_gg_{r:8px}"
17
+ ".___SDot_vvre7_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:var(--color_8nea8t);transition-property:cx,cy;transition-duration:var(--duration_8nea8t);transition-timing-function:ease-in-out}.___SDot_vvre7_gg_.__hide_vvre7_gg_{display:none}.___SDot_vvre7_gg_.__active_vvre7_gg_{r:8px}"
18
18
  /*__inner_css_end__*/
19
19
  , "8nea8t_gg_")
20
20
  /*__reshadow_css_end__*/
21
21
  , {
22
- "__SDot": "___SDot_w2tzj_gg_",
22
+ "__SDot": "___SDot_vvre7_gg_",
23
23
  "--color": "--color_8nea8t",
24
24
  "--duration": "--duration_8nea8t",
25
- "_hide": "__hide_w2tzj_gg_",
26
- "_active": "__active_w2tzj_gg_"
25
+ "_hide": "__hide_vvre7_gg_",
26
+ "_active": "__active_vvre7_gg_"
27
27
  });
28
28
 
29
29
  function Dots(props) {
@@ -22,14 +22,14 @@ var _ref = (
22
22
  /*__reshadow_css_start__*/
23
23
  __css__(
24
24
  /*__inner_css_start__*/
25
- ".___SBar_1th36_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1th36_gg_.__hide_1th36_gg_{display:none}.___SBackground_1th36_gg_{fill:#e4ecf1}"
25
+ ".___SBar_1e14r_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1e14r_gg_.__hide_1e14r_gg_{display:none}.___SBackground_1e14r_gg_{fill:#e4ecf1}"
26
26
  /*__inner_css_end__*/
27
- , "6bb9rp_gg_")
27
+ , "1oqq379_gg_")
28
28
  /*__reshadow_css_end__*/
29
29
  , {
30
- "__SBar": "___SBar_1th36_gg_",
31
- "_hide": "__hide_1th36_gg_",
32
- "__SBackground": "___SBackground_1th36_gg_"
30
+ "__SBar": "___SBar_1e14r_gg_",
31
+ "_hide": "__hide_1e14r_gg_",
32
+ "__SBackground": "___SBackground_1e14r_gg_"
33
33
  }),
34
34
  style = _extends({}, _ref);
35
35
 
@@ -56,11 +56,11 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
56
56
  var xyScale = x ? scale[0] : scale[1];
57
57
  if (scaleGroup) return scaleGroup;
58
58
  var domain = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
59
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.Bar) {
59
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
60
60
  acc.push(child.props.y);
61
61
  }
62
62
 
63
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.HorizontalBar) {
63
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
64
64
  acc.push(child.props.x);
65
65
  }
66
66
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GroupBar.js"],"names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","push","props","y","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","style"],"mappings":"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","sourcesContent":["import React from 'react';\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\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: классный костыль =)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar) {\n acc.push(child.props.y);\n }\n if (React.isValidElement(child) && child.type === GroupBar.HorizontalBar) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n return <Element render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />;\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"file":"GroupBar.js"}
1
+ {"version":3,"sources":["../../src/GroupBar.js"],"names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","style"],"mappings":"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","sourcesContent":["import React from 'react';\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\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: классный костыль =)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n return <Element render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />;\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"file":"GroupBar.js"}
@@ -23,16 +23,16 @@ var style = (
23
23
  /*__reshadow_css_start__*/
24
24
  _sstyled.insert(
25
25
  /*__inner_css_start__*/
26
- ".___SBar_17amb_gg_{fill:var(--color_10kcl1b);transition-property:height,width,y;transition-duration:var(--duration_10kcl1b);transition-timing-function:ease-in-out}.___SBar_17amb_gg_.__hide_17amb_gg_{display:none}.___SBackground_17amb_gg_{fill:#e4ecf1}"
26
+ ".___SBar_1u1r9_gg_{fill:var(--color_10kcl1b);transition-property:height,width,y;transition-duration:var(--duration_10kcl1b);transition-timing-function:ease-in-out}.___SBar_1u1r9_gg_.__hide_1u1r9_gg_{display:none}.___SBackground_1u1r9_gg_{fill:#e4ecf1}"
27
27
  /*__inner_css_end__*/
28
28
  , "10kcl1b_gg_")
29
29
  /*__reshadow_css_end__*/
30
30
  , {
31
- "__SBar": "___SBar_17amb_gg_",
31
+ "__SBar": "___SBar_1u1r9_gg_",
32
32
  "--color": "--color_10kcl1b",
33
33
  "--duration": "--duration_10kcl1b",
34
- "_hide": "__hide_17amb_gg_",
35
- "__SBackground": "___SBackground_17amb_gg_"
34
+ "_hide": "__hide_1u1r9_gg_",
35
+ "__SBackground": "___SBackground_1u1r9_gg_"
36
36
  });
37
37
 
38
38
  var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
@@ -86,15 +86,12 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
86
86
  var barX = xScale(Math.min((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0, d[x])) + offset[0];
87
87
  var height = heightProps || getBandwidth(yScale);
88
88
  var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$x2 = d[x0]) !== null && _d$x2 !== void 0 ? _d$x2 : 0)));
89
- width = isRounded ? width + r : width;
90
- var isRounded = r !== 0;
91
- var xValue = isRounded ? d[x] > 0 ? barX : barX - r : barX;
92
89
  var dSvg = getHorizontalRect({
93
- x: xValue,
90
+ x: barX,
94
91
  y: barY,
95
92
  width: width,
96
93
  height: height,
97
- radius: r,
94
+ radius: Array.isArray(r) ? r[i] : r,
98
95
  position: d[x] > 0 ? 'right' : 'left'
99
96
  });
100
97
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SBar, _ref.cn("SBar", {
@@ -107,7 +104,7 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
107
104
  "index": i,
108
105
  "hide": hide,
109
106
  "color": color,
110
- "x": xValue,
107
+ "x": barX,
111
108
  "y": barY,
112
109
  "width": width,
113
110
  "height": height,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/HorizontalBar.js"],"names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","r","heightProps","height","onMouseMove","onMouseLeave","xScale","yScale","barY","barX","Math","min","width","abs","max","domain","isRounded","xValue","dSvg","getHorizontalRect","radius","position","size","map","renderBar","bind","rect","setAttribute","style","Background","SBackground","xRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n color: '#50aef4',\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const barY = yScale(d[y]) + offset[1];\n const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];\n const height = heightProps || getBandwidth(yScale);\n let width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));\n width = isRounded ? width + r : width;\n const isRounded = r !== 0;\n const xValue = isRounded ? (d[x] > 0 ? barX : barX - r) : barX;\n const dSvg = getHorizontalRect({\n x: xValue,\n y: barY,\n width,\n height,\n radius: r,\n position: d[x] > 0 ? 'right' : 'left',\n });\n\n return sstyled(styles)(\n <SBar\n key={`horizontal-bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={xValue}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n onMouseMove={onMouseMove}\n onMouseLeave={onMouseLeave}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nfunction getHorizontalRect({ x, y, width, height, radius, position }) {\n if (width <= radius) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"file":"HorizontalBar.js"}
1
+ {"version":3,"sources":["../../src/HorizontalBar.js"],"names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","r","heightProps","height","onMouseMove","onMouseLeave","xScale","yScale","barY","barX","Math","min","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","size","map","renderBar","bind","rect","setAttribute","style","Background","SBackground","xRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n color: '#50aef4',\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(d[y]) + offset[1];\n const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];\n const height = heightProps || getBandwidth(yScale);\n const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));\n const dSvg = getHorizontalRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[x] > 0 ? 'right' : 'left',\n });\n\n return sstyled(styles)(\n <SBar\n key={`horizontal-bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n onMouseMove={onMouseMove}\n onMouseLeave={onMouseLeave}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nfunction getHorizontalRect({ x, y, width, height, radius, position }) {\n if (width <= radius) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"file":"HorizontalBar.js"}
package/lib/es6/Hover.js CHANGED
@@ -24,13 +24,13 @@ var style = (
24
24
  /*__reshadow_css_start__*/
25
25
  _sstyled.insert(
26
26
  /*__inner_css_start__*/
27
- ".___SHoverLine_8imgf_gg_{stroke:#a6b0b3}.___SHoverRect_8imgf_gg_{fill:rgba(152,170,175,.3)}"
27
+ ".___SHoverLine_wqcps_gg_{stroke:#a6b0b3}.___SHoverRect_wqcps_gg_{fill:rgba(152,170,175,.3)}"
28
28
  /*__inner_css_end__*/
29
29
  , "1tjsi7e_gg_")
30
30
  /*__reshadow_css_end__*/
31
31
  , {
32
- "__SHoverLine": "___SHoverLine_8imgf_gg_",
33
- "__SHoverRect": "___SHoverRect_8imgf_gg_"
32
+ "__SHoverLine": "___SHoverLine_wqcps_gg_",
33
+ "__SHoverRect": "___SHoverRect_wqcps_gg_"
34
34
  });
35
35
 
36
36
  var Hover = /*#__PURE__*/function (_Component) {
package/lib/es6/Line.js CHANGED
@@ -25,16 +25,16 @@ var style = (
25
25
  /*__reshadow_css_start__*/
26
26
  _sstyled.insert(
27
27
  /*__inner_css_start__*/
28
- ".___SLine_1f96p_gg_{fill:transparent;stroke-width:3;stroke:var(--color_153xqfw);transition-property:d;transition-duration:var(--duration_153xqfw);transition-timing-function:ease-in-out}.___SLine_1f96p_gg_.__hide_1f96p_gg_{display:none}.___SNull_1f96p_gg_{fill:transparent;stroke:#98aaaf;stroke-dasharray:4}.___SNull_1f96p_gg_.__hide_1f96p_gg_{display:none}"
28
+ ".___SLine_d1qcq_gg_{fill:transparent;stroke-width:3;stroke:var(--color_153xqfw);transition-property:d;transition-duration:var(--duration_153xqfw);transition-timing-function:ease-in-out}.___SLine_d1qcq_gg_.__hide_d1qcq_gg_{display:none}.___SNull_d1qcq_gg_{fill:transparent;stroke:#98aaaf;stroke-dasharray:4}.___SNull_d1qcq_gg_.__hide_d1qcq_gg_{display:none}"
29
29
  /*__inner_css_end__*/
30
30
  , "153xqfw_gg_")
31
31
  /*__reshadow_css_end__*/
32
32
  , {
33
- "__SLine": "___SLine_1f96p_gg_",
33
+ "__SLine": "___SLine_d1qcq_gg_",
34
34
  "--color": "--color_153xqfw",
35
35
  "--duration": "--duration_153xqfw",
36
- "_hide": "__hide_1f96p_gg_",
37
- "__SNull": "___SNull_1f96p_gg_"
36
+ "_hide": "__hide_d1qcq_gg_",
37
+ "__SNull": "___SNull_d1qcq_gg_"
38
38
  });
39
39
 
40
40
  var LineRoot = /*#__PURE__*/function (_Component) {
@@ -27,14 +27,14 @@ var _ref = (
27
27
  /*__reshadow_css_start__*/
28
28
  __css__(
29
29
  /*__inner_css_start__*/
30
- ".___SBar_13jcd_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_13jcd_gg_.__hide_13jcd_gg_{display:none}.___SBackground_13jcd_gg_{fill:#e4ecf1}"
30
+ ".___SBar_1v8ah_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1v8ah_gg_.__hide_1v8ah_gg_{display:none}.___SBackground_1v8ah_gg_{fill:#e4ecf1}"
31
31
  /*__inner_css_end__*/
32
- , "1wcy585_gg_")
32
+ , "ikr3qt_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SBar": "___SBar_13jcd_gg_",
36
- "_hide": "__hide_13jcd_gg_",
37
- "__SBackground": "___SBackground_13jcd_gg_"
35
+ "__SBar": "___SBar_1v8ah_gg_",
36
+ "_hide": "__hide_1v8ah_gg_",
37
+ "__SBackground": "___SBackground_1v8ah_gg_"
38
38
  }),
39
39
  style = _extends({}, _ref);
40
40
 
@@ -62,11 +62,11 @@ var StackBarRoot = /*#__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 === StackBar.Bar) {
65
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
66
66
  acc.push(child.props.y);
67
67
  }
68
68
 
69
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar) {
69
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
70
70
  acc.push(child.props.x);
71
71
  }
72
72
 
@@ -80,10 +80,21 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
80
80
  }, {
81
81
  key: "getBarProps",
82
82
  value: function getBarProps(_ref2) {
83
+ var _this = this;
84
+
83
85
  var y = _ref2.y;
84
- var x = this.asProps.x;
85
- var series = this.series.find(function (s) {
86
+ var _this$asProps2 = this.asProps,
87
+ x = _this$asProps2.x,
88
+ r = _this$asProps2.r;
89
+ var seriesIndex = this.series.findIndex(function (s) {
86
90
  return s.key === y;
91
+ }); // or [] if hide bar
92
+
93
+ var series = this.series[seriesIndex] || [];
94
+ var rBar = series.map(function (s, i) {
95
+ return _this.series.slice(seriesIndex + 1).some(function (bar) {
96
+ return bar[i][0] !== bar[i][1];
97
+ }) ? 0 : r;
87
98
  });
88
99
  return {
89
100
  data: series.map(function (s) {
@@ -92,17 +103,28 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
92
103
  return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, y, s[1]), _defineProperty(_objectSpread2, XY0, s[0]), _objectSpread2));
93
104
  }),
94
105
  y0: XY0,
95
- x: x
106
+ x: x,
107
+ r: rBar
96
108
  };
97
109
  }
98
110
  }, {
99
111
  key: "getHorizontalBarProps",
100
112
  value: function getHorizontalBarProps(_ref3) {
113
+ var _this2 = this;
114
+
101
115
  var x = _ref3.x;
102
- var y = this.asProps.y;
103
- var series = this.series.find(function (s) {
116
+ var _this$asProps3 = this.asProps,
117
+ y = _this$asProps3.y,
118
+ r = _this$asProps3.r;
119
+ var seriesIndex = this.series.findIndex(function (s) {
104
120
  return s.key === x;
105
121
  });
122
+ var series = this.series[seriesIndex];
123
+ var rBar = series.map(function (s, i) {
124
+ return _this2.series.slice(seriesIndex + 1).some(function (bar) {
125
+ return bar[i][0] !== bar[i][1];
126
+ }) ? 0 : r;
127
+ });
106
128
  return {
107
129
  data: series.map(function (s) {
108
130
  var _objectSpread3;
@@ -110,7 +132,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
110
132
  return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, x, s[1]), _defineProperty(_objectSpread3, XY0, s[0]), _objectSpread3));
111
133
  }),
112
134
  x0: XY0,
113
- y: y
135
+ y: y,
136
+ r: rBar
114
137
  };
115
138
  }
116
139
  }, {
@@ -136,7 +159,8 @@ _defineProperty(StackBarRoot, "defaultProps", function () {
136
159
  var stack = d3Stack();
137
160
  stack[DEFAULT_INSTANCE] = true;
138
161
  return {
139
- stack: stack
162
+ stack: stack,
163
+ r: 2
140
164
  };
141
165
  });
142
166