@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
@@ -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","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 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":["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 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_1yr53_gg_{stroke:#a6b0b3}.___SHoverRect_1yr53_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_1yr53_gg_",
33
+ "__SHoverRect": "___SHoverRect_1yr53_gg_"
34
34
  });
35
35
 
36
36
  var Hover = /*#__PURE__*/function (_Component) {
package/lib/es6/Line.js CHANGED
@@ -25,16 +25,17 @@ 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_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}"
29
29
  /*__inner_css_end__*/
30
- , "153xqfw_gg_")
30
+ , "1lu5daw_gg_")
31
31
  /*__reshadow_css_end__*/
32
32
  , {
33
- "__SLine": "___SLine_1f96p_gg_",
34
- "--color": "--color_153xqfw",
35
- "--duration": "--duration_153xqfw",
36
- "_hide": "__hide_1f96p_gg_",
37
- "__SNull": "___SNull_1f96p_gg_"
33
+ "__SLine": "___SLine_kdgn0_gg_",
34
+ "--duration": "--duration_1lu5daw",
35
+ "_color": "__color_kdgn0_gg_",
36
+ "--color": "--color_1lu5daw",
37
+ "_hide": "__hide_kdgn0_gg_",
38
+ "__SNull": "___SNull_kdgn0_gg_"
38
39
  });
39
40
 
40
41
  var LineRoot = /*#__PURE__*/function (_Component) {
@@ -129,11 +130,13 @@ _defineProperty(LineRoot, "defaultProps", function (_ref3) {
129
130
  y = _ref3.y,
130
131
  $rootProps = _ref3.$rootProps,
131
132
  _ref3$curve = _ref3.curve,
132
- curve = _ref3$curve === void 0 ? curveLinear : _ref3$curve;
133
+ curve = _ref3$curve === void 0 ? curveLinear : _ref3$curve,
134
+ scale = _ref3.scale;
133
135
 
134
- var _$rootProps$scale = _slicedToArray($rootProps.scale, 2),
135
- xScale = _$rootProps$scale[0],
136
- yScale = _$rootProps$scale[1];
136
+ var _ref4 = scale || $rootProps.scale,
137
+ _ref5 = _slicedToArray(_ref4, 2),
138
+ xScale = _ref5[0],
139
+ yScale = _ref5[1];
137
140
 
138
141
  return {
139
142
  d3: d3Line().defined(definedData(x, y)).curve(curve).x(function (p) {
@@ -141,7 +144,6 @@ _defineProperty(LineRoot, "defaultProps", function (_ref3) {
141
144
  }).y(function (p) {
142
145
  return scaleOfBandwidth(yScale, p[y]);
143
146
  }),
144
- color: '#50aef4',
145
147
  duration: 500
146
148
  };
147
149
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Line.js"],"names":["React","curveLinear","line","d3Line","Component","sstyled","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","Dots","ClipPath","uniqueIDEnhancement","LineRoot","asProps","x","y","d3","color","data","SLine","Element","styles","hide","uid","size","duration","rect","setAttribute","style","$rootProps","curve","scale","xScale","yScale","defined","p","Null","props","SNull"],"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":["React","curveLinear","line","d3Line","Component","sstyled","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","Dots","ClipPath","uniqueIDEnhancement","LineRoot","asProps","x","y","d3","color","data","SLine","Element","styles","hide","uid","size","duration","rect","setAttribute","style","$rootProps","curve","scale","xScale","yScale","defined","p","Null","props","SNull"],"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"}
@@ -27,14 +27,15 @@ var _ref = (
27
27
  /*__reshadow_css_start__*/
28
28
  __css__(
29
29
  /*__inner_css_start__*/
30
- ".___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}"
30
+ ".___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}"
31
31
  /*__inner_css_end__*/
32
- , "octhth_gg_")
32
+ , "1iy4upi_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SBar": "___SBar_1tblu_gg_",
36
- "_hide": "__hide_1tblu_gg_",
37
- "__SBackground": "___SBackground_1tblu_gg_"
35
+ "__SBar": "___SBar_jj14u_gg_",
36
+ "_color": "__color_jj14u_gg_",
37
+ "_hide": "__hide_jj14u_gg_",
38
+ "__SBackground": "___SBackground_jj14u_gg_"
38
39
  }),
39
40
  style = _extends({}, _ref);
40
41
 
@@ -62,11 +63,11 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
62
63
 
63
64
  if (stack[DEFAULT_INSTANCE]) {
64
65
  var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
65
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar) {
66
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
66
67
  acc.push(child.props.y);
67
68
  }
68
69
 
69
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar) {
70
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
70
71
  acc.push(child.props.x);
71
72
  }
72
73
 
@@ -80,10 +81,21 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
80
81
  }, {
81
82
  key: "getBarProps",
82
83
  value: function getBarProps(_ref2) {
84
+ var _this = this;
85
+
83
86
  var y = _ref2.y;
84
- var x = this.asProps.x;
85
- var series = this.series.find(function (s) {
87
+ var _this$asProps2 = this.asProps,
88
+ x = _this$asProps2.x,
89
+ r = _this$asProps2.r;
90
+ var seriesIndex = this.series.findIndex(function (s) {
86
91
  return s.key === y;
92
+ }); // or [] if hide bar
93
+
94
+ var series = this.series[seriesIndex] || [];
95
+ var rBar = series.map(function (s, i) {
96
+ return _this.series.slice(seriesIndex + 1).some(function (bar) {
97
+ return bar[i][0] !== bar[i][1];
98
+ }) ? 0 : r;
87
99
  });
88
100
  return {
89
101
  data: series.map(function (s) {
@@ -92,17 +104,28 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
92
104
  return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, y, s[1]), _defineProperty(_objectSpread2, XY0, s[0]), _objectSpread2));
93
105
  }),
94
106
  y0: XY0,
95
- x: x
107
+ x: x,
108
+ r: rBar
96
109
  };
97
110
  }
98
111
  }, {
99
112
  key: "getHorizontalBarProps",
100
113
  value: function getHorizontalBarProps(_ref3) {
114
+ var _this2 = this;
115
+
101
116
  var x = _ref3.x;
102
- var y = this.asProps.y;
103
- var series = this.series.find(function (s) {
117
+ var _this$asProps3 = this.asProps,
118
+ y = _this$asProps3.y,
119
+ r = _this$asProps3.r;
120
+ var seriesIndex = this.series.findIndex(function (s) {
104
121
  return s.key === x;
105
122
  });
123
+ var series = this.series[seriesIndex];
124
+ var rBar = series.map(function (s, i) {
125
+ return _this2.series.slice(seriesIndex + 1).some(function (bar) {
126
+ return bar[i][0] !== bar[i][1];
127
+ }) ? 0 : r;
128
+ });
106
129
  return {
107
130
  data: series.map(function (s) {
108
131
  var _objectSpread3;
@@ -110,7 +133,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
110
133
  return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, x, s[1]), _defineProperty(_objectSpread3, XY0, s[0]), _objectSpread3));
111
134
  }),
112
135
  x0: XY0,
113
- y: y
136
+ y: y,
137
+ r: rBar
114
138
  };
115
139
  }
116
140
  }, {
@@ -136,7 +160,8 @@ _defineProperty(StackBarRoot, "defaultProps", function () {
136
160
  var stack = d3Stack();
137
161
  stack[DEFAULT_INSTANCE] = true;
138
162
  return {
139
- stack: stack
163
+ stack: stack,
164
+ r: 2
140
165
  };
141
166
  });
142
167
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackBar.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","push","props","y","x","series","find","s","key","map","y0","x0","Element","getSeries","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar) {\n acc.push(child.props.y);\n }\n if (React.isValidElement(child) && child.type === StackBar.HorizontalBar) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n const series = this.series.find((s) => s.key === y);\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n y0: XY0,\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n const series = this.series.find((s) => s.key === x);\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n x0: XY0,\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
1
+ {"version":3,"sources":["../../src/StackBar.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n y0: XY0,\n x,\n r: rBar,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n x0: XY0,\n y,\n r: rBar,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
@@ -26,15 +26,16 @@ var _ref = (
26
26
  /*__reshadow_css_start__*/
27
27
  __css__(
28
28
  /*__inner_css_start__*/
29
- ".___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}"
29
+ ".___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}"
30
30
  /*__inner_css_end__*/
31
- , "1u8tou5_gg_")
31
+ , "1vghdzd_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SArea": "___SArea_4b1rs_gg_",
35
- "__SAreaLine": "___SAreaLine_4b1rs_gg_",
36
- "__SNull": "___SNull_4b1rs_gg_",
37
- "_hide": "__hide_4b1rs_gg_"
34
+ "__SArea": "___SArea_zz80o_gg_",
35
+ "_color": "__color_zz80o_gg_",
36
+ "__SAreaLine": "___SAreaLine_zz80o_gg_",
37
+ "__SNull": "___SNull_zz80o_gg_",
38
+ "_hide": "__hide_zz80o_gg_"
38
39
  }),
39
40
  style = _extends({}, _ref);
40
41
 
@@ -62,7 +63,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
62
63
 
63
64
  if (stack[DEFAULT_INSTANCE]) {
64
65
  var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
65
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area) {
66
+ if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
66
67
  acc.push(child.props.y);
67
68
  }
68
69
 
@@ -77,10 +78,11 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
77
78
  key: "getAreaProps",
78
79
  value: function getAreaProps(_ref2) {
79
80
  var y = _ref2.y;
80
- var x = this.asProps.x;
81
+ var x = this.asProps.x; // or [] if hide area
82
+
81
83
  var series = this.series.find(function (s) {
82
84
  return s.key === y;
83
- });
85
+ }) || [];
84
86
  return {
85
87
  data: series.map(function (s) {
86
88
  var _objectSpread2;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackedArea.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","push","props","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;;WAWJ,qBAAY;AAAA,0BACwB,KAAKC,OAD7B;AAAA,UACFC,QADE,iBACFA,QADE;AAAA,UACQC,IADR,iBACQA,IADR;AAAA,UACcZ,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;AAC3B,YAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA9D,EAAoE;AAClEW,YAAAA,GAAG,CAACK,IAAJ,CAASJ,KAAK,CAACK,KAAN,CAAYC,CAArB;AACD;;AACD,iBAAOP,GAAP;AACD,SALY,EAKV,EALU,CAAb;AAMAhB,QAAAA,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACW,OAAL,EAAX;AACD;;AAED,aAAOxB,KAAK,CAACY,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALW,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKf,OADD,CACVe,CADU;AAElB,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,CAAf;AACA,aAAO;AACLX,QAAAA,IAAI,EAAEc,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAAChB,IADU,6DAGdW,CAHc,EAGVK,CAAC,CAAChB,IAAF,CAAOW,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdpB,EAJc,EAIToB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAEvB,EAPC;AAQLiB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;;EA9C2BxB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGWyB,K;;gBAHXzB,e,kBAKkB,YAAM;AAC1B,MAAMT,KAAK,GAAGC,OAAO,EAArB;AACAD,EAAAA,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEN,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;;AAwCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;AAAEJ,EAAAA,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n const series = this.series.find((s) => s.key === y);\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
1
+ {"version":3,"sources":["../../src/StackedArea.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;;WAWJ,qBAAY;AAAA,0BACwB,KAAKC,OAD7B;AAAA,UACFC,QADE,iBACFA,QADE;AAAA,UACQC,IADR,iBACQA,IADR;AAAA,UACcZ,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;AAC3B,YAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA1D,IAAkE,CAACY,KAAK,CAACI,KAAN,CAAYC,IAAnF,EAAyF;AACvFN,YAAAA,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;AACD;;AACD,iBAAOR,GAAP;AACD,SALY,EAKV,EALU,CAAb;AAMAhB,QAAAA,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACY,OAAL,EAAX;AACD;;AAED,aAAOzB,KAAK,CAACY,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALY,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKhB,OADD,CACVgB,CADU,EAElB;;AACA,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,KAAwC,EAAvD;AACA,aAAO;AACLZ,QAAAA,IAAI,EAAEe,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAACjB,IADU,6DAGdY,CAHc,EAGVK,CAAC,CAACjB,IAAF,CAAOY,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdrB,EAJc,EAITqB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAExB,EAPC;AAQLkB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;;EA/C2BzB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGW0B,K;;gBAHX1B,e,kBAKkB,YAAM;AAC1B,MAAMT,KAAK,GAAGC,OAAO,EAArB;AACAD,EAAAA,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEN,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;;AAyCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;AAAEJ,EAAAA,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
@@ -24,25 +24,26 @@ import { Component, Root, sstyled } from '@semcore/core';
24
24
  import Popper from '@semcore/popper';
25
25
  import { Box } from '@semcore/flex-box';
26
26
  import findComponent from '@semcore/utils/lib/findComponent';
27
- import resolveColor from '@semcore/utils/lib/color';
28
27
  import { CONSTANT } from './utils';
29
28
  import createElement from './createElement';
29
+ import resolveColor from '@semcore/utils/lib/color';
30
30
 
31
31
  /*__reshadow-styles__:"./style/tooltip.shadow.css"*/
32
32
  var style = (
33
33
  /*__reshadow_css_start__*/
34
34
  _sstyled.insert(
35
35
  /*__inner_css_start__*/
36
- ".___STooltip_1tt9g_gg_{position:relative;background-color:#fff;border-radius:3px;border:1px solid #bdc4c6;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.25),0 -2px 5px -2px rgba(0,0,0,.25);padding:12px}.___STitle_1tt9g_gg_{font-size:12px;line-height:1.5;color:#757575;margin-bottom:8px}.___SDotGroup_1tt9g_gg_{display:flex;align-items:center}.___SDot_1tt9g_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--color_1vsdjfi)}"
36
+ ".___STooltip_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)}"
37
37
  /*__inner_css_end__*/
38
- , "1vsdjfi_gg_")
38
+ , "1rmqsj5_gg_")
39
39
  /*__reshadow_css_end__*/
40
40
  , {
41
- "__STooltip": "___STooltip_1tt9g_gg_",
42
- "__STitle": "___STitle_1tt9g_gg_",
43
- "__SDotGroup": "___SDotGroup_1tt9g_gg_",
44
- "__SDot": "___SDot_1tt9g_gg_",
45
- "--color": "--color_1vsdjfi"
41
+ "__STooltip": "___STooltip_1rv9e_gg_",
42
+ "__STitle": "___STitle_1rv9e_gg_",
43
+ "__SDotGroup": "___SDotGroup_1rv9e_gg_",
44
+ "__SDot": "___SDot_1rv9e_gg_",
45
+ "_color": "__color_1rv9e_gg_",
46
+ "--color": "--color_1rmqsj5"
46
47
  });
47
48
 
48
49
  var TooltipRoot = /*#__PURE__*/function (_Component) {
@@ -194,8 +195,7 @@ function Dot(props) {
194
195
  _ref6;
195
196
 
196
197
  var styles = props.styles,
197
- _props$color = props.color,
198
- color = _props$color === void 0 ? '#50aef4' : _props$color,
198
+ color = props.color,
199
199
  Children = props.Children;
200
200
  var SDotGroup = Box;
201
201
  var SDot = Box;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tooltip.js"],"names":["React","useCallback","Component","Root","sstyled","Popper","Box","findComponent","resolveColor","CONSTANT","createElement","TooltipRoot","$visible","asProps","x","y","state","eventEmitter","rootRef","unsubscribeTooltipVisible","subscribe","visible","data","node","setState","VIRTUAL_ELEMENT","current","contains","setPopperTrigger","popper","update","Children","children","tag","other","advanceMode","Tooltip","Trigger","displayName","handlerCancel","allowedAutoPlacements","setTrigger","style","PopperPopper","props","STooltip","Element","styles","Title","STitle","Dot","color","SDotGroup","SDot","Footer"],"mappings":"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","sourcesContent":["import React, { useCallback } from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Popper from '@semcore/popper';\nimport { Box } from '@semcore/flex-box';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport resolveColor from '@semcore/utils/lib/color';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\n\nimport style from './style/tooltip.shadow.css';\n\nclass TooltipRoot extends Component {\n static displayName = 'Tooltip';\n\n static style = style;\n\n state = {\n $visible: false,\n };\n\n handlerCancel = () => false;\n\n getTriggerProps() {\n // TODO: как то убрать\n const { x, y } = this.asProps;\n return { x, y };\n }\n\n getPopperProps() {\n return {\n ...this.state,\n };\n }\n\n componentDidMount() {\n const { eventEmitter, rootRef } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n (visible, data, node) => {\n this.setState(\n {\n // TODO: тут бага если одно поля нету,то оно не перезапишет стейт\n ...data,\n $visible: visible,\n },\n () => {\n if (node && (node[CONSTANT.VIRTUAL_ELEMENT] || rootRef.current.contains(node))) {\n this?.setPopperTrigger(node);\n this.popper.current?.update();\n }\n },\n );\n },\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Children, children, tag, ...other } = this.asProps;\n\n const advanceMode = !!findComponent(Children, [\n Tooltip.Trigger.displayName,\n Tooltip.Popper.displayName,\n ]);\n return (\n <Root\n render={Popper}\n visible={this.state.$visible}\n onFirstUpdate={this.handlerCancel}\n onOutsideClick={this.handlerCancel}\n interaction=\"none\"\n offset={8}\n flip={{ allowedAutoPlacements: ['left', 'right'] }}\n >\n {({ popper, setTrigger }) => {\n this.setPopperTrigger = setTrigger;\n this.popper = popper;\n this.popper.current?.update();\n return advanceMode ? (\n <Children />\n ) : (\n <>\n {tag && <Tooltip.Trigger tag={tag} />}\n <Tooltip.Popper {...other}>{children}</Tooltip.Popper>\n </>\n );\n }}\n </Root>\n );\n }\n}\n\nfunction PopperPopper(props) {\n const { Element: STooltip, styles, $visible } = props;\n\n const handlerCancel = useCallback(() => false, []);\n\n if (!$visible) return null;\n\n return sstyled(styles)(\n <STooltip render={Popper.Popper} childrenPosition=\"inside\" onMouseMove={handlerCancel} />,\n );\n}\n\nfunction Title(props) {\n const STitle = Root;\n const { styles } = props;\n return sstyled(styles)(<STitle render={Box} __excludeProps={['data', 'scale']} />);\n}\n\nfunction Dot(props) {\n const { styles, color = '#50aef4', Children } = props;\n const SDotGroup = Root;\n const SDot = Box;\n return sstyled(styles)(\n <SDotGroup render={Box}>\n <SDot __excludeProps={['data', 'scale']} color={resolveColor(color)} />\n <Children />\n </SDotGroup>,\n );\n}\n\nfunction Footer() {\n return null;\n}\n\nconst Tooltip = createElement(TooltipRoot, {\n Trigger: Popper.Trigger,\n Popper: PopperPopper,\n Title,\n Footer,\n Dot,\n});\n\nexport default Tooltip;\n"],"file":"Tooltip.js"}
1
+ {"version":3,"sources":["../../src/Tooltip.js"],"names":["React","useCallback","Component","Root","sstyled","Popper","Box","findComponent","CONSTANT","createElement","resolveColor","TooltipRoot","$visible","asProps","x","y","state","eventEmitter","rootRef","unsubscribeTooltipVisible","subscribe","visible","data","node","setState","VIRTUAL_ELEMENT","current","contains","setPopperTrigger","popper","update","Children","children","tag","other","advanceMode","Tooltip","Trigger","displayName","handlerCancel","allowedAutoPlacements","setTrigger","style","PopperPopper","props","STooltip","Element","styles","Title","STitle","Dot","color","SDotGroup","SDot","Footer"],"mappings":"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","sourcesContent":["import React, { useCallback } from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Popper from '@semcore/popper';\nimport { Box } from '@semcore/flex-box';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport resolveColor from '@semcore/utils/lib/color';\n\nimport style from './style/tooltip.shadow.css';\n\nclass TooltipRoot extends Component {\n static displayName = 'Tooltip';\n\n static style = style;\n\n state = {\n $visible: false,\n };\n\n handlerCancel = () => false;\n\n getTriggerProps() {\n // TODO: как то убрать\n const { x, y } = this.asProps;\n return { x, y };\n }\n\n getPopperProps() {\n return {\n ...this.state,\n };\n }\n\n componentDidMount() {\n const { eventEmitter, rootRef } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n (visible, data, node) => {\n this.setState(\n {\n // TODO: тут бага если одно поля нету,то оно не перезапишет стейт\n ...data,\n $visible: visible,\n },\n () => {\n if (node && (node[CONSTANT.VIRTUAL_ELEMENT] || rootRef.current.contains(node))) {\n this?.setPopperTrigger(node);\n this.popper.current?.update();\n }\n },\n );\n },\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Children, children, tag, ...other } = this.asProps;\n\n const advanceMode = !!findComponent(Children, [\n Tooltip.Trigger.displayName,\n Tooltip.Popper.displayName,\n ]);\n return (\n <Root\n render={Popper}\n visible={this.state.$visible}\n onFirstUpdate={this.handlerCancel}\n onOutsideClick={this.handlerCancel}\n interaction=\"none\"\n offset={8}\n flip={{ allowedAutoPlacements: ['left', 'right'] }}\n >\n {({ popper, setTrigger }) => {\n this.setPopperTrigger = setTrigger;\n this.popper = popper;\n this.popper.current?.update();\n return advanceMode ? (\n <Children />\n ) : (\n <>\n {tag && <Tooltip.Trigger tag={tag} />}\n <Tooltip.Popper {...other}>{children}</Tooltip.Popper>\n </>\n );\n }}\n </Root>\n );\n }\n}\n\nfunction PopperPopper(props) {\n const { Element: STooltip, styles, $visible } = props;\n\n const handlerCancel = useCallback(() => false, []);\n\n if (!$visible) return null;\n\n return sstyled(styles)(\n <STooltip render={Popper.Popper} childrenPosition=\"inside\" onMouseMove={handlerCancel} />,\n );\n}\n\nfunction Title(props) {\n const STitle = Root;\n const { styles } = props;\n return sstyled(styles)(<STitle render={Box} __excludeProps={['data', 'scale']} />);\n}\n\nfunction Dot(props) {\n const { styles, color, Children } = props;\n const SDotGroup = Root;\n const SDot = Box;\n return sstyled(styles)(\n <SDotGroup render={Box}>\n <SDot __excludeProps={['data', 'scale']} color={resolveColor(color)} />\n <Children />\n </SDotGroup>,\n );\n}\n\nfunction Footer() {\n return null;\n}\n\nconst Tooltip = createElement(TooltipRoot, {\n Trigger: Popper.Trigger,\n Popper: PopperPopper,\n Title,\n Footer,\n Dot,\n});\n\nexport default Tooltip;\n"],"file":"Tooltip.js"}
package/lib/es6/Venn.js CHANGED
@@ -26,15 +26,16 @@ var style = (
26
26
  /*__reshadow_css_start__*/
27
27
  _sstyled.insert(
28
28
  /*__inner_css_start__*/
29
- ".___SCircle_1p0jc_gg_{fill:var(--color_v23pgz);stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_v23pgz);transition-timing-function:ease-in-out}.___SCircle_1p0jc_gg_:hover{fill-opacity:.7}.___SIntersection_1p0jc_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1p0jc_gg_:hover{fill-opacity:.1}"
29
+ ".___SCircle_c0tdq_gg_{fill:#3ab011;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1j56sbj);transition-timing-function:ease-in-out}.___SCircle_c0tdq_gg_:hover{fill-opacity:.7}.___SCircle_c0tdq_gg_.__color_c0tdq_gg_{fill:var(--color_1j56sbj)}.___SIntersection_c0tdq_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_c0tdq_gg_:hover{fill-opacity:.1}"
30
30
  /*__inner_css_end__*/
31
- , "v23pgz_gg_")
31
+ , "1j56sbj_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SCircle": "___SCircle_1p0jc_gg_",
35
- "--color": "--color_v23pgz",
36
- "--duration": "--duration_v23pgz",
37
- "__SIntersection": "___SIntersection_1p0jc_gg_"
34
+ "__SCircle": "___SCircle_c0tdq_gg_",
35
+ "--duration": "--duration_1j56sbj",
36
+ "_color": "__color_c0tdq_gg_",
37
+ "--color": "--color_1j56sbj",
38
+ "__SIntersection": "___SIntersection_c0tdq_gg_"
38
39
  });
39
40
 
40
41
  var VennRoot = /*#__PURE__*/function (_Component) {
@@ -176,8 +177,7 @@ function Circle(_ref6) {
176
177
 
177
178
  var SCircle = _ref6.Element,
178
179
  styles = _ref6.styles,
179
- _ref6$color = _ref6.color,
180
- color = _ref6$color === void 0 ? '#3AB011' : _ref6$color,
180
+ color = _ref6.color,
181
181
  data = _ref6.data,
182
182
  duration = _ref6.duration;
183
183
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SCircle, _ref.cn("SCircle", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Venn.js"],"names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","sstyled","canUseDOM","FadeInOut","createElement","CONSTANT","VennRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","Intersection","SIntersection","renderIntersection","useCallback","Venn"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.vennData = this.getVennData();\n return (\n <Element render={this.renderElement} childrenPosition=\"inside\" vennData={this.vennData} />\n );\n }\n}\n\nfunction Circle({ Element: SCircle, styles, color = '#3AB011', data, duration }) {\n return sstyled(styles)(\n <SCircle\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data } = props;\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"file":"Venn.js"}
1
+ {"version":3,"sources":["../../src/Venn.js"],"names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","sstyled","canUseDOM","FadeInOut","createElement","CONSTANT","VennRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","Intersection","SIntersection","renderIntersection","useCallback","Venn"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.vennData = this.getVennData();\n return (\n <Element render={this.renderElement} childrenPosition=\"inside\" vennData={this.vennData} />\n );\n }\n}\n\nfunction Circle({ Element: SCircle, styles, color, data, duration }) {\n return sstyled(styles)(\n <SCircle\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data } = props;\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"file":"Venn.js"}