@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.
- package/CHANGELOG.md +12 -0
- package/lib/cjs/Area.js +59 -97
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +76 -143
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +49 -96
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +39 -81
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +9 -35
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +77 -152
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +29 -57
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +5 -26
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +43 -84
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -88
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +42 -78
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +27 -73
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +153 -278
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +105 -211
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +45 -87
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +9 -38
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +34 -74
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +9 -38
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +5 -29
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +27 -76
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +32 -75
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +18 -71
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +19 -83
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/bezier.js +0 -7
- package/lib/cjs/a11y/bezier.js.map +1 -1
- package/lib/cjs/a11y/focus.js +2 -11
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js +0 -13
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +21 -132
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +0 -6
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +4 -22
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +23 -83
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/a11y/summarize.js +0 -4
- package/lib/cjs/a11y/summarize.js.map +1 -1
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/color.js +0 -3
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +18 -47
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +0 -23
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +0 -39
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +7 -59
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +59 -86
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +76 -135
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +49 -86
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +39 -70
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +9 -23
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +77 -141
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +29 -46
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +5 -15
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +43 -75
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +33 -85
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +42 -67
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +27 -66
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +153 -282
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +105 -203
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +45 -79
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +9 -28
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +34 -65
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +9 -26
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +5 -18
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +27 -63
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +32 -64
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +18 -52
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +19 -53
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/bezier.js +0 -5
- package/lib/es6/a11y/bezier.js.map +1 -1
- package/lib/es6/a11y/focus.js +2 -9
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js +0 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +21 -133
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +0 -1
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +4 -18
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/a11y/serialize.js +23 -74
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/a11y/summarize.js.map +1 -1
- package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/color.js +0 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +18 -34
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/index.d.js +5 -3
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +7 -28
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/es6/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","createRef","
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
84
|
-
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
82
|
+
halfsize = _ref6.halfsize,
|
|
83
|
+
outerRadius = _ref6.outerRadius;
|
|
101
84
|
var _size = _slicedToArray(size, 2),
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
|
|
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
|
-
|
|
145
|
-
|
|
115
|
+
active = _ref8.active,
|
|
116
|
+
selector = _ref8.selector;
|
|
146
117
|
var _this$asProps = _this.asProps,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
-
|
|
204
|
-
|
|
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
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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
|
-
|
|
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
|
-
|
|
248
|
-
|
|
210
|
+
a = _ref13[0];
|
|
249
211
|
var _ref14 = _slicedToArray(_ref12, 1),
|
|
250
|
-
|
|
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
|
-
|
|
273
|
-
|
|
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
|
-
|
|
337
|
-
|
|
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
|
-
|
|
342
|
-
|
|
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
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
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
|
-
|
|
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
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
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
|
-
|
|
422
|
-
|
|
423
|
-
|
|
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
|
-
|
|
455
|
-
|
|
456
|
-
|
|
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
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
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,
|
package/lib/es6/Donut.js.map
CHANGED
|
@@ -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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"}
|