@semcore/d3-chart 2.13.4 → 2.13.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/lib/cjs/Area.js +59 -97
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +76 -143
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +49 -96
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +39 -81
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +9 -35
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +77 -152
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +29 -57
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js +5 -26
  17. package/lib/cjs/GroupBar.js.map +1 -1
  18. package/lib/cjs/HorizontalBar.js +43 -84
  19. package/lib/cjs/HorizontalBar.js.map +1 -1
  20. package/lib/cjs/Hover.js +33 -88
  21. package/lib/cjs/Hover.js.map +1 -1
  22. package/lib/cjs/Line.js +42 -78
  23. package/lib/cjs/Line.js.map +1 -1
  24. package/lib/cjs/Plot.js +27 -73
  25. package/lib/cjs/Plot.js.map +1 -1
  26. package/lib/cjs/Radar.js +153 -278
  27. package/lib/cjs/Radar.js.map +1 -1
  28. package/lib/cjs/RadialTree.js +105 -211
  29. package/lib/cjs/RadialTree.js.map +1 -1
  30. package/lib/cjs/ReferenceLine.js +45 -87
  31. package/lib/cjs/ReferenceLine.js.map +1 -1
  32. package/lib/cjs/ResponsiveContainer.js +9 -38
  33. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  34. package/lib/cjs/ScatterPlot.js +34 -74
  35. package/lib/cjs/ScatterPlot.js.map +1 -1
  36. package/lib/cjs/StackBar.js +9 -38
  37. package/lib/cjs/StackBar.js.map +1 -1
  38. package/lib/cjs/StackedArea.js +5 -29
  39. package/lib/cjs/StackedArea.js.map +1 -1
  40. package/lib/cjs/Tooltip.js +27 -76
  41. package/lib/cjs/Tooltip.js.map +1 -1
  42. package/lib/cjs/Venn.js +32 -75
  43. package/lib/cjs/Venn.js.map +1 -1
  44. package/lib/cjs/a11y/PlotA11yModule.js +18 -71
  45. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  46. package/lib/cjs/a11y/PlotA11yView.js +19 -83
  47. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  48. package/lib/cjs/a11y/bezier.js +0 -7
  49. package/lib/cjs/a11y/bezier.js.map +1 -1
  50. package/lib/cjs/a11y/focus.js +2 -11
  51. package/lib/cjs/a11y/focus.js.map +1 -1
  52. package/lib/cjs/a11y/hints.js +0 -13
  53. package/lib/cjs/a11y/hints.js.map +1 -1
  54. package/lib/cjs/a11y/insights.js +21 -132
  55. package/lib/cjs/a11y/insights.js.map +1 -1
  56. package/lib/cjs/a11y/intl.js +0 -6
  57. package/lib/cjs/a11y/intl.js.map +1 -1
  58. package/lib/cjs/a11y/locale.js +4 -22
  59. package/lib/cjs/a11y/locale.js.map +1 -1
  60. package/lib/cjs/a11y/serialize.js +23 -83
  61. package/lib/cjs/a11y/serialize.js.map +1 -1
  62. package/lib/cjs/a11y/summarize.js +0 -4
  63. package/lib/cjs/a11y/summarize.js.map +1 -1
  64. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
  65. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  66. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
  67. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  68. package/lib/cjs/color.js +0 -3
  69. package/lib/cjs/color.js.map +1 -1
  70. package/lib/cjs/createElement.js +18 -47
  71. package/lib/cjs/createElement.js.map +1 -1
  72. package/lib/cjs/index.js +0 -23
  73. package/lib/cjs/index.js.map +1 -1
  74. package/lib/cjs/types/Plot.d.js.map +1 -1
  75. package/lib/cjs/types/index.d.js +0 -39
  76. package/lib/cjs/types/index.d.js.map +1 -1
  77. package/lib/cjs/utils.js +7 -59
  78. package/lib/cjs/utils.js.map +1 -1
  79. package/lib/es6/Area.js +59 -86
  80. package/lib/es6/Area.js.map +1 -1
  81. package/lib/es6/Axis.js +76 -135
  82. package/lib/es6/Axis.js.map +1 -1
  83. package/lib/es6/Bar.js +49 -86
  84. package/lib/es6/Bar.js.map +1 -1
  85. package/lib/es6/Bubble.js +39 -70
  86. package/lib/es6/Bubble.js.map +1 -1
  87. package/lib/es6/ClipPath.js +9 -23
  88. package/lib/es6/ClipPath.js.map +1 -1
  89. package/lib/es6/Donut.js +77 -141
  90. package/lib/es6/Donut.js.map +1 -1
  91. package/lib/es6/Dots.js +29 -46
  92. package/lib/es6/Dots.js.map +1 -1
  93. package/lib/es6/GroupBar.js +5 -15
  94. package/lib/es6/GroupBar.js.map +1 -1
  95. package/lib/es6/HorizontalBar.js +43 -75
  96. package/lib/es6/HorizontalBar.js.map +1 -1
  97. package/lib/es6/Hover.js +33 -85
  98. package/lib/es6/Hover.js.map +1 -1
  99. package/lib/es6/Line.js +42 -67
  100. package/lib/es6/Line.js.map +1 -1
  101. package/lib/es6/Plot.js +27 -66
  102. package/lib/es6/Plot.js.map +1 -1
  103. package/lib/es6/Radar.js +153 -282
  104. package/lib/es6/Radar.js.map +1 -1
  105. package/lib/es6/RadialTree.js +105 -203
  106. package/lib/es6/RadialTree.js.map +1 -1
  107. package/lib/es6/ReferenceLine.js +45 -79
  108. package/lib/es6/ReferenceLine.js.map +1 -1
  109. package/lib/es6/ResponsiveContainer.js +9 -28
  110. package/lib/es6/ResponsiveContainer.js.map +1 -1
  111. package/lib/es6/ScatterPlot.js +34 -65
  112. package/lib/es6/ScatterPlot.js.map +1 -1
  113. package/lib/es6/StackBar.js +9 -26
  114. package/lib/es6/StackBar.js.map +1 -1
  115. package/lib/es6/StackedArea.js +5 -18
  116. package/lib/es6/StackedArea.js.map +1 -1
  117. package/lib/es6/Tooltip.js +27 -63
  118. package/lib/es6/Tooltip.js.map +1 -1
  119. package/lib/es6/Venn.js +32 -64
  120. package/lib/es6/Venn.js.map +1 -1
  121. package/lib/es6/a11y/PlotA11yModule.js +18 -52
  122. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  123. package/lib/es6/a11y/PlotA11yView.js +19 -53
  124. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  125. package/lib/es6/a11y/bezier.js +0 -5
  126. package/lib/es6/a11y/bezier.js.map +1 -1
  127. package/lib/es6/a11y/focus.js +2 -9
  128. package/lib/es6/a11y/focus.js.map +1 -1
  129. package/lib/es6/a11y/hints.js +0 -3
  130. package/lib/es6/a11y/hints.js.map +1 -1
  131. package/lib/es6/a11y/insights.js +21 -133
  132. package/lib/es6/a11y/insights.js.map +1 -1
  133. package/lib/es6/a11y/intl.js +0 -1
  134. package/lib/es6/a11y/intl.js.map +1 -1
  135. package/lib/es6/a11y/locale.js +4 -18
  136. package/lib/es6/a11y/locale.js.map +1 -1
  137. package/lib/es6/a11y/serialize.js +23 -74
  138. package/lib/es6/a11y/serialize.js.map +1 -1
  139. package/lib/es6/a11y/summarize.js.map +1 -1
  140. package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  141. package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  142. package/lib/es6/color.js +0 -1
  143. package/lib/es6/color.js.map +1 -1
  144. package/lib/es6/createElement.js +18 -34
  145. package/lib/es6/createElement.js.map +1 -1
  146. package/lib/es6/index.js.map +1 -1
  147. package/lib/es6/types/Plot.d.js.map +1 -1
  148. package/lib/es6/types/index.d.js +5 -3
  149. package/lib/es6/types/index.d.js.map +1 -1
  150. package/lib/es6/utils.js +7 -28
  151. package/lib/es6/utils.js.map +1 -1
  152. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath"],"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":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,eAAP,IAA0BC,SAA1B,QAA2C,eAA3C;AACA,OAAOC,eAAP,MAA4B,oCAA5B;;IAEMC,Q;;;;;;;;;;;;;;;;+EAQUJ,KAAK,CAACK,SAAN,E;;;;;;;WAEd,2BAAkB;MAChB,oBAAqC,KAAKC,OAA1C;MAAA,IAAQC,EAAR,iBAAQA,EAAR;MAAA,IAAYC,GAAZ,iBAAYA,GAAZ;MAAA,IAAiBC,eAAjB,iBAAiBA,eAAjB;;MACA,IAAIA,eAAJ,EAAqB;QACnBC,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,YAA8BN,EAA9B,cAAoCC,GAApC,EAAX,EAAuDM,OAAvD,CAA+DL,eAA/D;MACD;IACF;;;WAED,6BAAoB;MAClB,IAAQF,EAAR,GAAe,KAAKD,OAApB,CAAQC,EAAR;MACA,IAAI,CAACK,QAAD,IAAa,CAACL,EAAd,IAAoB,CAACK,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,EAAzB,EAA2D;MAC3D,IAAMS,GAAG,GAAGJ,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,GAAiCU,OAAjC,CAAyC,KAAzC,CAAZ;MACAP,KAAK,CAACC,IAAN,CAAWK,GAAG,CAACH,gBAAJ,6BAAyCN,EAAzC,UAAX,EAA8DO,OAA9D,CAAsE,UAACI,IAAD,EAAU;QAC9EA,IAAI,IAAIA,IAAI,CAACC,cAAb,IAA+BD,IAAI,CAACC,cAAL,EAA/B;MACD,CAFD;MAGA,KAAKV,eAAL;IACD;;;WAED,8BAAqB;MACnB,KAAKA,eAAL;IACD;;;WAED,kBAAS;MACP;MACA,qBAAiE,KAAKH,OAAtE;MAAA,IAAQC,EAAR,kBAAQA,EAAR;MAAA,IAAYa,UAAZ,kBAAYA,UAAZ;MAAA,IAA6BC,GAA7B,kBAAwBb,GAAxB;MAAA,IAAkCc,KAAlC,kBAAkCA,KAAlC;MAAA,IAAyCC,SAAzC,kBAAyCA,SAAzC;MAAA,IAAuDC,KAAvD;;MACA,oBACE;QAAU,mBAAV;QAAsB,GAAG,EAAE,KAAKC,WAAhC;QAA6C,EAAE,EAAElB;MAAjD,gBACE,oBAAC,GAAD;QAAK,KAAK,kCAAOe,KAAP;UAAcF,UAAU,EAAVA;QAAd;MAAV,GAA0CjB,eAAe,CAACqB,KAAD,EAAQH,GAAR,CAAzD,EADF,CADF;IAKD;;;;EAvCoBnB,S;;gBAAjBE,Q,kBACkB;EACpBI,GAAG,EAAE,MADe;EAEpBD,EAAE,EAAE,EAFgB;EAGpBa,UAAU,EAAE,EAHQ;EAIpBX,eAAe,EAAE;AAJG,C;;AAyCxB,eAAeR,eAAe,CAACG,QAAD,CAA9B"}
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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"}
package/lib/es6/Donut.js CHANGED
@@ -18,34 +18,24 @@ import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
18
18
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
19
19
  import createElement from './createElement';
20
20
  import { CONSTANT } from './utils';
21
-
22
21
  /*__reshadow-styles__:"./style/donut.shadow.css"*/
23
- var style = (
24
- /*__reshadow_css_start__*/
25
- _sstyled.insert(
26
- /*__inner_css_start__*/
27
- ".___SPie_175k4_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_175k4_gg_.__color_175k4_gg_{fill:var(--color_175k4)}.___SPie_175k4_gg_.__transparent_175k4_gg_{opacity:.3}.___SEmptyData_175k4_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_175k4_gg_.__color_175k4_gg_{fill:var(--color_175k4)}.___SLabel_175k4_gg_{text-anchor:middle;vertical-anchor:middle}"
28
- /*__inner_css_end__*/
29
- , "175k4_gg_")
30
- /*__reshadow_css_end__*/
31
- , {
32
- "__SPie": "___SPie_175k4_gg_",
33
- "_color": "__color_175k4_gg_",
34
- "--color": "--color_175k4",
35
- "_transparent": "__transparent_175k4_gg_",
36
- "__SEmptyData": "___SEmptyData_175k4_gg_",
37
- "__SLabel": "___SLabel_175k4_gg_"
22
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_1csoy_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_1csoy_gg_.__color_1csoy_gg_{fill:var(--color_1csoy)}.___SPie_1csoy_gg_.__transparent_1csoy_gg_{opacity:.3}.___SEmptyData_1csoy_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_1csoy_gg_.__color_1csoy_gg_{fill:var(--color_1csoy)}.___SLabel_1csoy_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "1csoy_gg_") /*__reshadow_css_end__*/, {
23
+ "__SPie": "___SPie_1csoy_gg_",
24
+ "_color": "__color_1csoy_gg_",
25
+ "--color": "--color_1csoy",
26
+ "_transparent": "__transparent_1csoy_gg_",
27
+ "__SEmptyData": "___SEmptyData_1csoy_gg_",
28
+ "__SLabel": "___SLabel_1csoy_gg_"
38
29
  });
39
30
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
40
-
41
31
  function transitionAnglePie(_ref4) {
42
32
  var selector = _ref4.selector,
43
- duration = _ref4.duration,
44
- halfsize = _ref4.halfsize,
45
- d3Arc = _ref4.d3Arc,
46
- d3ArcOut = _ref4.d3ArcOut,
47
- arcs = _ref4.arcs,
48
- activeIndexPie = _ref4.activeIndexPie;
33
+ duration = _ref4.duration,
34
+ halfsize = _ref4.halfsize,
35
+ d3Arc = _ref4.d3Arc,
36
+ d3ArcOut = _ref4.d3ArcOut,
37
+ arcs = _ref4.arcs,
38
+ activeIndexPie = _ref4.activeIndexPie;
49
39
  return transition().selection().selectAll(selector).interrupt().transition().duration(duration).attrTween('d', function (_, ind) {
50
40
  if (!arcs[ind]) return function () {
51
41
  return '';
@@ -55,12 +45,10 @@ function transitionAnglePie(_ref4) {
55
45
  var initAngle = halfsize ? -Math.PI / 2 : 0;
56
46
  var prevStartAngle = initAngle;
57
47
  var prevEndAngle = initAngle;
58
-
59
48
  if (self.arc) {
60
49
  prevStartAngle = self.arc.startAngle;
61
50
  prevEndAngle = self.arc.endAngle;
62
51
  }
63
-
64
52
  var iStartAngle = interpolate(prevStartAngle, d.startAngle);
65
53
  var iEndAngle = interpolate(prevEndAngle, d.endAngle);
66
54
  return function (t) {
@@ -71,18 +59,16 @@ function transitionAnglePie(_ref4) {
71
59
  };
72
60
  });
73
61
  }
74
-
75
62
  function transitionRadiusPie(_ref5) {
76
63
  var data = _ref5.data,
77
- selector = _ref5.selector,
78
- duration = _ref5.duration,
79
- innerRadius = _ref5.innerRadius,
80
- outerRadiusMinMax = _ref5.outerRadiusMinMax;
64
+ selector = _ref5.selector,
65
+ duration = _ref5.duration,
66
+ innerRadius = _ref5.innerRadius,
67
+ outerRadiusMinMax = _ref5.outerRadiusMinMax;
81
68
  return transition().selection().select(selector).interrupt().transition().duration(duration).attrTween('d', function () {
82
69
  var _outerRadiusMinMax = _slicedToArray(outerRadiusMinMax, 2),
83
- min = _outerRadiusMinMax[0],
84
- max = _outerRadiusMinMax[1];
85
-
70
+ min = _outerRadiusMinMax[0],
71
+ max = _outerRadiusMinMax[1];
86
72
  var iOuterRadius = interpolate(min, max);
87
73
  return function (t) {
88
74
  var d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));
@@ -90,71 +76,55 @@ function transitionRadiusPie(_ref5) {
90
76
  };
91
77
  });
92
78
  }
93
-
94
79
  var increaseFactor = 8;
95
-
96
80
  function getOuterRadius(_ref6) {
97
81
  var size = _ref6.size,
98
- halfsize = _ref6.halfsize,
99
- outerRadius = _ref6.outerRadius;
100
-
82
+ halfsize = _ref6.halfsize,
83
+ outerRadius = _ref6.outerRadius;
101
84
  var _size = _slicedToArray(size, 2),
102
- width = _size[0],
103
- height = _size[1];
104
-
85
+ width = _size[0],
86
+ height = _size[1];
105
87
  var minORmax = halfsize ? Math.max : Math.min;
106
88
  return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;
107
89
  }
108
-
109
90
  var DonutRoot = /*#__PURE__*/function (_Component) {
110
91
  _inherits(DonutRoot, _Component);
111
-
112
92
  var _super = _createSuper(DonutRoot);
113
-
114
93
  function DonutRoot() {
115
94
  var _this;
116
-
117
95
  _classCallCheck(this, DonutRoot);
118
-
119
96
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
120
97
  args[_key] = arguments[_key];
121
98
  }
122
-
123
99
  _this = _super.call.apply(_super, [this].concat(args));
124
-
125
100
  _defineProperty(_assertThisInitialized(_this), "virtualElement", canUseDOM() ? document.createElement('div') : {});
126
-
127
101
  _defineProperty(_assertThisInitialized(_this), "activeIndexPie", undefined);
128
-
129
102
  _defineProperty(_assertThisInitialized(_this), "canAnimatedHover", false);
130
-
131
103
  _defineProperty(_assertThisInitialized(_this), "bindHandlerTooltip", function (visible, props) {
132
104
  return function (_ref7) {
133
105
  var x = _ref7.clientX,
134
- y = _ref7.clientY;
106
+ y = _ref7.clientY;
135
107
  var eventEmitter = _this.asProps.eventEmitter;
136
108
  _this.virtualElement.getBoundingClientRect = _this.generateGetBoundingClientRect(x, y);
137
109
  _this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;
138
110
  eventEmitter.emit('onTooltipVisible', visible, props, _this.virtualElement);
139
111
  };
140
112
  });
141
-
142
113
  _defineProperty(_assertThisInitialized(_this), "animationActivePie", function (_ref8) {
143
114
  var data = _ref8.data,
144
- active = _ref8.active,
145
- selector = _ref8.selector;
115
+ active = _ref8.active,
116
+ selector = _ref8.selector;
146
117
  var _this$asProps = _this.asProps,
147
- duration = _this$asProps.duration,
148
- innerRadius = _this$asProps.innerRadius,
149
- _outerRadius = _this$asProps.outerRadius,
150
- size = _this$asProps.size,
151
- halfsize = _this$asProps.halfsize;
118
+ duration = _this$asProps.duration,
119
+ innerRadius = _this$asProps.innerRadius,
120
+ _outerRadius = _this$asProps.outerRadius,
121
+ size = _this$asProps.size,
122
+ halfsize = _this$asProps.halfsize;
152
123
  var outerRadius = getOuterRadius({
153
124
  size: size,
154
125
  halfsize: halfsize,
155
126
  outerRadius: _outerRadius
156
127
  });
157
-
158
128
  if (_this.canAnimatedHover) {
159
129
  if (duration > 0) {
160
130
  transitionRadiusPie({
@@ -167,15 +137,13 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
167
137
  }
168
138
  }
169
139
  });
170
-
171
140
  _defineProperty(_assertThisInitialized(_this), "animationUpdatePie", function () {
172
141
  var _this$asProps2 = _this.asProps,
173
- duration = _this$asProps2.duration,
174
- d3Arc = _this$asProps2.d3Arc,
175
- halfsize = _this$asProps2.halfsize,
176
- d3ArcOut = _this$asProps2.d3ArcOut;
142
+ duration = _this$asProps2.duration,
143
+ d3Arc = _this$asProps2.d3Arc,
144
+ halfsize = _this$asProps2.halfsize,
145
+ d3ArcOut = _this$asProps2.d3ArcOut;
177
146
  _this.canAnimatedHover = false;
178
-
179
147
  if (duration > 0) {
180
148
  transitionAnglePie({
181
149
  selector: "#".concat(_this.id, " [data-ui-name=\"Donut.Pie\"]"),
@@ -192,16 +160,14 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
192
160
  _this.canAnimatedHover = true;
193
161
  }
194
162
  });
195
-
196
163
  return _this;
197
164
  }
198
-
199
165
  _createClass(DonutRoot, [{
200
166
  key: "id",
201
167
  get: function get() {
202
168
  var _this$asProps3 = this.asProps,
203
- uid = _this$asProps3.uid,
204
- id = _this$asProps3.id;
169
+ uid = _this$asProps3.uid,
170
+ id = _this$asProps3.id;
205
171
  return id || uid;
206
172
  }
207
173
  }, {
@@ -224,35 +190,29 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
224
190
  key: "getArcs",
225
191
  value: function getArcs() {
226
192
  var _this$asProps4 = this.asProps,
227
- Children = _this$asProps4.Children,
228
- data = _this$asProps4.data,
229
- d3Pie = _this$asProps4.d3Pie;
193
+ Children = _this$asProps4.Children,
194
+ data = _this$asProps4.data,
195
+ d3Pie = _this$asProps4.d3Pie;
230
196
  var pieData = Object.entries(data);
231
-
232
197
  if (d3Pie[DEFAULT_INSTANCE]) {
233
198
  var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
234
199
  if ( /*#__PURE__*/React.isValidElement(child) && child.type === Donut.Pie) {
235
200
  acc.push(child.props.dataKey);
236
201
  }
237
-
238
202
  return acc;
239
203
  }, []);
240
204
  pieData = Object.entries(data).filter(function (_ref9) {
241
205
  var _ref10 = _slicedToArray(_ref9, 1),
242
- key = _ref10[0];
243
-
206
+ key = _ref10[0];
244
207
  return keys.includes(key);
245
208
  }).sort(function (_ref11, _ref12) {
246
209
  var _ref13 = _slicedToArray(_ref11, 1),
247
- a = _ref13[0];
248
-
210
+ a = _ref13[0];
249
211
  var _ref14 = _slicedToArray(_ref12, 1),
250
- b = _ref14[0];
251
-
212
+ b = _ref14[0];
252
213
  return keys.indexOf(a) > keys.indexOf(b) ? 1 : -1;
253
214
  });
254
215
  }
255
-
256
216
  var minValue = pieData.reduce(function (acc, cur) {
257
217
  if (cur[1]) acc += cur[1];
258
218
  return acc;
@@ -267,19 +227,16 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
267
227
  key: "getPieProps",
268
228
  value: function getPieProps(props, ind) {
269
229
  var _this2 = this;
270
-
271
230
  var _this$asProps5 = this.asProps,
272
- d3Arc = _this$asProps5.d3Arc,
273
- d3ArcOut = _this$asProps5.d3ArcOut;
231
+ d3Arc = _this$asProps5.d3Arc,
232
+ d3ArcOut = _this$asProps5.d3ArcOut;
274
233
  var active = props.active;
275
234
  var data = this.arcs.find(function (arc) {
276
235
  return arc.data[0] === props.dataKey;
277
236
  });
278
-
279
237
  if (active) {
280
238
  this.activeIndexPie = ind;
281
239
  }
282
-
283
240
  return {
284
241
  data: data,
285
242
  d3Arc: d3Arc,
@@ -319,7 +276,6 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
319
276
  key: "componentDidUpdate",
320
277
  value: function componentDidUpdate(prevProps) {
321
278
  var data = this.asProps.data;
322
-
323
279
  if (prevProps.$rootProps.data !== data) {
324
280
  this.animationUpdatePie();
325
281
  }
@@ -333,14 +289,12 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
333
289
  key: "render",
334
290
  value: function render() {
335
291
  var _this$asProps6 = this.asProps,
336
- halfsize = _this$asProps6.halfsize,
337
- size = _this$asProps6.size;
292
+ halfsize = _this$asProps6.halfsize,
293
+ size = _this$asProps6.size;
338
294
  this.asProps.dataHintsHandler.establishDataType('values-set');
339
-
340
295
  var _size2 = _slicedToArray(size, 2),
341
- width = _size2[0],
342
- height = _size2[1];
343
-
296
+ width = _size2[0],
297
+ height = _size2[1];
344
298
  var Element = this.Element;
345
299
  var k = halfsize ? 1 : 2;
346
300
  this.arcs = this.getArcs();
@@ -353,23 +307,18 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
353
307
  });
354
308
  }
355
309
  }]);
356
-
357
310
  return DonutRoot;
358
311
  }(Component);
359
-
360
312
  _defineProperty(DonutRoot, "displayName", 'Donut');
361
-
362
313
  _defineProperty(DonutRoot, "style", style);
363
-
364
314
  _defineProperty(DonutRoot, "enhance", [uniqueIDEnhancement()]);
365
-
366
315
  _defineProperty(DonutRoot, "defaultProps", function (_ref18) {
367
316
  var _ref18$innerRadius = _ref18.innerRadius,
368
- innerRadius = _ref18$innerRadius === void 0 ? 0 : _ref18$innerRadius,
369
- outerRadius = _ref18.outerRadius,
370
- _ref18$halfsize = _ref18.halfsize,
371
- halfsize = _ref18$halfsize === void 0 ? false : _ref18$halfsize,
372
- size = _ref18.$rootProps.size;
317
+ innerRadius = _ref18$innerRadius === void 0 ? 0 : _ref18$innerRadius,
318
+ outerRadius = _ref18.outerRadius,
319
+ _ref18$halfsize = _ref18.halfsize,
320
+ halfsize = _ref18$halfsize === void 0 ? false : _ref18$halfsize,
321
+ size = _ref18.$rootProps.size;
373
322
  var d3Arc = arc().outerRadius(getOuterRadius({
374
323
  size: size,
375
324
  halfsize: halfsize,
@@ -382,16 +331,13 @@ _defineProperty(DonutRoot, "defaultProps", function (_ref18) {
382
331
  }) + increaseFactor).innerRadius(innerRadius);
383
332
  var d3Pie = pie().sort(null).value(function (_ref19) {
384
333
  var _ref20 = _slicedToArray(_ref19, 2),
385
- value = _ref20[1];
386
-
334
+ value = _ref20[1];
387
335
  return value;
388
336
  });
389
337
  d3Pie[DEFAULT_INSTANCE] = true;
390
-
391
338
  if (halfsize) {
392
339
  d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);
393
340
  }
394
-
395
341
  return {
396
342
  d3Pie: d3Pie,
397
343
  d3Arc: d3Arc,
@@ -399,36 +345,31 @@ _defineProperty(DonutRoot, "defaultProps", function (_ref18) {
399
345
  duration: 500
400
346
  };
401
347
  });
402
-
403
348
  function Pie(_ref15) {
404
349
  var _ref;
405
-
406
350
  var SPie = _ref15.Element,
407
- styles = _ref15.styles,
408
- d3Arc = _ref15.d3Arc,
409
- data = _ref15.data,
410
- color = _ref15.color,
411
- $animationActivePie = _ref15.$animationActivePie,
412
- active = _ref15.active,
413
- d3ArcOut = _ref15.d3ArcOut,
414
- name = _ref15.name,
415
- dataKey = _ref15.dataKey,
416
- dataHintsHandler = _ref15.dataHintsHandler,
417
- transparent = _ref15.transparent,
418
- other = _objectWithoutProperties(_ref15, _excluded);
419
-
351
+ styles = _ref15.styles,
352
+ d3Arc = _ref15.d3Arc,
353
+ data = _ref15.data,
354
+ color = _ref15.color,
355
+ $animationActivePie = _ref15.$animationActivePie,
356
+ active = _ref15.active,
357
+ d3ArcOut = _ref15.d3ArcOut,
358
+ name = _ref15.name,
359
+ dataKey = _ref15.dataKey,
360
+ dataHintsHandler = _ref15.dataHintsHandler,
361
+ transparent = _ref15.transparent,
362
+ other = _objectWithoutProperties(_ref15, _excluded);
420
363
  var _useState = useState(false),
421
- _useState2 = _slicedToArray(_useState, 2),
422
- isMount = _useState2[0],
423
- setIsMount = _useState2[1];
424
-
364
+ _useState2 = _slicedToArray(_useState, 2),
365
+ isMount = _useState2[0],
366
+ setIsMount = _useState2[1];
425
367
  useEffect(function () {
426
368
  // do not run animation on first render
427
369
  if (!isMount) {
428
370
  setIsMount(true);
429
371
  return;
430
372
  }
431
-
432
373
  if (active !== undefined && active !== null) {
433
374
  $animationActivePie({
434
375
  active: active,
@@ -446,14 +387,12 @@ function Pie(_ref15) {
446
387
  "transparent": transparent
447
388
  }));
448
389
  }
449
-
450
390
  function EmptyData(_ref16) {
451
391
  var _ref2;
452
-
453
392
  var SEmptyData = _ref16.Element,
454
- styles = _ref16.styles,
455
- d3Arc = _ref16.d3Arc,
456
- color = _ref16.color;
393
+ styles = _ref16.styles,
394
+ d3Arc = _ref16.d3Arc,
395
+ color = _ref16.color;
457
396
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SEmptyData, _ref2.cn("SEmptyData", {
458
397
  "render": 'path',
459
398
  "color": color,
@@ -463,15 +402,13 @@ function EmptyData(_ref16) {
463
402
  })
464
403
  }));
465
404
  }
466
-
467
405
  function Label(_ref17) {
468
406
  var _ref3;
469
-
470
407
  var SLabel = _ref17.Element,
471
- styles = _ref17.styles,
472
- Children = _ref17.Children,
473
- children = _ref17.children,
474
- dataHintsHandler = _ref17.dataHintsHandler;
408
+ styles = _ref17.styles,
409
+ Children = _ref17.Children,
410
+ children = _ref17.children,
411
+ dataHintsHandler = _ref17.dataHintsHandler;
475
412
  dataHintsHandler.setTitle('vertical', children);
476
413
  return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SLabel, _ref3.cn("SLabel", {
477
414
  "render": 'text',
@@ -480,7 +417,6 @@ function Label(_ref17) {
480
417
  "aria-hidden": true
481
418
  }), /*#__PURE__*/React.createElement(Children, _ref3.cn("Children", {})));
482
419
  }
483
-
484
420
  var Donut = createElement(DonutRoot, {
485
421
  Pie: Pie,
486
422
  Label: Label,
@@ -1 +1 @@
1
- {"version":3,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","DEFAULT_INSTANCE","Symbol","transitionAnglePie","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","data","innerRadius","outerRadiusMinMax","select","min","max","iOuterRadius","outerRadius","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","active","_outerRadius","canAnimatedHover","id","on","uid","top","right","bottom","left","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","animationUpdatePie","dataHintsHandler","establishDataType","Element","k","getArcs","style","value","SPie","styles","color","name","transparent","other","isMount","setIsMount","describeValueEntity","EmptyData","SEmptyData","Label","SLabel","children","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, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', 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","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","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, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', 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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"}