@semcore/d3-chart 2.17.2 → 2.17.4

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 (114) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/lib/cjs/Area.js +14 -14
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +23 -22
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +12 -12
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +13 -13
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +2 -2
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +45 -43
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +11 -11
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js.map +1 -1
  17. package/lib/cjs/HorizontalBar.js +12 -12
  18. package/lib/cjs/HorizontalBar.js.map +1 -1
  19. package/lib/cjs/Hover.js +7 -7
  20. package/lib/cjs/Hover.js.map +1 -1
  21. package/lib/cjs/Line.js +12 -12
  22. package/lib/cjs/Line.js.map +1 -1
  23. package/lib/cjs/Plot.js +8 -8
  24. package/lib/cjs/Plot.js.map +1 -1
  25. package/lib/cjs/Radar.js +46 -45
  26. package/lib/cjs/Radar.js.map +1 -1
  27. package/lib/cjs/RadialTree.js +30 -29
  28. package/lib/cjs/RadialTree.js.map +1 -1
  29. package/lib/cjs/ReferenceLine.js +14 -14
  30. package/lib/cjs/ReferenceLine.js.map +1 -1
  31. package/lib/cjs/ScatterPlot.js +9 -9
  32. package/lib/cjs/ScatterPlot.js.map +1 -1
  33. package/lib/cjs/StackBar.js.map +1 -1
  34. package/lib/cjs/StackedArea.js.map +1 -1
  35. package/lib/cjs/Tooltip.js +10 -10
  36. package/lib/cjs/Tooltip.js.map +1 -1
  37. package/lib/cjs/Venn.js +8 -8
  38. package/lib/cjs/Venn.js.map +1 -1
  39. package/lib/cjs/a11y/PlotA11yModule.js +4 -5
  40. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  41. package/lib/cjs/a11y/PlotA11yView.js +6 -6
  42. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  43. package/lib/cjs/a11y/focus.js +0 -3
  44. package/lib/cjs/a11y/focus.js.map +1 -1
  45. package/lib/cjs/a11y/hints.js.map +1 -1
  46. package/lib/cjs/a11y/insights.js +1 -1
  47. package/lib/cjs/a11y/insights.js.map +1 -1
  48. package/lib/cjs/a11y/intl.js +2 -4
  49. package/lib/cjs/a11y/intl.js.map +1 -1
  50. package/lib/cjs/a11y/locale.js +0 -1
  51. package/lib/cjs/a11y/locale.js.map +1 -1
  52. package/lib/cjs/createElement.js +1 -2
  53. package/lib/cjs/createElement.js.map +1 -1
  54. package/lib/cjs/types/index.d.js.map +1 -1
  55. package/lib/cjs/utils.js +17 -18
  56. package/lib/cjs/utils.js.map +1 -1
  57. package/lib/es6/Area.js +14 -14
  58. package/lib/es6/Area.js.map +1 -1
  59. package/lib/es6/Axis.js +23 -22
  60. package/lib/es6/Axis.js.map +1 -1
  61. package/lib/es6/Bar.js +12 -12
  62. package/lib/es6/Bar.js.map +1 -1
  63. package/lib/es6/Bubble.js +13 -13
  64. package/lib/es6/Bubble.js.map +1 -1
  65. package/lib/es6/ClipPath.js +2 -2
  66. package/lib/es6/ClipPath.js.map +1 -1
  67. package/lib/es6/Donut.js +46 -44
  68. package/lib/es6/Donut.js.map +1 -1
  69. package/lib/es6/Dots.js +11 -11
  70. package/lib/es6/Dots.js.map +1 -1
  71. package/lib/es6/GroupBar.js.map +1 -1
  72. package/lib/es6/HorizontalBar.js +12 -12
  73. package/lib/es6/HorizontalBar.js.map +1 -1
  74. package/lib/es6/Hover.js +7 -7
  75. package/lib/es6/Hover.js.map +1 -1
  76. package/lib/es6/Line.js +12 -12
  77. package/lib/es6/Line.js.map +1 -1
  78. package/lib/es6/Plot.js +8 -8
  79. package/lib/es6/Plot.js.map +1 -1
  80. package/lib/es6/Radar.js +46 -45
  81. package/lib/es6/Radar.js.map +1 -1
  82. package/lib/es6/RadialTree.js +30 -29
  83. package/lib/es6/RadialTree.js.map +1 -1
  84. package/lib/es6/ReferenceLine.js +14 -14
  85. package/lib/es6/ReferenceLine.js.map +1 -1
  86. package/lib/es6/ScatterPlot.js +9 -9
  87. package/lib/es6/ScatterPlot.js.map +1 -1
  88. package/lib/es6/StackBar.js.map +1 -1
  89. package/lib/es6/StackedArea.js.map +1 -1
  90. package/lib/es6/Tooltip.js +10 -10
  91. package/lib/es6/Tooltip.js.map +1 -1
  92. package/lib/es6/Venn.js +8 -8
  93. package/lib/es6/Venn.js.map +1 -1
  94. package/lib/es6/a11y/PlotA11yModule.js +4 -5
  95. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  96. package/lib/es6/a11y/PlotA11yView.js +6 -6
  97. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  98. package/lib/es6/a11y/focus.js +0 -3
  99. package/lib/es6/a11y/focus.js.map +1 -1
  100. package/lib/es6/a11y/hints.js.map +1 -1
  101. package/lib/es6/a11y/insights.js +1 -1
  102. package/lib/es6/a11y/insights.js.map +1 -1
  103. package/lib/es6/a11y/intl.js +2 -4
  104. package/lib/es6/a11y/intl.js.map +1 -1
  105. package/lib/es6/a11y/locale.js +0 -1
  106. package/lib/es6/a11y/locale.js.map +1 -1
  107. package/lib/es6/createElement.js +1 -2
  108. package/lib/es6/createElement.js.map +1 -1
  109. package/lib/es6/types/index.d.js +1 -2
  110. package/lib/es6/types/index.d.js.map +1 -1
  111. package/lib/es6/utils.js +17 -18
  112. package/lib/es6/utils.js.map +1 -1
  113. package/lib/types/index.d.ts +2 -2
  114. package/package.json +1 -1
package/lib/es6/Bubble.js CHANGED
@@ -18,16 +18,16 @@ import createElement from './createElement';
18
18
  import ClipPath from './ClipPath';
19
19
  import { CONSTANT, measureText } from './utils';
20
20
  /*__reshadow-styles__:"./style/bubble.shadow.css"*/
21
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_omz37_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_omz37);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_omz37_gg_:hover{opacity:.8}}.___SBubble_omz37_gg_.__color_omz37_gg_{fill:var(--color_omz37)}.___SBubble_omz37_gg_.__transparent_omz37_gg_{opacity:.3}.___SCenter_omz37_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_omz37_gg_.__color_omz37_gg_{stroke:var(--color_omz37)}.___SCenter_omz37_gg_.__transparent_omz37_gg_{opacity:.3}.___SLabel_omz37_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_omz37_gg_._position_right_omz37_gg_{text-anchor:end}.___SLabel_omz37_gg_._position_left_omz37_gg_{text-anchor:start}.___SLabel_omz37_gg_.__color_omz37_gg_{fill:var(--color_omz37)}.___SLabel_omz37_gg_.__transparent_omz37_gg_{opacity:.3}" /*__inner_css_end__*/, "omz37_gg_") /*__reshadow_css_end__*/, {
22
- "__SBubble": "___SBubble_omz37_gg_",
23
- "--duration": "--duration_omz37",
24
- "_color": "__color_omz37_gg_",
25
- "--color": "--color_omz37",
26
- "_transparent": "__transparent_omz37_gg_",
27
- "__SCenter": "___SCenter_omz37_gg_",
28
- "__SLabel": "___SLabel_omz37_gg_",
29
- "_position_right": "_position_right_omz37_gg_",
30
- "_position_left": "_position_left_omz37_gg_"
21
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_1hemx_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_1hemx);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_1hemx_gg_:hover{opacity:.8}}.___SBubble_1hemx_gg_.__color_1hemx_gg_{fill:var(--color_1hemx)}.___SBubble_1hemx_gg_.__transparent_1hemx_gg_{opacity:.3}.___SCenter_1hemx_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_1hemx_gg_.__color_1hemx_gg_{stroke:var(--color_1hemx)}.___SCenter_1hemx_gg_.__transparent_1hemx_gg_{opacity:.3}.___SLabel_1hemx_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_1hemx_gg_._position_right_1hemx_gg_{text-anchor:end}.___SLabel_1hemx_gg_._position_left_1hemx_gg_{text-anchor:start}.___SLabel_1hemx_gg_.__color_1hemx_gg_{fill:var(--color_1hemx)}.___SLabel_1hemx_gg_.__transparent_1hemx_gg_{opacity:.3}" /*__inner_css_end__*/, "1hemx_gg_") /*__reshadow_css_end__*/, {
22
+ "__SBubble": "___SBubble_1hemx_gg_",
23
+ "--duration": "--duration_1hemx",
24
+ "_color": "__color_1hemx_gg_",
25
+ "--color": "--color_1hemx",
26
+ "_transparent": "__transparent_1hemx_gg_",
27
+ "__SCenter": "___SCenter_1hemx_gg_",
28
+ "__SLabel": "___SLabel_1hemx_gg_",
29
+ "_position_right": "_position_right_1hemx_gg_",
30
+ "_position_left": "_position_left_1hemx_gg_"
31
31
  });
32
32
  var BubbleRoot = /*#__PURE__*/function (_Component) {
33
33
  _inherits(BubbleRoot, _Component);
@@ -143,7 +143,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
143
143
  "aria-hidden": true,
144
144
  "x": xScale(d[x]) + offset[0],
145
145
  "y": yScale(d[y]) + offset[1],
146
- "dy": ".3em",
146
+ "dy": '.3em',
147
147
  "clipPath": "url(#".concat(uid, ")"),
148
148
  "color": (_d$color = d[color]) !== null && _d$color !== void 0 ? _d$color : color,
149
149
  "transparent": transparent
@@ -151,7 +151,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
151
151
  "aria-hidden": true,
152
152
  "id": "".concat(uid).concat(uid),
153
153
  "index": i,
154
- "render": "circle",
154
+ "render": 'circle',
155
155
  "clipPath": "url(#".concat(uid, ")"),
156
156
  "cx": xScale(d[x]) + offset[0],
157
157
  "cy": yScale(d[y]) + offset[1],
@@ -163,7 +163,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
163
163
  "aria-hidden": true,
164
164
  "x": labelDistance,
165
165
  "y": yScale(d[y]) + offset[1],
166
- "dy": ".3em",
166
+ "dy": '.3em',
167
167
  "clipPath": "url(#".concat(uid, ")"),
168
168
  "position": labelPosition,
169
169
  "color": d[color],
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","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","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, 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';\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 =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n 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 } = 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 })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: 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={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={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={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 Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","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","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, 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';\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) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n 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 } = 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 })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: 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={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={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={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 Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
@@ -42,7 +42,8 @@ var ClipPath = /*#__PURE__*/function (_Component) {
42
42
  if (!document || !id || !document.querySelector("#".concat(id))) return;
43
43
  var svg = document.querySelector("#".concat(id)).closest('svg');
44
44
  Array.from(svg.querySelectorAll("[clip-path=\"url(#".concat(id, ")\"]"))).forEach(function (node) {
45
- node && node.getTotalLength && node.getTotalLength();
45
+ var _node$getTotalLength;
46
+ node === null || node === void 0 ? void 0 : (_node$getTotalLength = node.getTotalLength) === null || _node$getTotalLength === void 0 ? void 0 : _node$getTotalLength.call(node);
46
47
  });
47
48
  this.setAttributeTag();
48
49
  }
@@ -54,7 +55,6 @@ var ClipPath = /*#__PURE__*/function (_Component) {
54
55
  }, {
55
56
  key: "render",
56
57
  value: function render() {
57
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
58
58
  var _this$asProps2 = this.asProps,
59
59
  id = _this$asProps2.id,
60
60
  transition = _this$asProps2.transition,
@@ -1 +1 @@
1
- {"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","_createClass","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties","_excluded","createElement","ref","refClipPath","_extends","_objectSpread"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node && node.getTotalLength && node.getTotalLength();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","_createClass","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","_node$getTotalLength","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties","_excluded","createElement","ref","refClipPath","_extends","_objectSpread"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node?.getTotalLength?.();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":"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"}
package/lib/es6/Donut.js CHANGED
@@ -8,7 +8,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
8
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
9
  import { sstyled as _sstyled } from "@semcore/core";
10
10
  var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler", "transparent"];
11
- import React, { useEffect, useState } from 'react';
11
+ import React, { useEffect, useRef, useState } from 'react';
12
12
  import { arc, pie } from 'd3-shape';
13
13
  import { interpolate } from 'd3-interpolate';
14
14
  import { transition } from 'd3-transition';
@@ -19,13 +19,13 @@ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
19
19
  import createElement from './createElement';
20
20
  import { CONSTANT } from './utils';
21
21
  /*__reshadow-styles__:"./style/donut.shadow.css"*/
22
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_y8ad9_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_y8ad9_gg_.__color_y8ad9_gg_{fill:var(--color_y8ad9)}.___SPie_y8ad9_gg_.__transparent_y8ad9_gg_{opacity:.3}.___SEmptyData_y8ad9_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_y8ad9_gg_.__color_y8ad9_gg_{fill:var(--color_y8ad9)}.___SLabel_y8ad9_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "y8ad9_gg_") /*__reshadow_css_end__*/, {
23
- "__SPie": "___SPie_y8ad9_gg_",
24
- "_color": "__color_y8ad9_gg_",
25
- "--color": "--color_y8ad9",
26
- "_transparent": "__transparent_y8ad9_gg_",
27
- "__SEmptyData": "___SEmptyData_y8ad9_gg_",
28
- "__SLabel": "___SLabel_y8ad9_gg_"
22
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_1b4fv_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_1b4fv_gg_.__color_1b4fv_gg_{fill:var(--color_1b4fv)}.___SPie_1b4fv_gg_.__transparent_1b4fv_gg_{opacity:.3}.___SEmptyData_1b4fv_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_1b4fv_gg_.__color_1b4fv_gg_{fill:var(--color_1b4fv)}.___SLabel_1b4fv_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "1b4fv_gg_") /*__reshadow_css_end__*/, {
23
+ "__SPie": "___SPie_1b4fv_gg_",
24
+ "_color": "__color_1b4fv_gg_",
25
+ "--color": "--color_1b4fv",
26
+ "_transparent": "__transparent_1b4fv_gg_",
27
+ "__SEmptyData": "___SEmptyData_1b4fv_gg_",
28
+ "__SLabel": "___SLabel_1b4fv_gg_"
29
29
  });
30
30
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
31
31
  function transitionAnglePie(_ref4) {
@@ -62,16 +62,19 @@ function transitionAnglePie(_ref4) {
62
62
  function transitionRadiusPie(_ref5) {
63
63
  var data = _ref5.data,
64
64
  selector = _ref5.selector,
65
+ element = _ref5.element,
65
66
  duration = _ref5.duration,
66
67
  innerRadius = _ref5.innerRadius,
67
- outerRadiusMinMax = _ref5.outerRadiusMinMax;
68
+ outerRadiusStartEnd = _ref5.outerRadiusStartEnd;
68
69
  return transition().selection().select(selector).interrupt().transition().duration(duration).attrTween('d', function () {
69
- var _outerRadiusMinMax = _slicedToArray(outerRadiusMinMax, 2),
70
- min = _outerRadiusMinMax[0],
71
- max = _outerRadiusMinMax[1];
72
- var iOuterRadius = interpolate(min, max);
70
+ var _outerRadiusStartEnd = _slicedToArray(outerRadiusStartEnd, 2),
71
+ start = _outerRadiusStartEnd[0],
72
+ end = _outerRadiusStartEnd[1];
73
+ var iOuterRadius = interpolate(start, end);
73
74
  return function (t) {
74
- var d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));
75
+ var outerRadiusPX = iOuterRadius(t);
76
+ element.dataset['currentRadius'] = outerRadiusPX;
77
+ var d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);
75
78
  return d3ArcOut(data);
76
79
  };
77
80
  });
@@ -79,13 +82,12 @@ function transitionRadiusPie(_ref5) {
79
82
  var increaseFactor = 8;
80
83
  function getOuterRadius(_ref6) {
81
84
  var size = _ref6.size,
82
- halfsize = _ref6.halfsize,
83
- outerRadius = _ref6.outerRadius;
85
+ halfsize = _ref6.halfsize;
84
86
  var _size = _slicedToArray(size, 2),
85
87
  width = _size[0],
86
88
  height = _size[1];
87
89
  var minORmax = halfsize ? Math.max : Math.min;
88
- return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;
90
+ return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;
89
91
  }
90
92
  var DonutRoot = /*#__PURE__*/function (_Component) {
91
93
  _inherits(DonutRoot, _Component);
@@ -113,28 +115,22 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
113
115
  _defineProperty(_assertThisInitialized(_this), "animationActivePie", function (_ref8) {
114
116
  var data = _ref8.data,
115
117
  active = _ref8.active,
116
- selector = _ref8.selector;
118
+ selector = _ref8.selector,
119
+ element = _ref8.element;
117
120
  var _this$asProps = _this.asProps,
118
121
  duration = _this$asProps.duration,
119
122
  innerRadius = _this$asProps.innerRadius,
120
- _outerRadius = _this$asProps.outerRadius,
121
- size = _this$asProps.size,
122
- halfsize = _this$asProps.halfsize;
123
- var outerRadius = getOuterRadius({
124
- size: size,
125
- halfsize: halfsize,
126
- outerRadius: _outerRadius
127
- });
128
- if (_this.canAnimatedHover) {
129
- if (duration > 0) {
130
- transitionRadiusPie({
131
- data: data,
132
- selector: "#".concat(_this.id, " ").concat(selector),
133
- duration: duration === 0 ? 0 : 300,
134
- innerRadius: innerRadius,
135
- outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius]
136
- });
137
- }
123
+ d3Arc = _this$asProps.d3Arc;
124
+ var outerRadius = d3Arc.outerRadius()();
125
+ if (_this.canAnimatedHover && duration > 0) {
126
+ transitionRadiusPie({
127
+ data: data,
128
+ selector: "#".concat(_this.id, " ").concat(selector),
129
+ element: element,
130
+ duration: duration === 0 ? 0 : 300,
131
+ innerRadius: innerRadius,
132
+ outerRadiusStartEnd: active ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor] : [+element.dataset['currentRadius'] || outerRadius, outerRadius]
133
+ });
138
134
  }
139
135
  });
140
136
  _defineProperty(_assertThisInitialized(_this), "animationUpdatePie", function () {
@@ -249,7 +245,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
249
245
  _this2.animationActivePie({
250
246
  active: true,
251
247
  data: data,
252
- selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
248
+ selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]"),
249
+ element: e.target
253
250
  });
254
251
  }
255
252
  },
@@ -258,7 +255,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
258
255
  _this2.animationActivePie({
259
256
  active: false,
260
257
  data: data,
261
- selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
258
+ selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]"),
259
+ element: e.target
262
260
  });
263
261
  }
264
262
  }
@@ -319,16 +317,15 @@ _defineProperty(DonutRoot, "defaultProps", function (_ref18) {
319
317
  _ref18$halfsize = _ref18.halfsize,
320
318
  halfsize = _ref18$halfsize === void 0 ? false : _ref18$halfsize,
321
319
  size = _ref18.$rootProps.size;
322
- var d3Arc = arc().outerRadius(getOuterRadius({
320
+ var d3Arc = arc().outerRadius(outerRadius || getOuterRadius({
323
321
  size: size,
324
322
  halfsize: halfsize,
325
323
  outerRadius: outerRadius
326
324
  })).innerRadius(innerRadius);
327
- var d3ArcOut = arc().outerRadius(getOuterRadius({
325
+ var d3ArcOut = arc().outerRadius((outerRadius || getOuterRadius({
328
326
  size: size,
329
- halfsize: halfsize,
330
- outerRadius: outerRadius
331
- }) + increaseFactor).innerRadius(innerRadius);
327
+ halfsize: halfsize
328
+ })) + increaseFactor).innerRadius(innerRadius);
332
329
  var d3Pie = pie().sort(null).value(function (_ref19) {
333
330
  var _ref20 = _slicedToArray(_ref19, 2),
334
331
  value = _ref20[1];
@@ -364,7 +361,10 @@ function Pie(_ref15) {
364
361
  _useState2 = _slicedToArray(_useState, 2),
365
362
  isMount = _useState2[0],
366
363
  setIsMount = _useState2[1];
364
+ var pieRef = useRef(null);
367
365
  useEffect(function () {
366
+ pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();
367
+
368
368
  // do not run animation on first render
369
369
  if (!isMount) {
370
370
  setIsMount(true);
@@ -374,7 +374,8 @@ function Pie(_ref15) {
374
374
  $animationActivePie({
375
375
  active: active,
376
376
  data: data,
377
- selector: "[name=\"".concat(other.name, "\"]")
377
+ selector: "[name=\"".concat(other.name, "\"]"),
378
+ element: pieRef.current
378
379
  });
379
380
  }
380
381
  }, [active]);
@@ -382,6 +383,7 @@ function Pie(_ref15) {
382
383
  dataHintsHandler.describeValueEntity(dataKey, name);
383
384
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SPie, _ref.cn("SPie", {
384
385
  "render": 'path',
386
+ "ref": pieRef,
385
387
  "color": color,
386
388
  "d": active ? d3ArcOut(data) : d3Arc(data),
387
389
  "transparent": transparent
@@ -1 +1 @@
1
- {"version":3,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","innerRadius","outerRadiusMinMax","select","_outerRadiusMinMax","_slicedToArray","min","max","iOuterRadius","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","_outerRadius","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({ selector, duration, halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function(_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function(t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({ data, selector, duration, innerRadius, outerRadiusMinMax }) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n const [min, max] = outerRadiusMinMax;\n const iOuterRadius = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie, d3Arc, d3ArcOut, duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue = pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = ({ data, active, selector }) => {\n const { duration, innerRadius, outerRadius: _outerRadius, size, halfsize } = this.asProps;\n const outerRadius = getOuterRadius({ size, halfsize, outerRadius: _outerRadius });\n\n if (this.canAnimatedHover) {\n if (duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius],\n });\n }\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (<Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />);\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n\n useEffect(() => {\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({ active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(<SPie\n render='path'\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(<SEmptyData render='path' color={color}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />);\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(<SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>);\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Donut.js","names":["React","useEffect","useRef","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","pieRef","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render='path' color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
package/lib/es6/Dots.js CHANGED
@@ -7,15 +7,15 @@ import trottle from '@semcore/utils/lib/rafTrottle';
7
7
  import createElement from './createElement';
8
8
  import { eventToPoint, invert } from './utils';
9
9
  /*__reshadow-styles__:"./style/dot.shadow.css"*/
10
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_x8t9u_gg_ .___SDot_x8t9u_gg_{transition-duration:var(--duration_x8t9u)}.___SDot_x8t9u_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_x8t9u_gg_.__hide_x8t9u_gg_{display:none}.___SDot_x8t9u_gg_.__active_x8t9u_gg_{r:8px}.___SDot_x8t9u_gg_.__color_x8t9u_gg_{fill:var(--color_x8t9u)}.___SDot_x8t9u_gg_.__transparent_x8t9u_gg_{opacity:.3}" /*__inner_css_end__*/, "x8t9u_gg_") /*__reshadow_css_end__*/, {
11
- "__SDots": "___SDots_x8t9u_gg_",
12
- "__SDot": "___SDot_x8t9u_gg_",
13
- "--duration": "--duration_x8t9u",
14
- "_hide": "__hide_x8t9u_gg_",
15
- "_active": "__active_x8t9u_gg_",
16
- "_color": "__color_x8t9u_gg_",
17
- "--color": "--color_x8t9u",
18
- "_transparent": "__transparent_x8t9u_gg_"
10
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1cya0_gg_ .___SDot_1cya0_gg_{transition-duration:var(--duration_1cya0)}.___SDot_1cya0_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1cya0_gg_.__hide_1cya0_gg_{display:none}.___SDot_1cya0_gg_.__active_1cya0_gg_{r:8px}.___SDot_1cya0_gg_.__color_1cya0_gg_{fill:var(--color_1cya0)}.___SDot_1cya0_gg_.__transparent_1cya0_gg_{opacity:.3}" /*__inner_css_end__*/, "1cya0_gg_") /*__reshadow_css_end__*/, {
11
+ "__SDots": "___SDots_1cya0_gg_",
12
+ "__SDot": "___SDot_1cya0_gg_",
13
+ "--duration": "--duration_1cya0",
14
+ "_hide": "__hide_1cya0_gg_",
15
+ "_active": "__active_1cya0_gg_",
16
+ "_color": "__color_1cya0_gg_",
17
+ "--color": "--color_1cya0",
18
+ "_transparent": "__transparent_1cya0_gg_"
19
19
  });
20
20
  var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
21
21
  function Dots(props) {
@@ -76,8 +76,8 @@ function Dots(props) {
76
76
  if (!visible) return acc;
77
77
  acc.push((_ref = sstyled(styles), /*#__PURE__*/React.createElement(SDot, _ref.cn("SDot", {
78
78
  "aria-hidden": true,
79
- "key": i,
80
- "render": "circle",
79
+ "key": "".concat(i),
80
+ "render": 'circle',
81
81
  "visible": visible,
82
82
  "__excludeProps": EXCLUDE_PROPS,
83
83
  "value": d,
@@ -1 +1 @@
1
- {"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","trottle","createElement","eventToPoint","invert","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","d","center","_useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","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, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } 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 data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, 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={color}\n transparent={transparent}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,UAAU;AACnC,OAAOC,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC/D,SAASC,OAAO,QAAQ,eAAe;AACvC,OAAOC,OAAO,MAAM,+BAA+B;AACnD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,YAAY,EAAEC,MAAM,QAAQ,SAAS;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAI/C,IAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;AAE3D,SAASC,IAAIA,CAACC,KAAK,EAAE;EAAA,IAAAC,KAAA;EACnB,IACWC,IAAI,GAcXF,KAAK,CAdPG,OAAO;IACPC,MAAM,GAaJJ,KAAK,CAbPI,MAAM;IACNC,IAAI,GAYFL,KAAK,CAZPK,IAAI;IACJC,KAAK,GAWHN,KAAK,CAXPM,KAAK;IACLC,EAAE,GAUAP,KAAK,CAVPO,EAAE;IACFC,CAAC,GASCR,KAAK,CATPQ,CAAC;IACDC,CAAC,GAQCT,KAAK,CARPS,CAAC;IACDC,YAAY,GAOVV,KAAK,CAPPU,YAAY;IACZC,OAAO,GAMLX,KAAK,CANPW,OAAO;IACPC,IAAI,GAKFZ,KAAK,CALPY,IAAI;IACJC,OAAO,GAILb,KAAK,CAJPa,OAAO;IACPC,KAAK,GAGHd,KAAK,CAHPc,KAAK;IAAAC,eAAA,GAGHf,KAAK,CAFPgB,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,GAAG,GAAAA,eAAA;IACdE,WAAW,GACTjB,KAAK,CADPiB,WAAW;EAEb,IAAMC,KAAK,GAAG,GAAG;EACjB,IAAMC,MAAM,GAAGlC,QAAQ,CAAC,UAACmC,CAAC;IAAA,OAAKA,CAAC,CAACZ,CAAC,CAAC;EAAA,EAAC,CAACa,MAAM;EAC3C,IAAAC,SAAA,GAAsCjC,QAAQ,CAAC,IAAI,CAAC;IAAAkC,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAA7CG,WAAW,GAAAF,UAAA;IAAEG,cAAc,GAAAH,UAAA;EAElC,IAAMI,oBAAoB,GAAGxC,WAAW,CACtCI,OAAO,CAAC,UAACqC,CAAC,EAAK;IACb,IAAAC,MAAA,GAAAL,cAAA,CAAiBV,KAAK;MAAfgB,MAAM,GAAAD,MAAA;IACb,IAAAE,aAAA,GAAatC,YAAY,CAACmC,CAAC,EAAEf,OAAO,CAACmB,OAAO,CAAC;MAAAC,cAAA,GAAAT,cAAA,CAAAO,aAAA;MAAtCG,EAAE,GAAAD,cAAA;IACT,IAAME,EAAE,GAAGzC,MAAM,CAACoC,MAAM,EAAEI,EAAE,CAAC;IAC7BR,cAAc,CAACP,MAAM,CAACd,IAAI,EAAE8B,EAAE,CAAC,CAAC;EAClC,CAAC,CAAC,EACF,CAACrB,KAAK,EAAET,IAAI,CAAC,CACd;EAED,IAAM+B,qBAAqB,GAAGjD,WAAW,CACvCI,OAAO,CAAC,YAAM;IACZmC,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC,CAAC,EACF,EAAE,CACH;EAEDtC,SAAS,CAAC,YAAM;IACd,IAAMiD,wBAAwB,GAAG3B,YAAY,CAAC4B,SAAS,CAAC,kBAAkB,EAAE,UAACV,CAAC,EAAK;MACjFA,CAAC,CAACW,OAAO,EAAE;MACXZ,oBAAoB,CAACC,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAMY,yBAAyB,GAAG9B,YAAY,CAAC4B,SAAS,CACtD,mBAAmB,EACnBF,qBAAqB,CACtB;IAED,OAAO,YAAM;MACXC,wBAAwB,EAAE;MAC1BG,yBAAyB,EAAE;IAC7B,CAAC;EACH,CAAC,EAAE,CAAC9B,YAAY,EAAEI,KAAK,EAAET,IAAI,EAAEG,CAAC,EAAEC,CAAC,CAAC,CAAC;EAErC,IAAMgC,IAAI,GAAGpC,IAAI,CAACqC,MAAM,CAAC,UAACC,GAAG,EAAEvB,CAAC,EAAEwB,CAAC,EAAK;IAAA,IAAAC,IAAA;IACtC,IAAMC,MAAM,GAAGvC,EAAE,CAACwC,OAAO,EAAE,CAAC1C,IAAI,CAACuC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAMI,MAAM,GAAGzC,EAAE,CAACwC,OAAO,EAAE,CAAC1C,IAAI,CAACuC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAMK,MAAM,GAAGL,CAAC,KAAKnB,WAAW;IAChC,IAAMyB,OAAO,GAAGvC,OAAO,IAAIiC,CAAC,KAAKnB,WAAW,IAAK,CAACqB,MAAM,IAAI,CAACE,MAAO;IACpE,IAAI,CAACzC,EAAE,CAACwC,OAAO,EAAE,CAAC3B,CAAC,CAAC,EAAE,OAAOuB,GAAG;IAChC,IAAI,CAACO,OAAO,EAAE,OAAOP,GAAG;IACxBA,GAAG,CAACQ,IAAI,EAAAN,IAAA,GACNvD,OAAO,CAACc,MAAM,CAAC,eACblB,KAAA,CAAAM,aAAA,CAACU,IAAI,EAAA2C,IAAA,CAAAO,EAAA;MAAA;MAAA,OAEER,CAAC;MAAA,UACC,QAAQ;MAAA,WACNM,OAAO;MAAA,kBACApD,aAAa;MAAA,SACtBsB,CAAC;MAAA,SACDwB,CAAC;MAAA,MACJrC,EAAE,CAACC,CAAC,EAAE,CAACY,CAAC,CAAC;MAAA,MACTb,EAAE,CAACE,CAAC,EAAE,CAACW,CAAC,CAAC;MAAA,UACL6B,MAAM;MAAA,QACRrC,IAAI;MAAA,SACHN,KAAK;MAAA,eACCW;IAAW,GACxB,EAEL;IACD,OAAO0B,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;EACN,OAAA1C,KAAA,GAAOX,OAAO,CAACc,MAAM,CAAC,eAAClB,KAAA,CAAAM,aAAA,CAAC0B,KAAK,EAAAjB,KAAA,CAAAmD,EAAA;IAAA,mBAAAC,MAAA,CAAkBrC,QAAQ;EAAA,IAAOyB,IAAI,CAAS;AAC7E;AAEA1C,IAAI,CAACJ,KAAK,GAAGA,KAAK;AAElB,eAAeH,aAAa,CAACO,IAAI,CAAC"}
1
+ {"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","trottle","createElement","eventToPoint","invert","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","d","center","_useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","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, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } 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 data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, 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={color}\n transparent={transparent}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}