@semcore/d3-chart 1.5.2 → 1.5.6

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 (93) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/cjs/Area.js +15 -13
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +12 -12
  5. package/lib/cjs/Bar.js +21 -17
  6. package/lib/cjs/Bar.js.map +1 -1
  7. package/lib/cjs/Donut.js +77 -64
  8. package/lib/cjs/Donut.js.map +1 -1
  9. package/lib/cjs/Dots.js +8 -7
  10. package/lib/cjs/Dots.js.map +1 -1
  11. package/lib/cjs/GroupBar.js +8 -7
  12. package/lib/cjs/GroupBar.js.map +1 -1
  13. package/lib/cjs/HorizontalBar.js +21 -17
  14. package/lib/cjs/HorizontalBar.js.map +1 -1
  15. package/lib/cjs/Hover.js +3 -3
  16. package/lib/cjs/Line.js +14 -12
  17. package/lib/cjs/Line.js.map +1 -1
  18. package/lib/cjs/StackBar.js +39 -14
  19. package/lib/cjs/StackBar.js.map +1 -1
  20. package/lib/cjs/StackedArea.js +11 -9
  21. package/lib/cjs/StackedArea.js.map +1 -1
  22. package/lib/cjs/Tooltip.js +11 -11
  23. package/lib/cjs/Tooltip.js.map +1 -1
  24. package/lib/cjs/Venn.js +8 -8
  25. package/lib/cjs/Venn.js.map +1 -1
  26. package/lib/cjs/color.js +32 -30
  27. package/lib/cjs/color.js.map +1 -1
  28. package/lib/cjs/style/area.shadow.css +12 -2
  29. package/lib/cjs/style/bar.shadow.css +7 -2
  30. package/lib/cjs/style/donut.shadow.css +15 -0
  31. package/lib/cjs/style/dot.shadow.css +6 -1
  32. package/lib/cjs/style/line.shadow.css +6 -1
  33. package/lib/cjs/style/tooltip.shadow.css +5 -0
  34. package/lib/cjs/style/var.css +32 -0
  35. package/lib/cjs/style/venn.shadow.css +7 -1
  36. package/lib/es6/Area.js +15 -13
  37. package/lib/es6/Area.js.map +1 -1
  38. package/lib/es6/Axis.js +12 -12
  39. package/lib/es6/Bar.js +21 -17
  40. package/lib/es6/Bar.js.map +1 -1
  41. package/lib/es6/Donut.js +77 -64
  42. package/lib/es6/Donut.js.map +1 -1
  43. package/lib/es6/Dots.js +8 -7
  44. package/lib/es6/Dots.js.map +1 -1
  45. package/lib/es6/GroupBar.js +8 -7
  46. package/lib/es6/GroupBar.js.map +1 -1
  47. package/lib/es6/HorizontalBar.js +21 -17
  48. package/lib/es6/HorizontalBar.js.map +1 -1
  49. package/lib/es6/Hover.js +3 -3
  50. package/lib/es6/Line.js +14 -12
  51. package/lib/es6/Line.js.map +1 -1
  52. package/lib/es6/StackBar.js +39 -14
  53. package/lib/es6/StackBar.js.map +1 -1
  54. package/lib/es6/StackedArea.js +11 -9
  55. package/lib/es6/StackedArea.js.map +1 -1
  56. package/lib/es6/Tooltip.js +10 -10
  57. package/lib/es6/Tooltip.js.map +1 -1
  58. package/lib/es6/Venn.js +8 -8
  59. package/lib/es6/Venn.js.map +1 -1
  60. package/lib/es6/color.js +33 -31
  61. package/lib/es6/color.js.map +1 -1
  62. package/lib/es6/style/area.shadow.css +12 -2
  63. package/lib/es6/style/bar.shadow.css +7 -2
  64. package/lib/es6/style/donut.shadow.css +15 -0
  65. package/lib/es6/style/dot.shadow.css +6 -1
  66. package/lib/es6/style/line.shadow.css +6 -1
  67. package/lib/es6/style/tooltip.shadow.css +5 -0
  68. package/lib/es6/style/var.css +32 -0
  69. package/lib/es6/style/venn.shadow.css +7 -1
  70. package/lib/types/Bar.d.ts +1 -1
  71. package/lib/types/HorizontalBar.d.ts +1 -1
  72. package/package.json +1 -1
  73. package/src/Area.js +2 -3
  74. package/src/Bar.js +13 -10
  75. package/src/Donut.js +8 -7
  76. package/src/GroupBar.js +6 -2
  77. package/src/HorizontalBar.js +14 -10
  78. package/src/Line.js +2 -3
  79. package/src/StackBar.js +24 -7
  80. package/src/StackedArea.js +3 -2
  81. package/src/Tooltip.js +2 -2
  82. package/src/Venn.js +1 -1
  83. package/src/color.js +6 -32
  84. package/src/style/area.shadow.css +12 -2
  85. package/src/style/bar.shadow.css +7 -2
  86. package/src/style/donut.shadow.css +15 -0
  87. package/src/style/dot.shadow.css +6 -1
  88. package/src/style/line.shadow.css +6 -1
  89. package/src/style/tooltip.shadow.css +5 -0
  90. package/src/style/var.css +32 -0
  91. package/src/style/venn.shadow.css +7 -1
  92. package/src/types/Bar.d.ts +1 -1
  93. package/src/types/HorizontalBar.d.ts +1 -1
package/lib/cjs/Dots.js CHANGED
@@ -32,16 +32,17 @@ var style = (
32
32
  /*__reshadow_css_start__*/
33
33
  _core.sstyled.insert(
34
34
  /*__inner_css_start__*/
35
- ".___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}"
35
+ ".___SDot_mv0zc_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#50aef4;transition-property:cx,cy;transition-duration:var(--duration_1mcd7jn);transition-timing-function:ease-in-out}.___SDot_mv0zc_gg_.__color_mv0zc_gg_{fill:var(--color_1mcd7jn)}.___SDot_mv0zc_gg_.__hide_mv0zc_gg_{display:none}.___SDot_mv0zc_gg_.__active_mv0zc_gg_{r:8px}"
36
36
  /*__inner_css_end__*/
37
- , "8nea8t_gg_")
37
+ , "1mcd7jn_gg_")
38
38
  /*__reshadow_css_end__*/
39
39
  , {
40
- "__SDot": "___SDot_w2tzj_gg_",
41
- "--color": "--color_8nea8t",
42
- "--duration": "--duration_8nea8t",
43
- "_hide": "__hide_w2tzj_gg_",
44
- "_active": "__active_w2tzj_gg_"
40
+ "__SDot": "___SDot_mv0zc_gg_",
41
+ "--duration": "--duration_1mcd7jn",
42
+ "_color": "__color_mv0zc_gg_",
43
+ "--color": "--color_1mcd7jn",
44
+ "_hide": "__hide_mv0zc_gg_",
45
+ "_active": "__active_mv0zc_gg_"
45
46
  });
46
47
 
47
48
  function Dots(props) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dots.js"],"names":["Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","renderCircle","React","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":"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","sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport { FadeInOut } from '@semcore/animation';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, data, x, y]);\n\n const renderCircle = useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"circle\" {...props} />;\n }),\n [props],\n );\n\n return data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n if (!d3.defined()(d)) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render={renderCircle}\n visible={display || i === activeIndex || (!isPrev && !isNext)}\n __excludeProps={['data', 'scale', 'value', 'display']}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />,\n ),\n );\n return acc;\n }, []);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"file":"Dots.js"}
1
+ {"version":3,"sources":["../../src/Dots.js"],"names":["Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","renderCircle","React","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":"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","sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport { FadeInOut } from '@semcore/animation';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, data, x, y]);\n\n const renderCircle = useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"circle\" {...props} />;\n }),\n [props],\n );\n\n return data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n if (!d3.defined()(d)) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render={renderCircle}\n visible={display || i === activeIndex || (!isPrev && !isNext)}\n __excludeProps={['data', 'scale', 'value', 'display']}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />,\n ),\n );\n return acc;\n }, []);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"file":"Dots.js"}
@@ -42,14 +42,15 @@ var _ref = (
42
42
  /*__reshadow_css_start__*/
43
43
  (0, _core.__css__)(
44
44
  /*__inner_css_start__*/
45
- ".___SBar_rpo7o_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_rpo7o_gg_.__hide_rpo7o_gg_{display:none}.___SBackground_rpo7o_gg_{fill:#e4ecf1}"
45
+ ".___SBar_zphen_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_zphen_gg_.__color_zphen_gg_{fill:var(--color)}.___SBar_zphen_gg_.__hide_zphen_gg_{display:none}.___SBackground_zphen_gg_{fill:#e4ecf1}"
46
46
  /*__inner_css_end__*/
47
- , "ffco8l_gg_")
47
+ , "1fijs3a_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SBar": "___SBar_rpo7o_gg_",
51
- "_hide": "__hide_rpo7o_gg_",
52
- "__SBackground": "___SBackground_rpo7o_gg_"
50
+ "__SBar": "___SBar_zphen_gg_",
51
+ "_color": "__color_zphen_gg_",
52
+ "_hide": "__hide_zphen_gg_",
53
+ "__SBackground": "___SBackground_zphen_gg_"
53
54
  }),
54
55
  style = (0, _extends2["default"])({}, _ref);
55
56
 
@@ -76,11 +77,11 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
76
77
  if (scaleGroup) return scaleGroup;
77
78
 
78
79
  var domain = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
79
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === GroupBar.Bar) {
80
+ if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
80
81
  acc.push(child.props.y);
81
82
  }
82
83
 
83
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === GroupBar.HorizontalBar) {
84
+ if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
84
85
  acc.push(child.props.x);
85
86
  }
86
87
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GroupBar.js"],"names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","reduce","acc","child","isValidElement","type","GroupBar","Bar","push","props","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;IAIMA,Y;;;;;;;;;;;;WAKJ,yBAAgB;AAAA,0BAC6B,KAAKC,OADlC;AAAA,UACNC,QADM,iBACNA,QADM;AAAA,UACIC,KADJ,iBACIA,KADJ;AAAA,UACWC,UADX,iBACWA,UADX;AAAA,UACuBC,CADvB,iBACuBA,CADvB,EAEd;;AACA,UAAMC,OAAO,GAAGD,CAAC,GAAGF,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAApC;AAEA,UAAIC,UAAJ,EAAgB,OAAOA,UAAP;;AAEhB,UAAMG,MAAM,GAAGC,kBAAMN,QAAN,CAAeO,OAAf,CAAuB,mCAAkBP,QAAlB,CAAvB,EAAoDQ,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACxF,YAAI,gCAAMC,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACC,GAA3D,EAAgE;AAC9DL,UAAAA,GAAG,CAACM,IAAJ,CAASL,KAAK,CAACM,KAAN,CAAYC,CAArB;AACD;;AACD,YAAI,gCAAMN,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACK,aAA3D,EAA0E;AACxET,UAAAA,GAAG,CAACM,IAAJ,CAASL,KAAK,CAACM,KAAN,CAAYb,CAArB;AACD;;AACD,eAAOM,GAAP;AACD,OARc,EAQZ,EARY,CAAf;;AAUA,aAAOL,OAAO,CACXe,IADI,GAEJC,KAFI,CAEE,CAAC,CAAD,EAAIhB,OAAO,CAACiB,SAAR,EAAJ,CAFF,EAGJhB,MAHI,CAGGA,MAHH,EAIJiB,YAJI,CAISlB,OAAO,CAACmB,YAAR,EAJT,EAKJA,YALI,CAKS,CALT,CAAP;AAMD;;;WAED,4BAAmB;AAAA,UAALN,CAAK,SAALA,CAAK;AAAA,UACTd,CADS,GACH,KAAKJ,OADF,CACTI,CADS;AAGjB,aAAO;AACLqB,QAAAA,MAAM,EAAE,CAAC,KAAKtB,UAAL,CAAgBe,CAAhB,CAAD,EAAqB,CAArB,CADH;AAELQ,QAAAA,KAAK,EAAE,KAAKvB,UAAL,CAAgBmB,SAAhB,EAFF;AAGLlB,QAAAA,CAAC,EAADA;AAHK,OAAP;AAKD;;;WAED,sCAA6B;AAAA,UAALA,CAAK,SAALA,CAAK;AAAA,UACnBc,CADmB,GACb,KAAKlB,OADQ,CACnBkB,CADmB;AAG3B,aAAO;AACLO,QAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,KAAKtB,UAAL,CAAgBC,CAAhB,CAAJ,CADH;AAELuB,QAAAA,MAAM,EAAE,KAAKxB,UAAL,CAAgBmB,SAAhB,EAFH;AAGLJ,QAAAA,CAAC,EAADA;AAHK,OAAP;AAKD;;;WAED,kBAAS;AACP,UAAMU,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKzB,UAAL,GAAkB,KAAK0B,aAAL,EAAlB;AACA,0BAAO,gCAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,gBAAgB,EAAC,QAArC;AAA8C,QAAA,UAAU,EAAE,KAAK1B;AAA/D,QAAP;AACD;;;EAtDwB2B,e;;iCAArB/B,Y,iBACiB,U;iCADjBA,Y,WAGWgC,K;AAsDjB,IAAMjB,QAAQ,GAAG,+BAAcf,YAAd,EAA4B;AAC3CgB,EAAAA,GAAG,EAAHA,eAD2C;AAE3CI,EAAAA,aAAa,EAAbA;AAF2C,CAA5B,CAAjB;eAKeL,Q","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":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","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"}
@@ -42,16 +42,17 @@ var style = (
42
42
  /*__reshadow_css_start__*/
43
43
  _core.sstyled.insert(
44
44
  /*__inner_css_start__*/
45
- ".___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}"
45
+ ".___SBar_fx34p_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration_6qtpvs);transition-timing-function:ease-in-out}.___SBar_fx34p_gg_.__color_fx34p_gg_{fill:var(--color_6qtpvs)}.___SBar_fx34p_gg_.__hide_fx34p_gg_{display:none}.___SBackground_fx34p_gg_{fill:#e4ecf1}"
46
46
  /*__inner_css_end__*/
47
- , "10kcl1b_gg_")
47
+ , "6qtpvs_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SBar": "___SBar_17amb_gg_",
51
- "--color": "--color_10kcl1b",
52
- "--duration": "--duration_10kcl1b",
53
- "_hide": "__hide_17amb_gg_",
54
- "__SBackground": "___SBackground_17amb_gg_"
50
+ "__SBar": "___SBar_fx34p_gg_",
51
+ "--duration": "--duration_6qtpvs",
52
+ "_color": "__color_fx34p_gg_",
53
+ "--color": "--color_6qtpvs",
54
+ "_hide": "__hide_fx34p_gg_",
55
+ "__SBackground": "___SBackground_fx34p_gg_"
55
56
  });
56
57
 
57
58
  var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
@@ -104,7 +105,14 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
104
105
  var barX = xScale(Math.min((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0, d[x])) + offset[0];
105
106
  var height = heightProps || (0, _utils.getBandwidth)(yScale);
106
107
  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)));
107
- var isRounded = r !== 0;
108
+ var dSvg = getHorizontalRect({
109
+ x: barX,
110
+ y: barY,
111
+ width: width,
112
+ height: height,
113
+ radius: Array.isArray(r) ? r[i] : r,
114
+ position: d[x] > 0 ? 'right' : 'left'
115
+ });
108
116
  return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBar, _ref.cn("SBar", {
109
117
  "key": "horizontal-bar-".concat(i),
110
118
  "render": "path",
@@ -115,14 +123,11 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
115
123
  "index": i,
116
124
  "hide": hide,
117
125
  "color": color,
118
- "d": getHorizontalRect({
119
- x: isRounded ? d[x] > 0 ? barX : barX - r : barX,
120
- y: barY,
121
- width: isRounded ? width + r : width,
122
- height: height,
123
- radius: r,
124
- position: d[x] > 0 ? 'right' : 'left'
125
- }),
126
+ "x": barX,
127
+ "y": barY,
128
+ "width": width,
129
+ "height": height,
130
+ "d": dSvg,
126
131
  "use:duration": "".concat(duration, "ms"),
127
132
  "onMouseMove": onMouseMove,
128
133
  "onMouseLeave": onMouseLeave
@@ -156,7 +161,6 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
156
161
  (0, _defineProperty2["default"])(HorizontalBarRoot, "enhance", [(0, _uniqueID["default"])()]);
157
162
  (0, _defineProperty2["default"])(HorizontalBarRoot, "style", style);
158
163
  (0, _defineProperty2["default"])(HorizontalBarRoot, "defaultProps", {
159
- color: '#50aef4',
160
164
  offset: [0, 0],
161
165
  duration: 500,
162
166
  r: 2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/HorizontalBar.js"],"names":["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","getHorizontalRect","radius","position","size","map","renderBar","bind","rect","setAttribute","Component","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 const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));\n const isRounded = r !== 0;\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 d={getHorizontalRect({\n x: isRounded ? (d[x] > 0 ? barX : barX - r) : barX,\n y: barY,\n width: isRounded ? width + r : width,\n height,\n radius: r,\n position: d[x] > 0 ? 'right' : 'left',\n })}\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":["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","Component","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 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/cjs/Hover.js CHANGED
@@ -44,13 +44,13 @@ var style = (
44
44
  /*__reshadow_css_start__*/
45
45
  _core.sstyled.insert(
46
46
  /*__inner_css_start__*/
47
- ".___SHoverLine_8imgf_gg_{stroke:#a6b0b3}.___SHoverRect_8imgf_gg_{fill:rgba(152,170,175,.3)}"
47
+ ".___SHoverLine_1yr53_gg_{stroke:#a6b0b3}.___SHoverRect_1yr53_gg_{fill:rgba(152,170,175,.3)}"
48
48
  /*__inner_css_end__*/
49
49
  , "1tjsi7e_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SHoverLine": "___SHoverLine_8imgf_gg_",
53
- "__SHoverRect": "___SHoverRect_8imgf_gg_"
52
+ "__SHoverLine": "___SHoverLine_1yr53_gg_",
53
+ "__SHoverRect": "___SHoverRect_1yr53_gg_"
54
54
  });
55
55
 
56
56
  var Hover = /*#__PURE__*/function (_Component) {
package/lib/cjs/Line.js CHANGED
@@ -46,16 +46,17 @@ var style = (
46
46
  /*__reshadow_css_start__*/
47
47
  _core.sstyled.insert(
48
48
  /*__inner_css_start__*/
49
- ".___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}"
49
+ ".___SLine_kdgn0_gg_{fill:transparent;stroke-width:3;stroke:#50aef4;transition-property:d;transition-duration:var(--duration_1lu5daw);transition-timing-function:ease-in-out}.___SLine_kdgn0_gg_.__color_kdgn0_gg_{stroke:var(--color_1lu5daw)}.___SLine_kdgn0_gg_.__hide_kdgn0_gg_{display:none}.___SNull_kdgn0_gg_{fill:transparent;stroke:#98aaaf;stroke-dasharray:4}.___SNull_kdgn0_gg_.__hide_kdgn0_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "153xqfw_gg_")
51
+ , "1lu5daw_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SLine": "___SLine_1f96p_gg_",
55
- "--color": "--color_153xqfw",
56
- "--duration": "--duration_153xqfw",
57
- "_hide": "__hide_1f96p_gg_",
58
- "__SNull": "___SNull_1f96p_gg_"
54
+ "__SLine": "___SLine_kdgn0_gg_",
55
+ "--duration": "--duration_1lu5daw",
56
+ "_color": "__color_kdgn0_gg_",
57
+ "--color": "--color_1lu5daw",
58
+ "_hide": "__hide_kdgn0_gg_",
59
+ "__SNull": "___SNull_kdgn0_gg_"
59
60
  });
60
61
 
61
62
  var LineRoot = /*#__PURE__*/function (_Component) {
@@ -145,11 +146,13 @@ var LineRoot = /*#__PURE__*/function (_Component) {
145
146
  y = _ref3.y,
146
147
  $rootProps = _ref3.$rootProps,
147
148
  _ref3$curve = _ref3.curve,
148
- curve = _ref3$curve === void 0 ? _d3Shape.curveLinear : _ref3$curve;
149
+ curve = _ref3$curve === void 0 ? _d3Shape.curveLinear : _ref3$curve,
150
+ scale = _ref3.scale;
149
151
 
150
- var _$rootProps$scale = (0, _slicedToArray2["default"])($rootProps.scale, 2),
151
- xScale = _$rootProps$scale[0],
152
- yScale = _$rootProps$scale[1];
152
+ var _ref4 = scale || $rootProps.scale,
153
+ _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
154
+ xScale = _ref5[0],
155
+ yScale = _ref5[1];
153
156
 
154
157
  return {
155
158
  d3: (0, _d3Shape.line)().defined((0, _utils.definedData)(x, y)).curve(curve).x(function (p) {
@@ -157,7 +160,6 @@ var LineRoot = /*#__PURE__*/function (_Component) {
157
160
  }).y(function (p) {
158
161
  return (0, _utils.scaleOfBandwidth)(yScale, p[y]);
159
162
  }),
160
- color: '#50aef4',
161
163
  duration: 500
162
164
  };
163
165
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Line.js"],"names":["LineRoot","asProps","x","y","d3","color","data","SLine","Element","styles","hide","uid","size","duration","rect","setAttribute","Component","style","$rootProps","curve","curveLinear","scale","xScale","yScale","defined","p","Null","props","SNull","Dots"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/line.shadow.css';\n\nclass LineRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, $rootProps, curve = curveLinear }) => {\n const [xScale, yScale] = $rootProps.scale;\n return {\n d3: d3Line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n color: '#50aef4',\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, d3, color } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, data } = this.asProps;\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, uid, size, d3, data, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SLine\n clipPath={`url(#${uid})`}\n render=\"path\"\n hide={hide}\n color={color}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\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 Null(props) {\n const { Element: SNull, styles, d3, data, hide } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} />);\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n});\n"],"file":"Line.js"}
1
+ {"version":3,"sources":["../../src/Line.js"],"names":["LineRoot","asProps","x","y","d3","color","data","SLine","Element","styles","hide","uid","size","duration","rect","setAttribute","Component","style","$rootProps","curve","curveLinear","scale","xScale","yScale","defined","p","Null","props","SNull","Dots"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/line.shadow.css';\n\nclass LineRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n return {\n d3: d3Line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, d3, color } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, data } = this.asProps;\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, uid, size, d3, data, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SLine\n clipPath={`url(#${uid})`}\n render=\"path\"\n hide={hide}\n color={color}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\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 Null(props) {\n const { Element: SNull, styles, d3, data, hide } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} />);\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n});\n"],"file":"Line.js"}
@@ -48,14 +48,15 @@ var _ref = (
48
48
  /*__reshadow_css_start__*/
49
49
  (0, _core.__css__)(
50
50
  /*__inner_css_start__*/
51
- ".___SBar_1tblu_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1tblu_gg_.__hide_1tblu_gg_{display:none}.___SBackground_1tblu_gg_{fill:#e4ecf1}"
51
+ ".___SBar_jj14u_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_jj14u_gg_.__color_jj14u_gg_{fill:var(--color)}.___SBar_jj14u_gg_.__hide_jj14u_gg_{display:none}.___SBackground_jj14u_gg_{fill:#e4ecf1}"
52
52
  /*__inner_css_end__*/
53
- , "octhth_gg_")
53
+ , "1iy4upi_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SBar": "___SBar_1tblu_gg_",
57
- "_hide": "__hide_1tblu_gg_",
58
- "__SBackground": "___SBackground_1tblu_gg_"
56
+ "__SBar": "___SBar_jj14u_gg_",
57
+ "_color": "__color_jj14u_gg_",
58
+ "_hide": "__hide_jj14u_gg_",
59
+ "__SBackground": "___SBackground_jj14u_gg_"
59
60
  }),
60
61
  style = (0, _extends2["default"])({}, _ref);
61
62
 
@@ -82,11 +83,11 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
82
83
 
83
84
  if (stack[DEFAULT_INSTANCE]) {
84
85
  var keys = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
85
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackBar.Bar) {
86
+ if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
86
87
  acc.push(child.props.y);
87
88
  }
88
89
 
89
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackBar.HorizontalBar) {
90
+ if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
90
91
  acc.push(child.props.x);
91
92
  }
92
93
 
@@ -101,10 +102,21 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
101
102
  }, {
102
103
  key: "getBarProps",
103
104
  value: function getBarProps(_ref2) {
105
+ var _this = this;
106
+
104
107
  var y = _ref2.y;
105
- var x = this.asProps.x;
106
- var series = this.series.find(function (s) {
108
+ var _this$asProps2 = this.asProps,
109
+ x = _this$asProps2.x,
110
+ r = _this$asProps2.r;
111
+ var seriesIndex = this.series.findIndex(function (s) {
107
112
  return s.key === y;
113
+ }); // or [] if hide bar
114
+
115
+ var series = this.series[seriesIndex] || [];
116
+ var rBar = series.map(function (s, i) {
117
+ return _this.series.slice(seriesIndex + 1).some(function (bar) {
118
+ return bar[i][0] !== bar[i][1];
119
+ }) ? 0 : r;
108
120
  });
109
121
  return {
110
122
  data: series.map(function (s) {
@@ -113,17 +125,28 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
113
125
  return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, (0, _defineProperty2["default"])(_objectSpread2, y, s[1]), (0, _defineProperty2["default"])(_objectSpread2, XY0, s[0]), _objectSpread2));
114
126
  }),
115
127
  y0: XY0,
116
- x: x
128
+ x: x,
129
+ r: rBar
117
130
  };
118
131
  }
119
132
  }, {
120
133
  key: "getHorizontalBarProps",
121
134
  value: function getHorizontalBarProps(_ref3) {
135
+ var _this2 = this;
136
+
122
137
  var x = _ref3.x;
123
- var y = this.asProps.y;
124
- var series = this.series.find(function (s) {
138
+ var _this$asProps3 = this.asProps,
139
+ y = _this$asProps3.y,
140
+ r = _this$asProps3.r;
141
+ var seriesIndex = this.series.findIndex(function (s) {
125
142
  return s.key === x;
126
143
  });
144
+ var series = this.series[seriesIndex];
145
+ var rBar = series.map(function (s, i) {
146
+ return _this2.series.slice(seriesIndex + 1).some(function (bar) {
147
+ return bar[i][0] !== bar[i][1];
148
+ }) ? 0 : r;
149
+ });
127
150
  return {
128
151
  data: series.map(function (s) {
129
152
  var _objectSpread3;
@@ -131,7 +154,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
131
154
  return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread3 = {}, (0, _defineProperty2["default"])(_objectSpread3, x, s[1]), (0, _defineProperty2["default"])(_objectSpread3, XY0, s[0]), _objectSpread3));
132
155
  }),
133
156
  x0: XY0,
134
- y: y
157
+ y: y,
158
+ r: rBar
135
159
  };
136
160
  }
137
161
  }, {
@@ -154,7 +178,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
154
178
  var stack = (0, _d3Shape.stack)();
155
179
  stack[DEFAULT_INSTANCE] = true;
156
180
  return {
157
- stack: stack
181
+ stack: stack,
182
+ r: 2
158
183
  };
159
184
  });
160
185
  var StackBar = (0, _createElement["default"])(StackBarRoot, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackBar.js"],"names":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","reduce","acc","child","isValidElement","type","StackBar","Bar","push","props","y","HorizontalBar","x","series","find","s","key","map","y0","x0","Element","getSeries","Component","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":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","Component","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"}
@@ -46,15 +46,16 @@ var _ref = (
46
46
  /*__reshadow_css_start__*/
47
47
  (0, _core.__css__)(
48
48
  /*__inner_css_start__*/
49
- ".___SArea_4b1rs_gg_{fill:var(--color);fill-opacity:.4}.___SAreaLine_4b1rs_gg_{stroke:var(--color);stroke-width:3;fill:transparent}.___SArea_4b1rs_gg_,.___SAreaLine_4b1rs_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_4b1rs_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_4b1rs_gg_.__hide_4b1rs_gg_{display:none}"
49
+ ".___SArea_zz80o_gg_{fill:#50aef4;fill-opacity:.4}.___SArea_zz80o_gg_.__color_zz80o_gg_{fill:var(--color)}.___SAreaLine_zz80o_gg_{stroke:#50aef4;stroke-width:3;fill:transparent}.___SAreaLine_zz80o_gg_.__color_zz80o_gg_{stroke:var(--color)}.___SArea_zz80o_gg_,.___SAreaLine_zz80o_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_zz80o_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_zz80o_gg_.__hide_zz80o_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "1u8tou5_gg_")
51
+ , "1vghdzd_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SArea": "___SArea_4b1rs_gg_",
55
- "__SAreaLine": "___SAreaLine_4b1rs_gg_",
56
- "__SNull": "___SNull_4b1rs_gg_",
57
- "_hide": "__hide_4b1rs_gg_"
54
+ "__SArea": "___SArea_zz80o_gg_",
55
+ "_color": "__color_zz80o_gg_",
56
+ "__SAreaLine": "___SAreaLine_zz80o_gg_",
57
+ "__SNull": "___SNull_zz80o_gg_",
58
+ "_hide": "__hide_zz80o_gg_"
58
59
  }),
59
60
  style = (0, _extends2["default"])({}, _ref);
60
61
 
@@ -81,7 +82,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
81
82
 
82
83
  if (stack[DEFAULT_INSTANCE]) {
83
84
  var keys = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
84
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackedArea.Area) {
85
+ if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
85
86
  acc.push(child.props.y);
86
87
  }
87
88
 
@@ -97,10 +98,11 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
97
98
  key: "getAreaProps",
98
99
  value: function getAreaProps(_ref2) {
99
100
  var y = _ref2.y;
100
- var x = this.asProps.x;
101
+ var x = this.asProps.x; // or [] if hide area
102
+
101
103
  var series = this.series.find(function (s) {
102
104
  return s.key === y;
103
- });
105
+ }) || [];
104
106
  return {
105
107
  data: series.map(function (s) {
106
108
  var _objectSpread2;
@@ -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"}
@@ -35,12 +35,12 @@ var _flexBox = require("@semcore/flex-box");
35
35
 
36
36
  var _findComponent = _interopRequireDefault(require("@semcore/utils/lib/findComponent"));
37
37
 
38
- var _color = _interopRequireDefault(require("@semcore/utils/lib/color"));
39
-
40
38
  var _utils = require("./utils");
41
39
 
42
40
  var _createElement = _interopRequireDefault(require("./createElement"));
43
41
 
42
+ var _color = _interopRequireDefault(require("@semcore/utils/lib/color"));
43
+
44
44
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
45
45
 
46
46
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -54,16 +54,17 @@ 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_1rv9e_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_1rv9e_gg_{font-size:12px;line-height:1.5;color:#757575;margin-bottom:8px}.___SDotGroup_1rv9e_gg_{display:flex;align-items:center}.___SDot_1rv9e_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#50aef4}.___SDot_1rv9e_gg_.__color_1rv9e_gg_{background:var(--color_1rmqsj5)}"
58
58
  /*__inner_css_end__*/
59
- , "1vsdjfi_gg_")
59
+ , "1rmqsj5_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_",
66
- "--color": "--color_1vsdjfi"
62
+ "__STooltip": "___STooltip_1rv9e_gg_",
63
+ "__STitle": "___STitle_1rv9e_gg_",
64
+ "__SDotGroup": "___SDotGroup_1rv9e_gg_",
65
+ "__SDot": "___SDot_1rv9e_gg_",
66
+ "_color": "__color_1rv9e_gg_",
67
+ "--color": "--color_1rmqsj5"
67
68
  });
68
69
 
69
70
  var TooltipRoot = /*#__PURE__*/function (_Component) {
@@ -209,8 +210,7 @@ function Dot(props) {
209
210
  _ref6;
210
211
 
211
212
  var styles = props.styles,
212
- _props$color = props.color,
213
- color = _props$color === void 0 ? '#50aef4' : _props$color,
213
+ color = props.color,
214
214
  Children = props.Children;
215
215
  var SDotGroup = _flexBox.Box;
216
216
  var SDot = _flexBox.Box;