@semcore/d3-chart 1.7.0 → 1.9.0

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 (135) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/cjs/Axis.js +33 -21
  3. package/lib/cjs/Axis.js.map +1 -1
  4. package/lib/cjs/Bar.js +3 -3
  5. package/lib/cjs/Bar.js.map +1 -1
  6. package/lib/cjs/Bubble.js +3 -24
  7. package/lib/cjs/Bubble.js.map +1 -1
  8. package/lib/cjs/ClipPath.js +2 -1
  9. package/lib/cjs/ClipPath.js.map +1 -1
  10. package/lib/cjs/Donut.js +1 -1
  11. package/lib/cjs/Donut.js.map +1 -1
  12. package/lib/cjs/Dots.js +1 -1
  13. package/lib/cjs/Dots.js.map +1 -1
  14. package/lib/cjs/GroupBar.js +8 -8
  15. package/lib/cjs/GroupBar.js.map +1 -1
  16. package/lib/cjs/HorizontalBar.js +3 -3
  17. package/lib/cjs/HorizontalBar.js.map +1 -1
  18. package/lib/cjs/Plot.js +16 -2
  19. package/lib/cjs/Plot.js.map +1 -1
  20. package/lib/cjs/RadialTree.js +691 -0
  21. package/lib/cjs/RadialTree.js.map +1 -0
  22. package/lib/cjs/ResponsiveContainer.js +2 -2
  23. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  24. package/lib/cjs/StackBar.js +8 -8
  25. package/lib/cjs/StackBar.js.map +1 -1
  26. package/lib/cjs/StackedArea.js +8 -8
  27. package/lib/cjs/StackedArea.js.map +1 -1
  28. package/lib/cjs/Tooltip.js +6 -10
  29. package/lib/cjs/Tooltip.js.map +1 -1
  30. package/lib/cjs/Venn.js +2 -2
  31. package/lib/cjs/Venn.js.map +1 -1
  32. package/lib/cjs/createElement.js +3 -2
  33. package/lib/cjs/createElement.js.map +1 -1
  34. package/lib/cjs/index.js +8 -0
  35. package/lib/cjs/index.js.map +1 -1
  36. package/lib/cjs/style/axis.shadow.css +2 -4
  37. package/lib/cjs/style/plot.shadow.css +6 -0
  38. package/lib/cjs/style/radial-tree.shadow.css +23 -0
  39. package/lib/cjs/types/Area.d.ts +47 -0
  40. package/lib/cjs/types/Axis.d.ts +64 -0
  41. package/lib/cjs/types/Bar.d.ts +48 -0
  42. package/lib/cjs/types/Bubble.d.ts +27 -0
  43. package/lib/cjs/types/ClipPath.d.ts +26 -0
  44. package/lib/cjs/types/Donut.d.ts +42 -0
  45. package/lib/cjs/types/GroupBar.d.ts +20 -0
  46. package/lib/cjs/types/HorizontalBar.d.ts +29 -0
  47. package/lib/cjs/types/Hover.d.ts +15 -0
  48. package/lib/cjs/types/Line.d.ts +50 -0
  49. package/lib/cjs/types/Plot.d.ts +16 -0
  50. package/lib/cjs/types/ResponsiveContainer.d.ts +20 -0
  51. package/lib/cjs/types/ScatterPlot.d.ts +27 -0
  52. package/lib/cjs/types/StackBar.d.ts +26 -0
  53. package/lib/cjs/types/StackedArea.d.ts +26 -0
  54. package/lib/cjs/types/Tooltip.d.ts +31 -0
  55. package/lib/cjs/types/Venn.d.ts +45 -0
  56. package/lib/cjs/types/context.d.ts +6 -0
  57. package/lib/cjs/types/index.d.ts +53 -0
  58. package/lib/cjs/utils.js +120 -55
  59. package/lib/cjs/utils.js.map +1 -1
  60. package/lib/es6/Axis.js +33 -21
  61. package/lib/es6/Axis.js.map +1 -1
  62. package/lib/es6/Bar.js +3 -3
  63. package/lib/es6/Bar.js.map +1 -1
  64. package/lib/es6/Bubble.js +3 -24
  65. package/lib/es6/Bubble.js.map +1 -1
  66. package/lib/es6/ClipPath.js +2 -1
  67. package/lib/es6/ClipPath.js.map +1 -1
  68. package/lib/es6/Donut.js +1 -1
  69. package/lib/es6/Donut.js.map +1 -1
  70. package/lib/es6/Dots.js +1 -1
  71. package/lib/es6/Dots.js.map +1 -1
  72. package/lib/es6/GroupBar.js +8 -8
  73. package/lib/es6/GroupBar.js.map +1 -1
  74. package/lib/es6/HorizontalBar.js +3 -3
  75. package/lib/es6/HorizontalBar.js.map +1 -1
  76. package/lib/es6/Plot.js +18 -2
  77. package/lib/es6/Plot.js.map +1 -1
  78. package/lib/es6/RadialTree.js +679 -0
  79. package/lib/es6/RadialTree.js.map +1 -0
  80. package/lib/es6/ResponsiveContainer.js +2 -2
  81. package/lib/es6/ResponsiveContainer.js.map +1 -1
  82. package/lib/es6/StackBar.js +8 -8
  83. package/lib/es6/StackBar.js.map +1 -1
  84. package/lib/es6/StackedArea.js +8 -8
  85. package/lib/es6/StackedArea.js.map +1 -1
  86. package/lib/es6/Tooltip.js +6 -10
  87. package/lib/es6/Tooltip.js.map +1 -1
  88. package/lib/es6/Venn.js +2 -2
  89. package/lib/es6/Venn.js.map +1 -1
  90. package/lib/es6/createElement.js +3 -2
  91. package/lib/es6/createElement.js.map +1 -1
  92. package/lib/es6/index.js +1 -0
  93. package/lib/es6/index.js.map +1 -1
  94. package/lib/es6/style/axis.shadow.css +2 -4
  95. package/lib/es6/style/plot.shadow.css +6 -0
  96. package/lib/es6/style/radial-tree.shadow.css +23 -0
  97. package/lib/es6/types/Area.d.ts +47 -0
  98. package/lib/es6/types/Axis.d.ts +64 -0
  99. package/lib/es6/types/Bar.d.ts +48 -0
  100. package/lib/es6/types/Bubble.d.ts +27 -0
  101. package/lib/es6/types/ClipPath.d.ts +26 -0
  102. package/lib/es6/types/Donut.d.ts +42 -0
  103. package/lib/es6/types/GroupBar.d.ts +20 -0
  104. package/lib/es6/types/HorizontalBar.d.ts +29 -0
  105. package/lib/es6/types/Hover.d.ts +15 -0
  106. package/lib/es6/types/Line.d.ts +50 -0
  107. package/lib/es6/types/Plot.d.ts +16 -0
  108. package/lib/es6/types/ResponsiveContainer.d.ts +20 -0
  109. package/lib/es6/types/ScatterPlot.d.ts +27 -0
  110. package/lib/es6/types/StackBar.d.ts +26 -0
  111. package/lib/es6/types/StackedArea.d.ts +26 -0
  112. package/lib/es6/types/Tooltip.d.ts +31 -0
  113. package/lib/es6/types/Venn.d.ts +45 -0
  114. package/lib/es6/types/context.d.ts +6 -0
  115. package/lib/es6/types/index.d.ts +53 -0
  116. package/lib/es6/utils.js +95 -44
  117. package/lib/es6/utils.js.map +1 -1
  118. package/lib/types/RadialTree.d.ts +202 -0
  119. package/lib/types/index.d.ts +6 -0
  120. package/lib/types/utils.d.ts +27 -0
  121. package/package.json +17 -10
  122. package/src/Axis.jsx +11 -1
  123. package/src/Bubble.jsx +1 -21
  124. package/src/ClipPath.jsx +1 -0
  125. package/src/Donut.jsx +7 -9
  126. package/src/Plot.jsx +2 -0
  127. package/src/RadialTree.tsx +768 -0
  128. package/src/createElement.jsx +3 -1
  129. package/src/index.js +1 -0
  130. package/src/style/axis.shadow.css +2 -4
  131. package/src/style/plot.shadow.css +6 -0
  132. package/src/style/radial-tree.shadow.css +23 -0
  133. package/src/types/index.d.ts +6 -0
  134. package/src/utils.ts +227 -0
  135. package/src/utils.js +0 -147
@@ -42,15 +42,15 @@ var _ref = (
42
42
  /*__reshadow_css_start__*/
43
43
  (0, _core.__css__)(
44
44
  /*__inner_css_start__*/
45
- ".___SBar_imd0n_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_imd0n_gg_.__color_imd0n_gg_{fill:var(--color)}.___SBar_imd0n_gg_.__hide_imd0n_gg_{display:none}.___SBackground_imd0n_gg_{fill:#e4ecf1}"
45
+ ".___SBar_1f75c_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1f75c_gg_.__color_1f75c_gg_{fill:var(--color)}.___SBar_1f75c_gg_.__hide_1f75c_gg_{display:none}.___SBackground_1f75c_gg_{fill:#e4ecf1}"
46
46
  /*__inner_css_end__*/
47
- , "1v9x12u_gg_")
47
+ , "aih8l2_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SBar": "___SBar_imd0n_gg_",
51
- "_color": "__color_imd0n_gg_",
52
- "_hide": "__hide_imd0n_gg_",
53
- "__SBackground": "___SBackground_imd0n_gg_"
50
+ "__SBar": "___SBar_1f75c_gg_",
51
+ "_color": "__color_1f75c_gg_",
52
+ "_hide": "__hide_1f75c_gg_",
53
+ "__SBackground": "___SBackground_1f75c_gg_"
54
54
  }),
55
55
  style = (0, _extends2["default"])({}, _ref);
56
56
 
@@ -77,11 +77,11 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
77
77
  if (scaleGroup) return scaleGroup;
78
78
 
79
79
  var domain = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
80
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
80
+ if (_react["default"].isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
81
81
  acc.push(child.props.y);
82
82
  }
83
83
 
84
- if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
84
+ if (_react["default"].isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
85
85
  acc.push(child.props.x);
86
86
  }
87
87
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GroupBar.jsx"],"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"}
1
+ {"version":3,"sources":["../../src/GroupBar.jsx"],"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"}
@@ -78,7 +78,7 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
78
78
  }, {
79
79
  key: "renderBar",
80
80
  value: function renderBar(d, i) {
81
- var _ref, _d$x, _d$x2;
81
+ var _ref;
82
82
 
83
83
  var SBar = this.Element;
84
84
  var _this$asProps2 = this.asProps,
@@ -102,9 +102,9 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
102
102
  yScale = _scale[1];
103
103
 
104
104
  var barY = yScale(d[y]) + offset[1];
105
- var barX = xScale(Math.min((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0, d[x])) + offset[0];
105
+ var barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];
106
106
  var height = heightProps || (0, _utils.getBandwidth)(yScale);
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 width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));
108
108
  var dSvg = getHorizontalRect({
109
109
  x: barX,
110
110
  y: barY,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/HorizontalBar.jsx"],"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"}
1
+ {"version":3,"sources":["../../src/HorizontalBar.jsx"],"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/Plot.js CHANGED
@@ -47,6 +47,19 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
47
47
 
48
48
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
49
 
50
+ /*__reshadow-styles__:"./style/plot.shadow.css"*/
51
+ var style = (
52
+ /*__reshadow_css_start__*/
53
+ _core.sstyled.insert(
54
+ /*__inner_css_start__*/
55
+ ".___SPlot_11q0k_gg_{overflow:hidden}"
56
+ /*__inner_css_end__*/
57
+ , "dvrka4_gg_")
58
+ /*__reshadow_css_end__*/
59
+ , {
60
+ "__SPlot": "___SPlot_11q0k_gg_"
61
+ });
62
+
50
63
  var PlotRoot = /*#__PURE__*/function (_Component) {
51
64
  (0, _inherits2["default"])(PlotRoot, _Component);
52
65
 
@@ -57,7 +70,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
57
70
 
58
71
  (0, _classCallCheck2["default"])(this, PlotRoot);
59
72
  _this = _super.call(this, props);
60
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rootRef", /*#__PURE__*/_react["default"].createRef());
73
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rootRef", _react["default"].createRef());
61
74
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerMouseMove", function (e) {
62
75
  var scale = _this.asProps.scale;
63
76
 
@@ -120,7 +133,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
120
133
  }, {
121
134
  key: "render",
122
135
  value: function render() {
123
- var _ref = this ? this.asProps : arguments[0],
136
+ var _ref = this.asProps,
124
137
  _ref2;
125
138
 
126
139
  var SPlot = _flexBox.Box;
@@ -142,6 +155,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
142
155
  }(_core.Component);
143
156
 
144
157
  (0, _defineProperty2["default"])(PlotRoot, "displayName", 'Plot');
158
+ (0, _defineProperty2["default"])(PlotRoot, "style", style);
145
159
  (0, _defineProperty2["default"])(PlotRoot, "defaultProps", function () {
146
160
  return {
147
161
  width: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plot.jsx"],"names":["PlotRoot","props","React","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","EventEmitter","data","width","height","$rootProps","size","SPlot","Box","styles","handlerMouseMove","handlerMouseLeave","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint } from './utils';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n rootRef = React.createRef();\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height } = this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n />,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"file":"Plot.js"}
1
+ {"version":3,"sources":["../../src/Plot.jsx"],"names":["PlotRoot","props","React","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","EventEmitter","data","width","height","$rootProps","size","SPlot","Box","styles","handlerMouseMove","handlerMouseLeave","Component","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint } from './utils';\nimport style from './style/plot.shadow.css';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n static style = style;\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n rootRef = React.createRef();\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height } = this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n />,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"file":"Plot.js"}