@semcore/d3-chart 3.21.2 → 3.21.3

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 (68) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/lib/cjs/AnimatedClipPath.js +62 -0
  3. package/lib/cjs/AnimatedClipPath.js.map +1 -0
  4. package/lib/cjs/Area.js +13 -19
  5. package/lib/cjs/Area.js.map +1 -1
  6. package/lib/cjs/Axis.js +14 -14
  7. package/lib/cjs/Bar.js +13 -13
  8. package/lib/cjs/Bar.js.map +1 -1
  9. package/lib/cjs/Bubble.js +14 -14
  10. package/lib/cjs/Bubble.js.map +1 -1
  11. package/lib/cjs/Donut.js +7 -7
  12. package/lib/cjs/Dots.js +14 -15
  13. package/lib/cjs/Dots.js.map +1 -1
  14. package/lib/cjs/HorizontalBar.js +12 -15
  15. package/lib/cjs/HorizontalBar.js.map +1 -1
  16. package/lib/cjs/Hover.js +3 -3
  17. package/lib/cjs/Line.js +13 -16
  18. package/lib/cjs/Line.js.map +1 -1
  19. package/lib/cjs/Plot.js +3 -3
  20. package/lib/cjs/Radar.js +17 -17
  21. package/lib/cjs/RadialTree.js +10 -10
  22. package/lib/cjs/ReferenceLine.js +9 -9
  23. package/lib/cjs/ScatterPlot.js +11 -12
  24. package/lib/cjs/ScatterPlot.js.map +1 -1
  25. package/lib/cjs/Tooltip.js +8 -8
  26. package/lib/cjs/Venn.js +7 -7
  27. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  28. package/lib/cjs/a11y/PlotA11yView.js +2 -2
  29. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  30. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +15 -15
  31. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  32. package/lib/cjs/style/dot.shadow.css +0 -5
  33. package/lib/es6/AnimatedClipPath.js +53 -0
  34. package/lib/es6/AnimatedClipPath.js.map +1 -0
  35. package/lib/es6/Area.js +13 -19
  36. package/lib/es6/Area.js.map +1 -1
  37. package/lib/es6/Axis.js +14 -14
  38. package/lib/es6/Bar.js +13 -13
  39. package/lib/es6/Bar.js.map +1 -1
  40. package/lib/es6/Bubble.js +14 -14
  41. package/lib/es6/Bubble.js.map +1 -1
  42. package/lib/es6/Donut.js +7 -7
  43. package/lib/es6/Dots.js +14 -15
  44. package/lib/es6/Dots.js.map +1 -1
  45. package/lib/es6/HorizontalBar.js +12 -15
  46. package/lib/es6/HorizontalBar.js.map +1 -1
  47. package/lib/es6/Hover.js +3 -3
  48. package/lib/es6/Line.js +13 -16
  49. package/lib/es6/Line.js.map +1 -1
  50. package/lib/es6/Plot.js +3 -3
  51. package/lib/es6/Radar.js +17 -17
  52. package/lib/es6/RadialTree.js +10 -10
  53. package/lib/es6/ReferenceLine.js +9 -9
  54. package/lib/es6/ScatterPlot.js +11 -12
  55. package/lib/es6/ScatterPlot.js.map +1 -1
  56. package/lib/es6/Tooltip.js +8 -8
  57. package/lib/es6/Venn.js +7 -7
  58. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  59. package/lib/es6/a11y/PlotA11yView.js +2 -2
  60. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  61. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +15 -15
  62. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  63. package/lib/es6/style/dot.shadow.css +0 -5
  64. package/package.json +7 -7
  65. package/lib/cjs/ClipPath.js +0 -94
  66. package/lib/cjs/ClipPath.js.map +0 -1
  67. package/lib/es6/ClipPath.js +0 -85
  68. package/lib/es6/ClipPath.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Bar.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","scaleToBand","roundedPath","style","_sstyled","insert","MIN_HEIGHT","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","resolveColor","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_this$asProps3$maxBar","maxBarSize","Infinity","_scale","_slicedToArray","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","bandWidth","bandwidth","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","cn","render","_this$asProps4","size","Fragment","map","bind","id","_defineProperty","Background","props","_ref2","SBackground","_scale2","yRange","range","_ref3"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { scaleToBand, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(_props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n index,\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n resolveColor,\n x,\n y,\n y0,\n scale,\n hide,\n offset: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n maxBarSize = Infinity,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const bandWidth = widthProps || scaleToBand(xScale).bandwidth();\n const width = Math.min(bandWidth, maxBarSize);\n const barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={resolveColor(color)}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n key={`${uid}-animation`}\n id={uid}\n x='0'\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render='rect'\n childrenPosition='above'\n width={scaleToBand(xScale).bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":"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"}
1
+ {"version":3,"file":"Bar.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","AnimatedClipPath","scaleToBand","roundedPath","style","_sstyled","insert","MIN_HEIGHT","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","resolveColor","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_this$asProps3$maxBar","maxBarSize","Infinity","_scale","_slicedToArray","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","bandWidth","bandwidth","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","cn","render","_this$asProps4","size","Fragment","map","bind","attributeName","values","id","_defineProperty","Background","props","_ref2","SBackground","_scale2","yRange","range","_ref3"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport AnimatedClipPath from './AnimatedClipPath';\nimport { scaleToBand, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(_props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n index,\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n resolveColor,\n x,\n y,\n y0,\n scale,\n hide,\n offset: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n maxBarSize = Infinity,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const bandWidth = widthProps || scaleToBand(xScale).bandwidth();\n const width = Math.min(bandWidth, maxBarSize);\n const barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={resolveColor(color)}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <AnimatedClipPath\n duration={duration}\n key={`${uid}-animation`}\n attributeName='y'\n values='100%;0'\n id={uid}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render='rect'\n childrenPosition='above'\n width={scaleToBand(xScale).bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":"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"}
package/lib/es6/Bubble.js CHANGED
@@ -16,20 +16,19 @@ import { Component, Root, sstyled } from '@semcore/core';
16
16
  import canUseDOM from '@semcore/utils/lib/canUseDOM';
17
17
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
18
18
  import createElement from './createElement';
19
- import ClipPath from './ClipPath';
20
19
  import { CONSTANT, measureText } from './utils';
21
20
  import Tooltip from './Tooltip';
22
21
  /*__reshadow-styles__:"./style/bubble.shadow.css"*/
23
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_1lx4g_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1lx4g);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_1lx4g_gg_:hover{opacity:.8}}.___SBubble_1lx4g_gg_.__color_1lx4g_gg_{fill:var(--color_1lx4g)}.___SBubble_1lx4g_gg_.__transparent_1lx4g_gg_{opacity:.3}.___SCenter_1lx4g_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_1lx4g_gg_.__color_1lx4g_gg_{stroke:var(--color_1lx4g)}.___SCenter_1lx4g_gg_.__transparent_1lx4g_gg_{opacity:.3}.___SLabel_1lx4g_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_1lx4g_gg_._position_right_1lx4g_gg_{text-anchor:end}.___SLabel_1lx4g_gg_._position_left_1lx4g_gg_{text-anchor:start}.___SLabel_1lx4g_gg_.__color_1lx4g_gg_{fill:var(--color_1lx4g)}.___SLabel_1lx4g_gg_.__transparent_1lx4g_gg_{opacity:.3}" /*__inner_css_end__*/, "1lx4g_gg_") /*__reshadow_css_end__*/, {
24
- "__SBubble": "___SBubble_1lx4g_gg_",
25
- "_color": "__color_1lx4g_gg_",
26
- "--color": "--color_1lx4g",
27
- "_transparent": "__transparent_1lx4g_gg_",
28
- "__SCenter": "___SCenter_1lx4g_gg_",
29
- "__SLabel": "___SLabel_1lx4g_gg_",
30
- "_position_right": "_position_right_1lx4g_gg_",
31
- "_position_left": "_position_left_1lx4g_gg_",
32
- "--duration": "--duration_1lx4g"
22
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_bj3h0_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_bj3h0);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_bj3h0_gg_:hover{opacity:.8}}.___SBubble_bj3h0_gg_.__color_bj3h0_gg_{fill:var(--color_bj3h0)}.___SBubble_bj3h0_gg_.__transparent_bj3h0_gg_{opacity:.3}.___SCenter_bj3h0_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_bj3h0_gg_.__color_bj3h0_gg_{stroke:var(--color_bj3h0)}.___SCenter_bj3h0_gg_.__transparent_bj3h0_gg_{opacity:.3}.___SLabel_bj3h0_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_bj3h0_gg_._position_right_bj3h0_gg_{text-anchor:end}.___SLabel_bj3h0_gg_._position_left_bj3h0_gg_{text-anchor:start}.___SLabel_bj3h0_gg_.__color_bj3h0_gg_{fill:var(--color_bj3h0)}.___SLabel_bj3h0_gg_.__transparent_bj3h0_gg_{opacity:.3}" /*__inner_css_end__*/, "bj3h0_gg_") /*__reshadow_css_end__*/, {
23
+ "__SBubble": "___SBubble_bj3h0_gg_",
24
+ "_color": "__color_bj3h0_gg_",
25
+ "--color": "--color_bj3h0",
26
+ "_transparent": "__transparent_bj3h0_gg_",
27
+ "__SCenter": "___SCenter_bj3h0_gg_",
28
+ "__SLabel": "___SLabel_bj3h0_gg_",
29
+ "_position_right": "_position_right_bj3h0_gg_",
30
+ "_position_left": "_position_left_bj3h0_gg_",
31
+ "--duration": "--duration_bj3h0"
33
32
  });
34
33
  var BubbleRoot = /*#__PURE__*/function (_Component) {
35
34
  _inherits(BubbleRoot, _Component);
@@ -194,14 +193,15 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
194
193
  var yMargin = Math.min(yScale.range()[0], yScale.range()[1]);
195
194
  this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);
196
195
  this.asProps.dataHintsHandler.establishDataType('points-cloud');
197
- return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderCircle.bind(this)), data.map(this.animationCircle.bind(this)), /*#__PURE__*/React.createElement(ClipPath, {
196
+ return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderCircle.bind(this)), data.map(this.animationCircle.bind(this)), /*#__PURE__*/React.createElement("clipPath", {
198
197
  "aria-hidden": true,
199
- id: uid,
198
+ id: uid
199
+ }, /*#__PURE__*/React.createElement("rect", {
200
200
  x: xMargin,
201
201
  y: yMargin,
202
202
  width: "".concat(xSize, "px"),
203
203
  height: "".concat(ySize, "px")
204
- }));
204
+ }), ' '));
205
205
  }
206
206
  }]);
207
207
  return BubbleRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","Tooltip","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","BubbleTooltip","_ref","arguments[0]","_ref3","SBubbleTooltip","_objectSpread","_assignProps","Bubble","_______childrenComponents"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\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, tooltipProps) => ({ 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, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(d[color] ?? color)}\n transparent={transparent}\n >\n &#43;\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(d[color])}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={resolveColor(d[color])}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst BubbleTooltip = (props) => {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Bubble;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","createElement","CONSTANT","measureText","Tooltip","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","BubbleTooltip","_ref","arguments[0]","_ref3","SBubbleTooltip","_objectSpread","_assignProps","Bubble","_______childrenComponents"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\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, tooltipProps) => ({ 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, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(d[color] ?? color)}\n transparent={transparent}\n >\n &#43;\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(d[color])}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={resolveColor(d[color])}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <clipPath aria-hidden id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />{' '}\n </clipPath>\n </>\n );\n }\n}\n\nconst BubbleTooltip = (props) => {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Bubble;\n"],"mappings":"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"}
package/lib/es6/Donut.js CHANGED
@@ -22,13 +22,13 @@ import createElement from './createElement';
22
22
  import { CONSTANT, getChartDefaultColorName } from './utils';
23
23
  import Tooltip from './Tooltip';
24
24
  /*__reshadow-styles__:"./style/donut.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_bz735_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_bz735_gg_.__color_bz735_gg_{fill:var(--color_bz735)}.___SPie_bz735_gg_.__transparent_bz735_gg_{opacity:.3}.___SEmptyData_bz735_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_bz735_gg_.__color_bz735_gg_{fill:var(--color_bz735)}.___SLabel_bz735_gg_{text-anchor:middle;vertical-anchor:middle;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}" /*__inner_css_end__*/, "bz735_gg_") /*__reshadow_css_end__*/, {
26
- "__SPie": "___SPie_bz735_gg_",
27
- "_color": "__color_bz735_gg_",
28
- "--color": "--color_bz735",
29
- "_transparent": "__transparent_bz735_gg_",
30
- "__SEmptyData": "___SEmptyData_bz735_gg_",
31
- "__SLabel": "___SLabel_bz735_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_15ez0_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_15ez0_gg_.__color_15ez0_gg_{fill:var(--color_15ez0)}.___SPie_15ez0_gg_.__transparent_15ez0_gg_{opacity:.3}.___SEmptyData_15ez0_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_15ez0_gg_.__color_15ez0_gg_{fill:var(--color_15ez0)}.___SLabel_15ez0_gg_{text-anchor:middle;vertical-anchor:middle;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}" /*__inner_css_end__*/, "15ez0_gg_") /*__reshadow_css_end__*/, {
26
+ "__SPie": "___SPie_15ez0_gg_",
27
+ "_color": "__color_15ez0_gg_",
28
+ "--color": "--color_15ez0",
29
+ "_transparent": "__transparent_15ez0_gg_",
30
+ "__SEmptyData": "___SEmptyData_15ez0_gg_",
31
+ "__SLabel": "___SLabel_15ez0_gg_"
32
32
  });
33
33
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
34
34
  function transitionAnglePie(_ref6) {
package/lib/es6/Dots.js CHANGED
@@ -7,16 +7,14 @@ import trottle from '@semcore/utils/lib/rafTrottle';
7
7
  import createElement from './createElement';
8
8
  import { eventToPoint, invert, interpolateValue } from './utils';
9
9
  /*__reshadow-styles__:"./style/dot.shadow.css"*/
10
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1e5i2_gg_ .___SDot_1e5i2_gg_{transition-duration:var(--duration_1e5i2)}.___SDot_1e5i2_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:var(--radius_1e5i2);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1e5i2_gg_.__hide_1e5i2_gg_{display:none}.___SDot_1e5i2_gg_.__active_1e5i2_gg_{r:calc(var(--radius_1e5i2)*8/6)}.___SDot_1e5i2_gg_.__color_1e5i2_gg_{fill:var(--color_1e5i2)}.___SDot_1e5i2_gg_.__transparent_1e5i2_gg_{opacity:.3}" /*__inner_css_end__*/, "1e5i2_gg_") /*__reshadow_css_end__*/, {
11
- "__SDot": "___SDot_1e5i2_gg_",
12
- "--radius": "--radius_1e5i2",
13
- "_hide": "__hide_1e5i2_gg_",
14
- "_active": "__active_1e5i2_gg_",
15
- "_color": "__color_1e5i2_gg_",
16
- "--color": "--color_1e5i2",
17
- "_transparent": "__transparent_1e5i2_gg_",
18
- "__SDots": "___SDots_1e5i2_gg_",
19
- "--duration": "--duration_1e5i2"
10
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1tjii_gg_ .___SDot_1tjii_gg_{transition-duration:var(--duration_1tjii)}.___SDot_1tjii_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1tjii_gg_.__hide_1tjii_gg_{display:none}.___SDot_1tjii_gg_.__color_1tjii_gg_{fill:var(--color_1tjii)}.___SDot_1tjii_gg_.__transparent_1tjii_gg_{opacity:.3}" /*__inner_css_end__*/, "1tjii_gg_") /*__reshadow_css_end__*/, {
11
+ "__SDot": "___SDot_1tjii_gg_",
12
+ "_hide": "__hide_1tjii_gg_",
13
+ "_color": "__color_1tjii_gg_",
14
+ "--color": "--color_1tjii",
15
+ "_transparent": "__transparent_1tjii_gg_",
16
+ "__SDots": "___SDots_1tjii_gg_",
17
+ "--duration": "--duration_1tjii"
20
18
  });
21
19
  var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
22
20
  function Dots(props) {
@@ -36,7 +34,7 @@ function Dots(props) {
36
34
  duration = _props$duration === void 0 ? 500 : _props$duration,
37
35
  transparent = props.transparent,
38
36
  _props$radius = props.radius,
39
- radius = _props$radius === void 0 ? 6 : _props$radius,
37
+ radiusBase = _props$radius === void 0 ? 6 : _props$radius,
40
38
  resolveColor = props.resolveColor;
41
39
  var bisect = bisector(function (d) {
42
40
  return d[x];
@@ -79,6 +77,7 @@ function Dots(props) {
79
77
  var isNext = d3.defined()(data[i + 1] || {});
80
78
  var active = i === activeIndex;
81
79
  var visible = display || i === activeIndex || !isPrev && !isNext;
80
+ var radius = radiusBase * (active ? 8 / 6 : 1);
82
81
  if (!d3.defined()(d)) return acc;
83
82
  if (!visible) return acc;
84
83
  acc.push((_ref = sstyled(styles), /*#__PURE__*/React.createElement(SDot, _ref.cn("SDot", {
@@ -95,13 +94,13 @@ function Dots(props) {
95
94
  "hide": hide,
96
95
  "color": resolveColor(color),
97
96
  "transparent": transparent,
98
- "radius": radius
97
+ "r": radius
99
98
  }))));
100
99
  return acc;
101
100
  }, []);
102
- return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SDot, _ref2.cn("SDot", {
103
- "render": 'g',
104
- "use:duration": "".concat(duration, "ms")
101
+ var SDots = 'g';
102
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SDots, _ref2.cn("SDots", {
103
+ "duration": "".concat(duration, "ms")
105
104
  }), dots);
106
105
  }
107
106
  Dots.style = style;
@@ -1 +1 @@
1
- {"version":3,"file":"Dots.js","names":["bisector","React","sstyled","trottle","createElement","eventToPoint","invert","interpolateValue","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","_props$radius","radius","resolveColor","bisect","d","center","_React$useState","useState","_React$useState2","_slicedToArray","activeIndex","setActiveIndex","data","useMemo","filter","item","handlerMouseMoveRoot","useCallback","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","cn","concat"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert, interpolateValue } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius = 6,\n resolveColor,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.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 = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n React.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, scale, data, x, y]);\n\n const dots = 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 const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={`${i}`}\n render='circle'\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={resolveColor(color)}\n transparent={transparent}\n radius={radius}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(\n <SDot render='g' use:duration={`${duration}ms`}>\n {dots}\n </SDot>,\n );\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Dots.js","names":["bisector","React","sstyled","trottle","createElement","eventToPoint","invert","interpolateValue","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","_props$radius","radius","radiusBase","resolveColor","bisect","d","center","_React$useState","useState","_React$useState2","_slicedToArray","activeIndex","setActiveIndex","data","useMemo","filter","item","handlerMouseMoveRoot","useCallback","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","cn","concat","SDots"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert, interpolateValue } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius: radiusBase = 6,\n resolveColor,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.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 = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n React.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, scale, data, x, y]);\n\n const dots = 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 const visible = display || i === activeIndex || (!isPrev && !isNext);\n const radius = radiusBase * (active ? 8 / 6 : 1);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={`${i}`}\n render='circle'\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={resolveColor(color)}\n transparent={transparent}\n r={radius}\n />,\n ),\n );\n return acc;\n }, []);\n const SDots = 'g';\n return sstyled(styles)(<SDots duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
@@ -9,17 +9,17 @@ import React from 'react';
9
9
  import { Component, sstyled } from '@semcore/core';
10
10
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
11
11
  import createElement from './createElement';
12
- import ClipPath from './ClipPath';
12
+ import AnimatedClipPath from './AnimatedClipPath';
13
13
  import { scaleToBand, roundedPath } from './utils';
14
14
  /*__reshadow-styles__:"./style/bar.shadow.css"*/
15
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_1ysr6_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1ysr6);transition-timing-function:ease-in-out}.___SBar_1ysr6_gg_.__color_1ysr6_gg_{fill:var(--color_1ysr6)}.___SBar_1ysr6_gg_.__hide_1ysr6_gg_{display:none}.___SBar_1ysr6_gg_.__transparent_1ysr6_gg_{opacity:.3}.___SBackground_1ysr6_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "1ysr6_gg_") /*__reshadow_css_end__*/, {
16
- "__SBar": "___SBar_1ysr6_gg_",
17
- "--duration": "--duration_1ysr6",
18
- "_color": "__color_1ysr6_gg_",
19
- "--color": "--color_1ysr6",
20
- "_hide": "__hide_1ysr6_gg_",
21
- "_transparent": "__transparent_1ysr6_gg_",
22
- "__SBackground": "___SBackground_1ysr6_gg_"
15
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_1ipdh_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1ipdh);transition-timing-function:ease-in-out}.___SBar_1ipdh_gg_.__color_1ipdh_gg_{fill:var(--color_1ipdh)}.___SBar_1ipdh_gg_.__hide_1ipdh_gg_{display:none}.___SBar_1ipdh_gg_.__transparent_1ipdh_gg_{opacity:.3}.___SBackground_1ipdh_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "1ipdh_gg_") /*__reshadow_css_end__*/, {
16
+ "__SBar": "___SBar_1ipdh_gg_",
17
+ "--duration": "--duration_1ipdh",
18
+ "_color": "__color_1ipdh_gg_",
19
+ "--color": "--color_1ipdh",
20
+ "_hide": "__hide_1ipdh_gg_",
21
+ "_transparent": "__transparent_1ipdh_gg_",
22
+ "__SBackground": "___SBackground_1ipdh_gg_"
23
23
  });
24
24
  export var MIN_WIDTH = 2;
25
25
  var calcPartBarX = function calcPartBarX(x, minWidth, width) {
@@ -127,17 +127,14 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
127
127
  uid = _this$asProps3.uid,
128
128
  size = _this$asProps3.size,
129
129
  duration = _this$asProps3.duration;
130
- return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderBar.bind(this)), duration && /*#__PURE__*/React.createElement(ClipPath, {
130
+ return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderBar.bind(this)), duration && /*#__PURE__*/React.createElement(AnimatedClipPath, {
131
131
  "aria-hidden": true,
132
- setAttributeTag: function setAttributeTag(rect) {
133
- rect.setAttribute('width', size[0]);
134
- },
132
+ duration: duration,
135
133
  id: uid,
136
134
  x: "0",
137
135
  y: "0",
138
136
  width: 0,
139
- height: size[1],
140
- transition: "width ".concat(duration, "ms ease-in-out")
137
+ height: size[1]
141
138
  }));
142
139
  }
143
140
  }]);
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalBar.js","names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","scaleToBand","roundedPath","style","_sstyled","insert","MIN_WIDTH","calcPartBarX","x","minWidth","width","Object","is","HorizontalBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","data","y","renderBar","d","i","_ref","_d$x","_d$x2","_d$x3","SBar","Element","_this$asProps2","styles","color","x0","scale","hide","offsetProps","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","transparent","_this$asProps2$maxBar","maxBarSize","Infinity","resolveColor","_scale","_slicedToArray","xScale","yScale","absWidth","Math","abs","max","domain","bandHeight","bandwidth","min","Number","barY","barX","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","concat","cn","render","_this$asProps3","size","Fragment","map","bind","setAttributeTag","rect","setAttribute","id","transition","_defineProperty","Background","props","_ref2","SBackground","_scale2","xRange","range","_ref3"],"sources":["../../src/HorizontalBar.jsx"],"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 { scaleToBand, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nexport const MIN_WIDTH = 2;\n\nconst calcPartBarX = (x, minWidth, width) => {\n // need for the correct rendering of negative values\n if (x <= 0) {\n return width <= minWidth ? minWidth : 0;\n }\n // need for the correct rendering of the minimum positive values\n return Object.is(x, 0) ? minWidth : 0;\n};\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 wMin: MIN_WIDTH,\n };\n\n getBackgroundProps(_props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n index,\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: offsetProps,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n transparent,\n maxBarSize = Infinity,\n resolveColor,\n } = this.asProps;\n\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)),\n );\n const bandHeight = heightProps || scaleToBand(yScale).bandwidth();\n const height = Math.min(bandHeight, maxBarSize);\n const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);\n const barY = yScale(d[y]) + bandHeight / 2 - height / 2 + offset[1];\n const barX =\n xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) +\n offset[0] -\n calcPartBarX(d[x], wMin, width);\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 || Object.is(d[x], 0) ? 'right' : 'left',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${x}`, groupKey ?? d[y]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`horizontal-bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={resolveColor(color)}\n transparent={transparent}\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 aria-hidden\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 aria-hidden\n render='rect'\n childrenPosition='above'\n width={xRange[1] - xRange[0]}\n height={scaleToBand(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) radius = width;\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"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalBar.js","names":["React","Component","sstyled","uniqueIDEnhancement","createElement","AnimatedClipPath","scaleToBand","roundedPath","style","_sstyled","insert","MIN_WIDTH","calcPartBarX","x","minWidth","width","Object","is","HorizontalBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","data","y","renderBar","d","i","_ref","_d$x","_d$x2","_d$x3","SBar","Element","_this$asProps2","styles","color","x0","scale","hide","offsetProps","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","transparent","_this$asProps2$maxBar","maxBarSize","Infinity","resolveColor","_scale","_slicedToArray","xScale","yScale","absWidth","Math","abs","max","domain","bandHeight","bandwidth","min","Number","barY","barX","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","concat","cn","render","_this$asProps3","size","Fragment","map","bind","id","_defineProperty","Background","props","_ref2","SBackground","_scale2","xRange","range","_ref3"],"sources":["../../src/HorizontalBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport AnimatedClipPath from './AnimatedClipPath';\nimport { scaleToBand, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nexport const MIN_WIDTH = 2;\n\nconst calcPartBarX = (x, minWidth, width) => {\n // need for the correct rendering of negative values\n if (x <= 0) {\n return width <= minWidth ? minWidth : 0;\n }\n // need for the correct rendering of the minimum positive values\n return Object.is(x, 0) ? minWidth : 0;\n};\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 wMin: MIN_WIDTH,\n };\n\n getBackgroundProps(_props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n index,\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: offsetProps,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n transparent,\n maxBarSize = Infinity,\n resolveColor,\n } = this.asProps;\n\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)),\n );\n const bandHeight = heightProps || scaleToBand(yScale).bandwidth();\n const height = Math.min(bandHeight, maxBarSize);\n const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);\n const barY = yScale(d[y]) + bandHeight / 2 - height / 2 + offset[1];\n const barX =\n xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) +\n offset[0] -\n calcPartBarX(d[x], wMin, width);\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 || Object.is(d[x], 0) ? 'right' : 'left',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${x}`, groupKey ?? d[y]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`horizontal-bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={resolveColor(color)}\n transparent={transparent}\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 <AnimatedClipPath\n aria-hidden\n duration={duration}\n id={uid}\n x='0'\n y='0'\n width={0}\n height={size[1]}\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 aria-hidden\n render='rect'\n childrenPosition='above'\n width={xRange[1] - xRange[0]}\n height={scaleToBand(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) radius = width;\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"],"mappings":"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"}
package/lib/es6/Hover.js CHANGED
@@ -16,9 +16,9 @@ import trottle from '@semcore/utils/lib/rafTrottle';
16
16
  import createElement from './createElement';
17
17
  import { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT, scaleToBand } from './utils';
18
18
  /*__reshadow-styles__:"./style/hover.shadow.css"*/
19
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SHoverLine_m6y65_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SHoverRect_m6y65_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}" /*__inner_css_end__*/, "m6y65_gg_") /*__reshadow_css_end__*/, {
20
- "__SHoverLine": "___SHoverLine_m6y65_gg_",
21
- "__SHoverRect": "___SHoverRect_m6y65_gg_"
19
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SHoverLine_qkbku_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SHoverRect_qkbku_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}" /*__inner_css_end__*/, "qkbku_gg_") /*__reshadow_css_end__*/, {
20
+ "__SHoverLine": "___SHoverLine_qkbku_gg_",
21
+ "__SHoverRect": "___SHoverRect_qkbku_gg_"
22
22
  });
23
23
  import Tooltip from './Tooltip';
24
24
  var Hover = /*#__PURE__*/function (_Component) {
package/lib/es6/Line.js CHANGED
@@ -12,17 +12,17 @@ import uniqueIDEnhancement, { useUID } from '@semcore/utils/lib/uniqueID';
12
12
  import createElement from './createElement';
13
13
  import { definedData, definedNullData, scaleOfBandwidth, getNullData, interpolateValue } from './utils';
14
14
  import Dots from './Dots';
15
- import ClipPath from './ClipPath';
15
+ import AnimatedClipPath from './AnimatedClipPath';
16
16
  /*__reshadow-styles__:"./style/line.shadow.css"*/
17
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SLine_1usa3_gg_{fill:transparent;stroke-width:3;stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:d;transition-duration:var(--duration_1usa3);transition-timing-function:ease-in-out}.___SLine_1usa3_gg_.__color_1usa3_gg_{stroke:var(--color_1usa3)}.___SLine_1usa3_gg_.__hide_1usa3_gg_{display:none}.___SLine_1usa3_gg_.__transparent_1usa3_gg_{opacity:.3}.___SNull_1usa3_gg_{fill:transparent;stroke:var(--intergalactic-border-primary, #c4c7cf);stroke-dasharray:4}.___SNull_1usa3_gg_.__hide_1usa3_gg_{display:none}.___SAria_1usa3_gg_{transition-property:d;transition-duration:var(--duration_1usa3);transition-timing-function:ease-in-out;opacity:.3;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SAria_1usa3_gg_.__color_1usa3_gg_{fill:var(--color_1usa3)}" /*__inner_css_end__*/, "1usa3_gg_") /*__reshadow_css_end__*/, {
18
- "__SLine": "___SLine_1usa3_gg_",
19
- "--duration": "--duration_1usa3",
20
- "_color": "__color_1usa3_gg_",
21
- "--color": "--color_1usa3",
22
- "_hide": "__hide_1usa3_gg_",
23
- "_transparent": "__transparent_1usa3_gg_",
24
- "__SNull": "___SNull_1usa3_gg_",
25
- "__SAria": "___SAria_1usa3_gg_"
17
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SLine_nb98d_gg_{fill:transparent;stroke-width:3;stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:d;transition-duration:var(--duration_nb98d);transition-timing-function:ease-in-out}.___SLine_nb98d_gg_.__color_nb98d_gg_{stroke:var(--color_nb98d)}.___SLine_nb98d_gg_.__hide_nb98d_gg_{display:none}.___SLine_nb98d_gg_.__transparent_nb98d_gg_{opacity:.3}.___SNull_nb98d_gg_{fill:transparent;stroke:var(--intergalactic-border-primary, #c4c7cf);stroke-dasharray:4}.___SNull_nb98d_gg_.__hide_nb98d_gg_{display:none}.___SAria_nb98d_gg_{transition-property:d;transition-duration:var(--duration_nb98d);transition-timing-function:ease-in-out;opacity:.3;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SAria_nb98d_gg_.__color_nb98d_gg_{fill:var(--color_nb98d)}" /*__inner_css_end__*/, "nb98d_gg_") /*__reshadow_css_end__*/, {
18
+ "__SLine": "___SLine_nb98d_gg_",
19
+ "--duration": "--duration_nb98d",
20
+ "_color": "__color_nb98d_gg_",
21
+ "--color": "--color_nb98d",
22
+ "_hide": "__hide_nb98d_gg_",
23
+ "_transparent": "__transparent_nb98d_gg_",
24
+ "__SNull": "___SNull_nb98d_gg_",
25
+ "__SAria": "___SAria_nb98d_gg_"
26
26
  });
27
27
  var LineRoot = /*#__PURE__*/function (_Component) {
28
28
  _inherits(LineRoot, _Component);
@@ -126,17 +126,14 @@ var LineRoot = /*#__PURE__*/function (_Component) {
126
126
  "transparent": transparent,
127
127
  "d": d3(data),
128
128
  "use:duration": "".concat(duration, "ms")
129
- })), duration && /*#__PURE__*/React.createElement(ClipPath, _ref.cn("ClipPath", {
129
+ })), duration && /*#__PURE__*/React.createElement(AnimatedClipPath, _ref.cn("AnimatedClipPath", {
130
130
  "aria-hidden": true,
131
- "setAttributeTag": function setAttributeTag(rect) {
132
- rect.setAttribute('width', size[0]);
133
- },
131
+ "duration": duration,
134
132
  "id": uid,
135
133
  "x": '0',
136
134
  "y": '0',
137
135
  "width": 0,
138
- "height": size[1],
139
- "transition": "width ".concat(duration, "ms ease-in-out")
136
+ "height": size[1]
140
137
  })));
141
138
  }
142
139
  }]);
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","names":["React","curveLinear","line","d3Line","area","d3Area","curveCardinal","Component","sstyled","uniqueIDEnhancement","useUID","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","interpolateValue","Dots","ClipPath","style","_sstyled","insert","LineRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getDotsProps","_this$asProps","asProps","x","y","d3","color","resolveColor","duration","transparent","getNullProps","_this$asProps2","data","filter","item","getAreaProps","_this$asProps3","hide","scale","render","_ref","SLine","Element","_this$asProps4","styles","uid","size","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","cn","concat","setAttributeTag","rect","setAttribute","_defineProperty","_ref4","$rootProps","_ref4$curve","curve","_ref5","_ref6","_slicedToArray","xScale","yScale","defined","p","Null","props","_ref2","SNull","Area","_ref3","SAria","y0","y1","_props$curve","_scale","dataToArea"],"sources":["../../src/Line.jsx"],"sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line, area as d3Area, curveCardinal } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement, { useUID } from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport {\n definedData,\n definedNullData,\n scaleOfBandwidth,\n getNullData,\n interpolateValue,\n} from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\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, resolveColor, duration, transparent } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n resolveColor,\n duration,\n transparent,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, resolveColor } = this.asProps;\n const data = this.asProps.data.filter((item) => item[y] !== interpolateValue);\n\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n resolveColor,\n };\n }\n\n getAreaProps() {\n const { x, y, color, hide, duration, scale } = this.asProps;\n const data = this.asProps.data.filter((item) => item[y] !== interpolateValue);\n\n return {\n x,\n y,\n data,\n color,\n hide,\n duration,\n scale,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, resolveColor, uid, size, d3, duration, x, y, transparent } =\n this.asProps;\n const data = this.asProps.data.filter((item) => item[y] !== interpolateValue);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y);\n this.asProps.dataHintsHandler.establishDataType('time-series');\n\n return sstyled(styles)(\n <>\n <SLine\n aria-hidden\n clipPath={`url(#${uid})`}\n render='path'\n hide={hide}\n color={resolveColor(color)}\n transparent={transparent}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n aria-hidden\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\nfunction Area(props) {\n const uid = useUID();\n const {\n Element: SAria,\n styles,\n data,\n hide,\n duration,\n color,\n scale,\n x,\n y0,\n y1,\n curve = curveCardinal,\n area,\n } = props;\n const [xScale, yScale] = scale;\n const dataToArea = area ?? data;\n\n const d3 = d3Area()\n .curve(curve)\n .x((data) => xScale(data[x]))\n .y0((data) => yScale(data[y0]))\n .y1((data) => yScale(data[y1]));\n\n return sstyled(styles)(\n <SAria\n aria-hidden\n clipPath={`url(#${uid})`}\n render='path'\n hide={hide}\n color={color}\n d={d3(dataToArea)}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n Area,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Line.js","names":["React","curveLinear","line","d3Line","area","d3Area","curveCardinal","Component","sstyled","uniqueIDEnhancement","useUID","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","interpolateValue","Dots","AnimatedClipPath","style","_sstyled","insert","LineRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getDotsProps","_this$asProps","asProps","x","y","d3","color","resolveColor","duration","transparent","getNullProps","_this$asProps2","data","filter","item","getAreaProps","_this$asProps3","hide","scale","render","_ref","SLine","Element","_this$asProps4","styles","uid","size","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","cn","concat","_defineProperty","_ref4","$rootProps","_ref4$curve","curve","_ref5","_ref6","_slicedToArray","xScale","yScale","defined","p","Null","props","_ref2","SNull","Area","_ref3","SAria","y0","y1","_props$curve","_scale","dataToArea"],"sources":["../../src/Line.jsx"],"sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line, area as d3Area, curveCardinal } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement, { useUID } from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport {\n definedData,\n definedNullData,\n scaleOfBandwidth,\n getNullData,\n interpolateValue,\n} from './utils';\nimport Dots from './Dots';\nimport AnimatedClipPath from './AnimatedClipPath';\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, resolveColor, duration, transparent } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n resolveColor,\n duration,\n transparent,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, resolveColor } = this.asProps;\n const data = this.asProps.data.filter((item) => item[y] !== interpolateValue);\n\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n resolveColor,\n };\n }\n\n getAreaProps() {\n const { x, y, color, hide, duration, scale } = this.asProps;\n const data = this.asProps.data.filter((item) => item[y] !== interpolateValue);\n\n return {\n x,\n y,\n data,\n color,\n hide,\n duration,\n scale,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, resolveColor, uid, size, d3, duration, x, y, transparent } =\n this.asProps;\n const data = this.asProps.data.filter((item) => item[y] !== interpolateValue);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y);\n this.asProps.dataHintsHandler.establishDataType('time-series');\n\n return sstyled(styles)(\n <>\n <SLine\n aria-hidden\n clipPath={`url(#${uid})`}\n render='path'\n hide={hide}\n color={resolveColor(color)}\n transparent={transparent}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <AnimatedClipPath\n aria-hidden\n duration={duration}\n id={uid}\n x='0'\n y='0'\n width={0}\n height={size[1]}\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\nfunction Area(props) {\n const uid = useUID();\n const {\n Element: SAria,\n styles,\n data,\n hide,\n duration,\n color,\n scale,\n x,\n y0,\n y1,\n curve = curveCardinal,\n area,\n } = props;\n const [xScale, yScale] = scale;\n const dataToArea = area ?? data;\n\n const d3 = d3Area()\n .curve(curve)\n .x((data) => xScale(data[x]))\n .y0((data) => yScale(data[y0]))\n .y1((data) => yScale(data[y1]));\n\n return sstyled(styles)(\n <SAria\n aria-hidden\n clipPath={`url(#${uid})`}\n render='path'\n hide={hide}\n color={color}\n d={d3(dataToArea)}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n Area,\n});\n"],"mappings":"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"}